From f7fd0deae1059cb284263551c45bd2a309dd0d83 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Mon, 14 Mar 2022 00:55:18 +0200 Subject: [PATCH] add tests --- js/src/dropdown.js | 2 +- js/tests/unit/dropdown.spec.js | 74 +++++++++++++++++++++++----------- 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/js/src/dropdown.js b/js/src/dropdown.js index e39ef1961..787eb6379 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -308,7 +308,7 @@ class Dropdown extends BaseComponent { this._menu.style.removeProperty('transform') Manipulator.setDataAttribute(this._menu, 'popper', 'static') // todo:v6 remove? } else { - this._menu.style.position = state.styles.popper.position + this._menu.style.position = state.styles.popper.position // put back position } } }] diff --git a/js/tests/unit/dropdown.spec.js b/js/tests/unit/dropdown.spec.js index ec87159d6..c1269d8ad 100644 --- a/js/tests/unit/dropdown.spec.js +++ b/js/tests/unit/dropdown.spec.js @@ -1094,27 +1094,6 @@ describe('Dropdown', () => { expect(spyUpdate).toHaveBeenCalled() }) - - it('should just detect navbar on update', () => { - fixtureEl.innerHTML = [ - '' - ].join('') - - const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]') - const dropdown = new Dropdown(btnDropdown) - - const spy = spyOn(dropdown, '_detectNavbar') - - dropdown.update() - - expect(dropdown._popper).toBeNull() - expect(spy).toHaveBeenCalled() - }) }) describe('data-api', () => { @@ -1224,6 +1203,9 @@ describe('Dropdown', () => { btnDropdown.addEventListener('shown.bs.dropdown', () => { setTimeout(() => { expect(dropdownMenu.getAttribute('data-bs-popper')).toEqual('static') + expect(dropdownMenu.style.getPropertyValue('margin')).toEqual('') + expect(dropdownMenu.style.getPropertyValue('position')).toEqual('') + expect(dropdownMenu.style.getPropertyValue('transform')).toEqual('') dropdown.hide() }) }) @@ -1237,7 +1219,7 @@ describe('Dropdown', () => { }) }) - it('should not use Popper if display set to static', () => { + it('should handle Popper if display set to static', () => { return new Promise(resolve => { fixtureEl.innerHTML = [ '