Skip to content

Commit

Permalink
modal.js: fix test for scrollbar (#33666)
Browse files Browse the repository at this point in the history
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
  • Loading branch information
GeoSot and XhmikosR authored Apr 19, 2021
1 parent aace863 commit 6ea4dab
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions js/tests/unit/modal.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,18 +100,19 @@ describe('Modal', () => {
const originalPadding = Number.parseInt(window.getComputedStyle(fixedEl).paddingRight, 10)
const modalEl = fixtureEl.querySelector('.modal')
const modal = new Modal(modalEl)
const scrollBarWidth = getScrollBarWidth()

modalEl.addEventListener('shown.bs.modal', () => {
const expectedPadding = originalPadding + getScrollBarWidth()
const currentPadding = Number.parseInt(window.getComputedStyle(modalEl).paddingRight, 10)
const expectedPadding = originalPadding + scrollBarWidth
const currentPadding = Number.parseInt(window.getComputedStyle(fixedEl).paddingRight, 10)

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()
})

modalEl.addEventListener('hidden.bs.modal', () => {
const currentPadding = Number.parseInt(window.getComputedStyle(modalEl).paddingRight, 10)
const currentPadding = Number.parseInt(window.getComputedStyle(fixedEl).paddingRight, 10)

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')
Expand All @@ -134,9 +135,10 @@ describe('Modal', () => {
const originalMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10)
const modalEl = fixtureEl.querySelector('.modal')
const modal = new Modal(modalEl)
const scrollBarWidth = getScrollBarWidth()

modalEl.addEventListener('shown.bs.modal', () => {
const expectedMargin = originalMargin - getScrollBarWidth()
const expectedMargin = originalMargin - scrollBarWidth
const currentMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10)

expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual(`${originalMargin}px`, 'original sticky element margin should be stored in data-bs-margin-right')
Expand Down

0 comments on commit 6ea4dab

Please sign in to comment.