mirror of https://github.com/twbs/bootstrap.git
Merge 0baaa5391d
into 4c98145482
This commit is contained in:
commit
5b88c7b029
|
@ -29,6 +29,11 @@ class BaseComponent extends Config {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const instance = Data.get(element, this.constructor.DATA_KEY)
|
||||||
|
if (instance instanceof this.constructor) {
|
||||||
|
instance.dispose()
|
||||||
|
}
|
||||||
|
|
||||||
this._element = element
|
this._element = element
|
||||||
this._config = this._getConfig(config)
|
this._config = this._getConfig(config)
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,9 @@ describe('Alert', () => {
|
||||||
|
|
||||||
const alertEl = fixtureEl.querySelector('.alert')
|
const alertEl = fixtureEl.querySelector('.alert')
|
||||||
const alertBySelector = new Alert('.alert')
|
const alertBySelector = new Alert('.alert')
|
||||||
const alertByElement = new Alert(alertEl)
|
|
||||||
|
|
||||||
expect(alertBySelector._element).toEqual(alertEl)
|
expect(alertBySelector._element).toEqual(alertEl)
|
||||||
|
|
||||||
|
const alertByElement = new Alert(alertEl)
|
||||||
expect(alertByElement._element).toEqual(alertEl)
|
expect(alertByElement._element).toEqual(alertEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -114,6 +114,15 @@ describe('Base Component', () => {
|
||||||
|
|
||||||
expect(spy).toHaveBeenCalledWith(element, DummyClass.EVENT_KEY)
|
expect(spy).toHaveBeenCalledWith(element, DummyClass.EVENT_KEY)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should call dispose automatically when an component is reinitialized', () => {
|
||||||
|
instance = new DummyClass(element)
|
||||||
|
const spy = spyOn(instance, 'dispose')
|
||||||
|
|
||||||
|
instance = new DummyClass(element)
|
||||||
|
|
||||||
|
expect(spy).toHaveBeenCalled()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('getInstance', () => {
|
describe('getInstance', () => {
|
||||||
|
|
|
@ -16,9 +16,9 @@ describe('Button', () => {
|
||||||
fixtureEl.innerHTML = '<button data-bs-toggle="button">Placeholder</button>'
|
fixtureEl.innerHTML = '<button data-bs-toggle="button">Placeholder</button>'
|
||||||
const buttonEl = fixtureEl.querySelector('[data-bs-toggle="button"]')
|
const buttonEl = fixtureEl.querySelector('[data-bs-toggle="button"]')
|
||||||
const buttonBySelector = new Button('[data-bs-toggle="button"]')
|
const buttonBySelector = new Button('[data-bs-toggle="button"]')
|
||||||
const buttonByElement = new Button(buttonEl)
|
|
||||||
|
|
||||||
expect(buttonBySelector._element).toEqual(buttonEl)
|
expect(buttonBySelector._element).toEqual(buttonEl)
|
||||||
|
|
||||||
|
const buttonByElement = new Button(buttonEl)
|
||||||
expect(buttonByElement._element).toEqual(buttonEl)
|
expect(buttonByElement._element).toEqual(buttonEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -59,9 +59,9 @@ describe('Carousel', () => {
|
||||||
|
|
||||||
const carouselEl = fixtureEl.querySelector('#myCarousel')
|
const carouselEl = fixtureEl.querySelector('#myCarousel')
|
||||||
const carouselBySelector = new Carousel('#myCarousel')
|
const carouselBySelector = new Carousel('#myCarousel')
|
||||||
const carouselByElement = new Carousel(carouselEl)
|
|
||||||
|
|
||||||
expect(carouselBySelector._element).toEqual(carouselEl)
|
expect(carouselBySelector._element).toEqual(carouselEl)
|
||||||
|
|
||||||
|
const carouselByElement = new Carousel(carouselEl)
|
||||||
expect(carouselByElement._element).toEqual(carouselEl)
|
expect(carouselByElement._element).toEqual(carouselEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -37,9 +37,9 @@ describe('Collapse', () => {
|
||||||
|
|
||||||
const collapseEl = fixtureEl.querySelector('div.my-collapse')
|
const collapseEl = fixtureEl.querySelector('div.my-collapse')
|
||||||
const collapseBySelector = new Collapse('div.my-collapse')
|
const collapseBySelector = new Collapse('div.my-collapse')
|
||||||
const collapseByElement = new Collapse(collapseEl)
|
|
||||||
|
|
||||||
expect(collapseBySelector._element).toEqual(collapseEl)
|
expect(collapseBySelector._element).toEqual(collapseEl)
|
||||||
|
|
||||||
|
const collapseByElement = new Collapse(collapseEl)
|
||||||
expect(collapseByElement._element).toEqual(collapseEl)
|
expect(collapseByElement._element).toEqual(collapseEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -53,9 +53,9 @@ describe('Dropdown', () => {
|
||||||
|
|
||||||
const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]')
|
const btnDropdown = fixtureEl.querySelector('[data-bs-toggle="dropdown"]')
|
||||||
const dropdownBySelector = new Dropdown('[data-bs-toggle="dropdown"]')
|
const dropdownBySelector = new Dropdown('[data-bs-toggle="dropdown"]')
|
||||||
const dropdownByElement = new Dropdown(btnDropdown)
|
|
||||||
|
|
||||||
expect(dropdownBySelector._element).toEqual(btnDropdown)
|
expect(dropdownBySelector._element).toEqual(btnDropdown)
|
||||||
|
|
||||||
|
const dropdownByElement = new Dropdown(btnDropdown)
|
||||||
expect(dropdownByElement._element).toEqual(btnDropdown)
|
expect(dropdownByElement._element).toEqual(btnDropdown)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -50,9 +50,9 @@ describe('Modal', () => {
|
||||||
|
|
||||||
const modalEl = fixtureEl.querySelector('.modal')
|
const modalEl = fixtureEl.querySelector('.modal')
|
||||||
const modalBySelector = new Modal('.modal')
|
const modalBySelector = new Modal('.modal')
|
||||||
const modalByElement = new Modal(modalEl)
|
|
||||||
|
|
||||||
expect(modalBySelector._element).toEqual(modalEl)
|
expect(modalBySelector._element).toEqual(modalEl)
|
||||||
|
|
||||||
|
const modalByElement = new Modal(modalEl)
|
||||||
expect(modalByElement._element).toEqual(modalEl)
|
expect(modalByElement._element).toEqual(modalEl)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -100,9 +100,9 @@ describe('ScrollSpy', () => {
|
||||||
|
|
||||||
const sSpyEl = fixtureEl.querySelector('.content')
|
const sSpyEl = fixtureEl.querySelector('.content')
|
||||||
const sSpyBySelector = new ScrollSpy('.content')
|
const sSpyBySelector = new ScrollSpy('.content')
|
||||||
const sSpyByElement = new ScrollSpy(sSpyEl)
|
|
||||||
|
|
||||||
expect(sSpyBySelector._element).toEqual(sSpyEl)
|
expect(sSpyBySelector._element).toEqual(sSpyEl)
|
||||||
|
|
||||||
|
const sSpyByElement = new ScrollSpy(sSpyEl)
|
||||||
expect(sSpyByElement._element).toEqual(sSpyEl)
|
expect(sSpyByElement._element).toEqual(sSpyEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -33,9 +33,9 @@ describe('Tab', () => {
|
||||||
|
|
||||||
const tabEl = fixtureEl.querySelector('[href="#home"]')
|
const tabEl = fixtureEl.querySelector('[href="#home"]')
|
||||||
const tabBySelector = new Tab('[href="#home"]')
|
const tabBySelector = new Tab('[href="#home"]')
|
||||||
const tabByElement = new Tab(tabEl)
|
|
||||||
|
|
||||||
expect(tabBySelector._element).toEqual(tabEl)
|
expect(tabBySelector._element).toEqual(tabEl)
|
||||||
|
|
||||||
|
const tabByElement = new Tab(tabEl)
|
||||||
expect(tabByElement._element).toEqual(tabEl)
|
expect(tabByElement._element).toEqual(tabEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -32,9 +32,9 @@ describe('Toast', () => {
|
||||||
|
|
||||||
const toastEl = fixtureEl.querySelector('.toast')
|
const toastEl = fixtureEl.querySelector('.toast')
|
||||||
const toastBySelector = new Toast('.toast')
|
const toastBySelector = new Toast('.toast')
|
||||||
const toastByElement = new Toast(toastEl)
|
|
||||||
|
|
||||||
expect(toastBySelector._element).toEqual(toastEl)
|
expect(toastBySelector._element).toEqual(toastEl)
|
||||||
|
|
||||||
|
const toastByElement = new Toast(toastEl)
|
||||||
expect(toastByElement._element).toEqual(toastEl)
|
expect(toastByElement._element).toEqual(toastEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -62,9 +62,9 @@ describe('Tooltip', () => {
|
||||||
|
|
||||||
const tooltipEl = fixtureEl.querySelector('#tooltipEl')
|
const tooltipEl = fixtureEl.querySelector('#tooltipEl')
|
||||||
const tooltipBySelector = new Tooltip('#tooltipEl')
|
const tooltipBySelector = new Tooltip('#tooltipEl')
|
||||||
const tooltipByElement = new Tooltip(tooltipEl)
|
|
||||||
|
|
||||||
expect(tooltipBySelector._element).toEqual(tooltipEl)
|
expect(tooltipBySelector._element).toEqual(tooltipEl)
|
||||||
|
|
||||||
|
const tooltipByElement = new Tooltip(tooltipEl)
|
||||||
expect(tooltipByElement._element).toEqual(tooltipEl)
|
expect(tooltipByElement._element).toEqual(tooltipEl)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue