diff options
| author | Muhammadamin <[email protected]> | 2021-02-23 07:52:09 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-23 14:52:09 +0200 |
| commit | 056216a3bd2fd1f28ba9ec6f2797aa2aaec5c6f0 (patch) | |
| tree | 1a1b76999378836e36ccdc4a4a8bb549213b303c /js/tests | |
| parent | 45ff785377bfc3e96889ee1c3d30364ba06a177a (diff) | |
| download | bootstrap-056216a3bd2fd1f28ba9ec6f2797aa2aaec5c6f0.tar.xz bootstrap-056216a3bd2fd1f28ba9ec6f2797aa2aaec5c6f0.zip | |
modal: don't add margin & padding when sticky is not full width (#30621)
* modal: don't add margin & padding when sticky is not full width
* Check if element is shorter than window
Co-authored-by: XhmikosR <[email protected]>
Co-authored-by: Rohit Sharma <[email protected]>
Diffstat (limited to 'js/tests')
| -rw-r--r-- | js/tests/unit/modal.spec.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/tests/unit/modal.spec.js b/js/tests/unit/modal.spec.js index 7f16bfc1d..2e46b9cb3 100644 --- a/js/tests/unit/modal.spec.js +++ b/js/tests/unit/modal.spec.js @@ -161,6 +161,30 @@ describe('Modal', () => { modal.toggle() }) + it('should not adjust the inline margin and padding of sticky and fixed elements when element do not have full width', done => { + fixtureEl.innerHTML = [ + '<div class="sticky-top" style="margin-right: 0px; padding-right: 0px; width: calc(100vw - 50%)"></div>', + '<div class="modal"><div class="modal-dialog"></div></div>' + ].join('') + + const stickyTopEl = fixtureEl.querySelector('.sticky-top') + const originalMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10) + const originalPadding = Number.parseInt(window.getComputedStyle(stickyTopEl).paddingRight, 10) + const modalEl = fixtureEl.querySelector('.modal') + const modal = new Modal(modalEl) + + modalEl.addEventListener('shown.bs.modal', () => { + const currentMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10) + const currentPadding = Number.parseInt(window.getComputedStyle(stickyTopEl).paddingRight, 10) + + expect(currentMargin).toEqual(originalMargin, 'sticky element\'s margin should not be adjusted while opening') + expect(currentPadding).toEqual(originalPadding, 'sticky element\'s padding should not be adjusted while opening') + done() + }) + + modal.show() + }) + it('should ignore values set via CSS when trying to restore body padding after closing', done => { fixtureEl.innerHTML = '<div class="modal"><div class="modal-dialog"></div></div>' const styleTest = document.createElement('style') |
