mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-20 20:00:36 +03:00
add test
This commit is contained in:
@@ -333,6 +333,51 @@ describe('Collapse', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should be able to handle quick toggling between siblings', () =>
|
||||||
|
new Promise(resolve => {
|
||||||
|
fixtureEl.innerHTML = [
|
||||||
|
'<div class="accordion" id="accordionExample">',
|
||||||
|
' <div class="accordion-item">',
|
||||||
|
' <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">',
|
||||||
|
' Accordion Item #1',
|
||||||
|
' </button>',
|
||||||
|
' <div id="collapseOne" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#accordionExample">',
|
||||||
|
' </div>',
|
||||||
|
' </div>',
|
||||||
|
' <div class="accordion-item">',
|
||||||
|
' <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">',
|
||||||
|
' Accordion Item #2',
|
||||||
|
' </button>',
|
||||||
|
' <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">',
|
||||||
|
' </div>',
|
||||||
|
' </div>',
|
||||||
|
'</div>'
|
||||||
|
].join('')
|
||||||
|
|
||||||
|
const el = selector => fixtureEl.querySelector(selector)
|
||||||
|
|
||||||
|
const btn1 = el('[data-bs-target="#collapseOne"]')
|
||||||
|
const btn2 = el('[data-bs-target="#collapseTwo"]')
|
||||||
|
|
||||||
|
const collapseEl1 = el('#collapseOne')
|
||||||
|
const collapseEl2 = el('#collapseTwo')
|
||||||
|
|
||||||
|
collapseEl2.addEventListener('shown.bs.collapse', () => {
|
||||||
|
throw new Error('should not fire shown event')
|
||||||
|
})
|
||||||
|
|
||||||
|
collapseEl1.addEventListener('shown.bs.collapse', () => {
|
||||||
|
setTimeout(() => {
|
||||||
|
expect(collapseEl2).not.toHaveClass('show')
|
||||||
|
resolve()
|
||||||
|
}, 1000)
|
||||||
|
})
|
||||||
|
|
||||||
|
btn1.click()
|
||||||
|
btn2.click()
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
it('should not change tab tabpanels descendants on accordion', () => {
|
it('should not change tab tabpanels descendants on accordion', () => {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
fixtureEl.innerHTML = [
|
fixtureEl.innerHTML = [
|
||||||
|
|||||||
Reference in New Issue
Block a user