diff options
| author | GeoSot <[email protected]> | 2021-08-03 11:59:33 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-08-03 11:59:33 +0300 |
| commit | a6a2d1e2df4f97486d1715a709f40f85193c4ef6 (patch) | |
| tree | fc73eb520b8c4c28e5801cef0820e062d96ed115 /js/tests | |
| parent | 23fd488c380c347a3d0121a49b6285bdd65418a2 (diff) | |
| download | bootstrap-a6a2d1e2df4f97486d1715a709f40f85193c4ef6.tar.xz bootstrap-a6a2d1e2df4f97486d1715a709f40f85193c4ef6.zip | |
Regression on tooltip template creation process. (#34628)
* Regression on tooltip template creation process.
* check if template content does not exist, or given argument is empty
* call `setContent()` once.
Diffstat (limited to 'js/tests')
| -rw-r--r-- | js/tests/unit/popover.spec.js | 33 | ||||
| -rw-r--r-- | js/tests/unit/tooltip.spec.js | 4 |
2 files changed, 34 insertions, 3 deletions
diff --git a/js/tests/unit/popover.spec.js b/js/tests/unit/popover.spec.js index 5460528b4..c54fc49ee 100644 --- a/js/tests/unit/popover.spec.js +++ b/js/tests/unit/popover.spec.js @@ -1,7 +1,7 @@ import Popover from '../../src/popover' /** Test helpers */ -import { getFixture, clearFixture, jQueryMock } from '../helpers/fixture' +import { clearFixture, getFixture, jQueryMock } from '../helpers/fixture' describe('Popover', () => { let fixtureEl @@ -157,6 +157,37 @@ describe('Popover', () => { popover.show() }) + it('should call setContent once', done => { + fixtureEl.innerHTML = '<a href="#">BS twitter</a>' + + const popoverEl = fixtureEl.querySelector('a') + const popover = new Popover(popoverEl, { + content: 'Popover content' + }) + + const spy = spyOn(popover, 'setContent').and.callThrough() + let times = 1 + + popoverEl.addEventListener('hidden.bs.popover', () => { + popover.show() + }) + + popoverEl.addEventListener('shown.bs.popover', () => { + const popoverDisplayed = document.querySelector('.popover') + + expect(popoverDisplayed).not.toBeNull() + expect(popoverDisplayed.querySelector('.popover-body').textContent).toEqual('Popover content') + expect(spy).toHaveBeenCalledTimes(1) + if (times > 1) { + done() + } + + times++ + popover.hide() + }) + popover.show() + }) + it('should show a popover with provided custom class', done => { fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://twitter.com/getbootstrap" data-bs-custom-class="custom-class">BS twitter</a>' diff --git a/js/tests/unit/tooltip.spec.js b/js/tests/unit/tooltip.spec.js index f3f90c3a3..22a7edd01 100644 --- a/js/tests/unit/tooltip.spec.js +++ b/js/tests/unit/tooltip.spec.js @@ -1045,10 +1045,10 @@ describe('Tooltip', () => { const tooltipEl = fixtureEl.querySelector('a') const tooltip = new Tooltip(tooltipEl) - tooltip.setContent() - const tip = tooltip.getTipElement() + tooltip.setContent(tip) + expect(tip.classList.contains('show')).toEqual(false) expect(tip.classList.contains('fade')).toEqual(false) expect(tip.querySelector('.tooltip-inner').textContent).toEqual('Another tooltip') |
