Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js/tests
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@gmail.com>2020-11-10 17:04:33 +0300
committerXhmikosR <xhmikosr@gmail.com>2020-11-30 13:07:51 +0300
commitdd992c722625a48d534a3a1e8c6edee38e91685d (patch)
tree46522212d630a230d747fd97aaf1c50a2ac2e325 /js/tests
parentadc857f617bfebe05d8f2ec294b1b2e37fac6cd8 (diff)
Add tests
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/unit/tooltip.spec.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/js/tests/unit/tooltip.spec.js b/js/tests/unit/tooltip.spec.js
index e8572b3001..b119807511 100644
--- a/js/tests/unit/tooltip.spec.js
+++ b/js/tests/unit/tooltip.spec.js
@@ -1050,6 +1050,59 @@ describe('Tooltip', () => {
})
})
+ describe('aria-label', () => {
+ it('should add the aria-label attribute for referencing original title', done => {
+ fixtureEl.innerHTML = '<a href="#" rel="tooltip" title="Another tooltip"></a>'
+
+ const tooltipEl = fixtureEl.querySelector('a')
+ const tooltip = new Tooltip(tooltipEl)
+
+ tooltipEl.addEventListener('shown.bs.tooltip', () => {
+ const tooltipShown = document.querySelector('.tooltip')
+
+ expect(tooltipShown).toBeDefined()
+ expect(tooltipEl.getAttribute('aria-label')).toEqual('Another tooltip')
+ done()
+ })
+
+ tooltip.show()
+ })
+
+ it('should not add the aria-label attribute if the attribute already exists', done => {
+ fixtureEl.innerHTML = '<a href="#" rel="tooltip" aria-label="Different label" title="Another tooltip"></a>'
+
+ const tooltipEl = fixtureEl.querySelector('a')
+ const tooltip = new Tooltip(tooltipEl)
+
+ tooltipEl.addEventListener('shown.bs.tooltip', () => {
+ const tooltipShown = document.querySelector('.tooltip')
+
+ expect(tooltipShown).toBeDefined()
+ expect(tooltipEl.getAttribute('aria-label')).toEqual('Different label')
+ done()
+ })
+
+ tooltip.show()
+ })
+
+ it('should not add the aria-label attribute if the element has text content', done => {
+ fixtureEl.innerHTML = '<a href="#" rel="tooltip" title="Another tooltip">text content</a>'
+
+ const tooltipEl = fixtureEl.querySelector('a')
+ const tooltip = new Tooltip(tooltipEl)
+
+ tooltipEl.addEventListener('shown.bs.tooltip', () => {
+ const tooltipShown = document.querySelector('.tooltip')
+
+ expect(tooltipShown).toBeDefined()
+ expect(tooltipEl.getAttribute('aria-label')).toBeNull()
+ done()
+ })
+
+ tooltip.show()
+ })
+ })
+
describe('jQueryInterface', () => {
it('should create a tooltip', () => {
fixtureEl.innerHTML = '<div></div>'