aboutsummaryrefslogtreecommitdiff
path: root/js/src/dropdown/dropdown.spec.js
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2019-08-22 22:02:06 +0200
committerJohann-S <[email protected]>2019-08-25 15:54:22 +0200
commita5cbb5e71a43fe11107a8e13fb68c6bfd99cb0e7 (patch)
tree1c209e89b52bf4ea553958d0dfdc34e985540a6d /js/src/dropdown/dropdown.spec.js
parentb02bae769e989838229c13a7c97d5af4c338601d (diff)
downloadbootstrap-a5cbb5e71a43fe11107a8e13fb68c6bfd99cb0e7.tar.xz
bootstrap-a5cbb5e71a43fe11107a8e13fb68c6bfd99cb0e7.zip
dropdown show method should do the same as toggle
Diffstat (limited to 'js/src/dropdown/dropdown.spec.js')
-rw-r--r--js/src/dropdown/dropdown.spec.js28
1 files changed, 27 insertions, 1 deletions
diff --git a/js/src/dropdown/dropdown.spec.js b/js/src/dropdown/dropdown.spec.js
index b025ed423..46374453c 100644
--- a/js/src/dropdown/dropdown.spec.js
+++ b/js/src/dropdown/dropdown.spec.js
@@ -174,7 +174,6 @@ describe('Dropdown', () => {
expect(firstDropdownEl.classList.contains('show')).toEqual(true)
spyOn(dropdown1._popper, 'destroy')
dropdown2.toggle()
- done()
})
secondDropdownEl.addEventListener('shown.bs.dropdown', () => {
@@ -679,6 +678,33 @@ describe('Dropdown', () => {
dropdown.hide()
})
+ it('should hide a dropdown and destroy popper', done => {
+ fixtureEl.innerHTML = [
+ '<div class="dropdown">',
+ ' <button href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>',
+ ' <div class="dropdown-menu">',
+ ' <a class="dropdown-item" href="#">Secondary link</a>',
+ ' </div>',
+ '</div>'
+ ].join('')
+
+ const btnDropdown = fixtureEl.querySelector('[data-toggle="dropdown"]')
+ const dropdownEl = fixtureEl.querySelector('.dropdown')
+ const dropdown = new Dropdown(btnDropdown)
+
+ dropdownEl.addEventListener('shown.bs.dropdown', () => {
+ spyOn(dropdown._popper, 'destroy')
+ dropdown.hide()
+ })
+
+ dropdownEl.addEventListener('hidden.bs.dropdown', () => {
+ expect(dropdown._popper.destroy).toHaveBeenCalled()
+ done()
+ })
+
+ dropdown.show()
+ })
+
it('should not hide a dropdown if the element is disabled', done => {
fixtureEl.innerHTML = [
'<div class="dropdown">',