1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-09 23:26:40 +02:00

Fix event handler removal in dropdown/carousel dispose (#33000)

* Fix event handler removal in carousel dispose

* Fix event handler removal in dropdown dispose

* Test event handlers in scrollspy dispose

* Test event handlers in toast dispose

* Test event handlers in tooltip dispose

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
This commit is contained in:
Kyle Tsang
2021-02-11 21:51:34 -08:00
committed by GitHub
parent 0a9d392975
commit 02dbd87ffa
8 changed files with 56 additions and 9 deletions

View File

@@ -884,16 +884,21 @@ describe('Dropdown', () => {
].join('')
const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]')
spyOn(btnDropdown, 'addEventListener').and.callThrough()
spyOn(btnDropdown, 'removeEventListener').and.callThrough()
const dropdown = new Dropdown(btnDropdown)
expect(dropdown._popper).toBeNull()
expect(dropdown._menu).toBeDefined()
expect(dropdown._element).toBeDefined()
expect(btnDropdown.addEventListener).toHaveBeenCalledWith('click', jasmine.any(Function), jasmine.any(Boolean))
dropdown.dispose()
expect(dropdown._menu).toBeNull()
expect(dropdown._element).toBeNull()
expect(btnDropdown.removeEventListener).toHaveBeenCalledWith('click', jasmine.any(Function), jasmine.any(Boolean))
})
it('should dispose dropdown with Popper', () => {