aboutsummaryrefslogtreecommitdiff
path: root/js/tests/unit/offcanvas.spec.js
diff options
context:
space:
mode:
authorPatrick H. Lauke <[email protected]>2022-01-05 17:20:15 +0000
committerGitHub <[email protected]>2022-01-05 19:20:15 +0200
commit0d054bb0f1484dbc0c778d3643e96e37ff46d708 (patch)
treede1cbfd7831b1a8487e1fefe8312c9ed6b6cc215 /js/tests/unit/offcanvas.spec.js
parentf7a1b183209affbec48af744006f330bac5ddd98 (diff)
downloadbootstrap-0d054bb0f1484dbc0c778d3643e96e37ff46d708.tar.xz
bootstrap-0d054bb0f1484dbc0c778d3643e96e37ff46d708.zip
Remove explicit use of aria-hidden for offcanvas when closed (#35589)
Remove explicit use of aria-hidden & visibility for offcanvas when closed, handling it with css Co-authored-by: GeoSot <[email protected]> Co-authored-by: GaĆ«l Poupard <[email protected]>
Diffstat (limited to 'js/tests/unit/offcanvas.spec.js')
-rw-r--r--js/tests/unit/offcanvas.spec.js59
1 files changed, 53 insertions, 6 deletions
diff --git a/js/tests/unit/offcanvas.spec.js b/js/tests/unit/offcanvas.spec.js
index f4b0b6482..f87527fb2 100644
--- a/js/tests/unit/offcanvas.spec.js
+++ b/js/tests/unit/offcanvas.spec.js
@@ -242,23 +242,46 @@ describe('Offcanvas', () => {
expect(offCanvas.show).toHaveBeenCalled()
})
- it('should call hide method if show class is present', () => {
+ it('should call hide method if show class is present', done => {
fixtureEl.innerHTML = '<div class="offcanvas"></div>'
const offCanvasEl = fixtureEl.querySelector('.offcanvas')
const offCanvas = new Offcanvas(offCanvasEl)
- offCanvas.show()
- expect(offCanvasEl).toHaveClass('show')
- spyOn(offCanvas, 'hide')
+ offCanvasEl.addEventListener('shown.bs.offcanvas', () => {
+ expect(offCanvasEl).toHaveClass('show')
+ spyOn(offCanvas, 'hide')
- offCanvas.toggle()
+ offCanvas.toggle()
- expect(offCanvas.hide).toHaveBeenCalled()
+ expect(offCanvas.hide).toHaveBeenCalled()
+ done()
+ })
+
+ offCanvas.show()
})
})
describe('show', () => {
+ it('should add `showing` class during opening and `show` class on end', done => {
+ fixtureEl.innerHTML = '<div class="offcanvas"></div>'
+ const offCanvasEl = fixtureEl.querySelector('.offcanvas')
+ const offCanvas = new Offcanvas(offCanvasEl)
+
+ offCanvasEl.addEventListener('show.bs.offcanvas', () => {
+ expect(offCanvasEl).not.toHaveClass('show')
+ })
+
+ offCanvasEl.addEventListener('shown.bs.offcanvas', () => {
+ expect(offCanvasEl).not.toHaveClass('showing')
+ expect(offCanvasEl).toHaveClass('show')
+ done()
+ })
+
+ offCanvas.show()
+ expect(offCanvasEl).toHaveClass('showing')
+ })
+
it('should do nothing if already shown', () => {
fixtureEl.innerHTML = '<div class="offcanvas show"></div>'
@@ -353,6 +376,30 @@ describe('Offcanvas', () => {
})
describe('hide', () => {
+ it('should add `hiding` class during closing and remover `show` & `hiding` classes on end', done => {
+ fixtureEl.innerHTML = '<div class="offcanvas"></div>'
+ const offCanvasEl = fixtureEl.querySelector('.offcanvas')
+ const offCanvas = new Offcanvas(offCanvasEl)
+
+ offCanvasEl.addEventListener('hide.bs.offcanvas', () => {
+ expect(offCanvasEl).not.toHaveClass('showing')
+ expect(offCanvasEl).toHaveClass('show')
+ })
+
+ offCanvasEl.addEventListener('hidden.bs.offcanvas', () => {
+ expect(offCanvasEl).not.toHaveClass('hiding')
+ expect(offCanvasEl).not.toHaveClass('show')
+ done()
+ })
+
+ offCanvas.show()
+ offCanvasEl.addEventListener('shown.bs.offcanvas', () => {
+ offCanvas.hide()
+ expect(offCanvasEl).not.toHaveClass('showing')
+ expect(offCanvasEl).toHaveClass('hiding')
+ })
+ })
+
it('should do nothing if already shown', () => {
fixtureEl.innerHTML = '<div class="offcanvas"></div>'