diff --git a/js/tests/unit/modal.spec.js b/js/tests/unit/modal.spec.js index 99ebbe4b37b5..2bd723ea0255 100644 --- a/js/tests/unit/modal.spec.js +++ b/js/tests/unit/modal.spec.js @@ -16,6 +16,7 @@ describe('Modal', () => { clearFixture() document.body.classList.remove('modal-open') + document.documentElement.removeAttribute('style') document.body.removeAttribute('style') document.body.removeAttribute('data-bs-padding-right') @@ -23,12 +24,12 @@ describe('Modal', () => { .forEach(backdrop => { document.body.removeChild(backdrop) }) - - document.body.style.removeProperty('paddingRight') }) - afterAll(() => { - document.documentElement.style.removeProperty('paddingRight') + beforeEach(() => { + document.documentElement.removeAttribute('style') + document.body.removeAttribute('style') + document.body.removeAttribute('data-bs-padding-right') }) describe('VERSION', () => { @@ -104,7 +105,7 @@ describe('Modal', () => { const expectedPadding = originalPadding + getScrollBarWidth() const currentPadding = Number.parseInt(window.getComputedStyle(modalEl).paddingRight, 10) - expect(fixedEl.getAttribute('data-bs-padding-right')).toEqual('0px', 'original fixed element padding should be stored in data-bs-padding-right') + expect(fixedEl.getAttribute('data-bs-padding-right')).toEqual(`${originalPadding}px`, 'original fixed element padding should be stored in data-bs-padding-right') expect(currentPadding).toEqual(expectedPadding, 'fixed element padding should be adjusted while opening') modal.toggle() }) @@ -112,7 +113,7 @@ describe('Modal', () => { modalEl.addEventListener('hidden.bs.modal', () => { const currentPadding = Number.parseInt(window.getComputedStyle(modalEl).paddingRight, 10) - expect(fixedEl.getAttribute('data-bs-padding-right')).toEqual(null, 'data-bs-padding-right should be cleared after closing') + expect(fixedEl.hasAttribute('data-bs-padding-right')).toEqual(false, 'data-bs-padding-right should be cleared after closing') expect(currentPadding).toEqual(originalPadding, 'fixed element padding should be reset after closing') document.documentElement.style.overflowY = 'auto' done() @@ -138,7 +139,7 @@ describe('Modal', () => { const expectedMargin = originalMargin - getScrollBarWidth() const currentMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10) - expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual('0px', 'original sticky element margin should be stored in data-bs-margin-right') + expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual(`${originalMargin}px`, 'original sticky element margin should be stored in data-bs-margin-right') expect(currentMargin).toEqual(expectedMargin, 'sticky element margin should be adjusted while opening') modal.toggle() }) @@ -146,7 +147,7 @@ describe('Modal', () => { modalEl.addEventListener('hidden.bs.modal', () => { const currentMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10) - expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual(null, 'data-bs-margin-right should be cleared after closing') + expect(stickyTopEl.hasAttribute('data-bs-margin-right')).toEqual(false, 'data-bs-margin-right should be cleared after closing') expect(currentMargin).toEqual(originalMargin, 'sticky element margin should be reset after closing') document.documentElement.style.overflowY = 'auto' @@ -679,7 +680,6 @@ describe('Modal', () => { // Restore scrollbars document.body.style.overflow = 'auto' - document.documentElement.style.paddingRight = '16px' done() }) @@ -711,7 +711,6 @@ describe('Modal', () => { // Restore overridden css document.body.style.removeProperty('margin') document.body.style.removeProperty('overflow') - document.documentElement.style.paddingRight = '16px' done() }) diff --git a/js/tests/unit/offcanvas.spec.js b/js/tests/unit/offcanvas.spec.js index 0122d4dff33c..0a921bc9fb4f 100644 --- a/js/tests/unit/offcanvas.spec.js +++ b/js/tests/unit/offcanvas.spec.js @@ -14,6 +14,15 @@ describe('Offcanvas', () => { afterEach(() => { clearFixture() document.body.classList.remove('offcanvas-open') + document.documentElement.removeAttribute('style') + document.body.removeAttribute('style') + document.body.removeAttribute('data-bs-padding-right') + }) + + beforeEach(() => { + document.documentElement.removeAttribute('style') + document.body.removeAttribute('style') + document.body.removeAttribute('data-bs-padding-right') }) describe('VERSION', () => { @@ -177,7 +186,7 @@ describe('Offcanvas', () => { offCanvas.hide() }) offCanvasEl.addEventListener('hidden.bs.offcanvas', () => { - expect(document.body.style.overflow).toEqual('auto') + expect(document.body.style.overflow).not.toEqual('hidden') done() }) offCanvas.show() diff --git a/js/tests/unit/util/scrollbar.spec.js b/js/tests/unit/util/scrollbar.spec.js index eb344a0aa64c..aab3798eea3e 100644 --- a/js/tests/unit/util/scrollbar.spec.js +++ b/js/tests/unit/util/scrollbar.spec.js @@ -28,17 +28,19 @@ describe('ScrollBar', () => { afterAll(() => { fixtureEl.remove() - document.documentElement.style.overflowY = 'auto' - document.body.style.overflowY = 'auto' }) afterEach(() => { clearFixture() document.documentElement.removeAttribute('style') + document.body.removeAttribute('style') + document.body.removeAttribute('data-bs-padding-right') }) beforeEach(() => { document.documentElement.removeAttribute('style') + document.body.removeAttribute('style') + document.body.removeAttribute('data-bs-padding-right') }) describe('isBodyOverflowing', () => {