From 079f2cd90c247225eb71dff4d514faf50f653416 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Tue, 20 Apr 2021 08:32:52 +0300 Subject: Offcanvas.js: If scroll is allowed, should allow focus on other elements (#33677) --- js/tests/unit/offcanvas.spec.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'js/tests') diff --git a/js/tests/unit/offcanvas.spec.js b/js/tests/unit/offcanvas.spec.js index 67831ad24..2419e5723 100644 --- a/js/tests/unit/offcanvas.spec.js +++ b/js/tests/unit/offcanvas.spec.js @@ -220,6 +220,24 @@ describe('Offcanvas', () => { offCanvas.show() }) + + it('should not enforce focus if focus scroll is allowed', done => { + fixtureEl.innerHTML = '
' + + const offCanvasEl = fixtureEl.querySelector('.offcanvas') + const offCanvas = new Offcanvas(offCanvasEl, { + scroll: true + }) + + spyOn(offCanvas, '_enforceFocusOnElement') + + offCanvasEl.addEventListener('shown.bs.offcanvas', () => { + expect(offCanvas._enforceFocusOnElement).not.toHaveBeenCalled() + done() + }) + + offCanvas.show() + }) }) describe('toggle', () => { @@ -328,6 +346,22 @@ describe('Offcanvas', () => { expect(instance).not.toBeNull() expect(Offcanvas.prototype.show).toHaveBeenCalled() }) + + it('should enforce focus', done => { + fixtureEl.innerHTML = '
' + + const offCanvasEl = fixtureEl.querySelector('.offcanvas') + const offCanvas = new Offcanvas(offCanvasEl) + + spyOn(offCanvas, '_enforceFocusOnElement') + + offCanvasEl.addEventListener('shown.bs.offcanvas', () => { + expect(offCanvas._enforceFocusOnElement).toHaveBeenCalled() + done() + }) + + offCanvas.show() + }) }) describe('hide', () => { -- cgit v1.2.3