Skip to content

Commit eecacd2

Browse files
committed
Added tests for properties added to HTML element
1 parent 83f89d3 commit eecacd2

2 files changed

Lines changed: 31 additions & 11 deletions

File tree

src/tabs.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,8 @@ export function tabWidget (options: TabWidgetOptions) {
228228
const selectedStyle = `${tabStyle + marginsStyle}background-color: ${selectedColor};`
229229
const shownStyle = 'height: 100%; width: 100%;'
230230
const hiddenStyle = shownStyle + 'display: none;'
231-
rootElement.refresh = sync
232-
sync()
231+
rootElement.refresh = orderedSync
232+
orderedSync()
233233

234234
// From select-tabs branch by hand
235235
if (!options.startEmpty && tabContainer.children.length && options.selectedTab) {
@@ -386,15 +386,6 @@ export function tabWidget (options: TabWidgetOptions) {
386386
bodyContainer.children[i].setAttribute('style', hiddenStyle)
387387
}
388388
}
389-
390-
function sync () {
391-
if (options.ordered) {
392-
orderedSync()
393-
} else {
394-
// @@ SORT THE values
395-
orderedSync()
396-
}
397-
}
398389
}
399390

400391
/**

test/unit/tabs.test.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,35 @@ describe('tabWidget', () => {
6868
tabWidgetElement.tabContainer.children[1].children[0].click()
6969
expect(tabWidgetElement.bodyContainer).not.toEqual(firstBody)
7070
})
71+
72+
describe('bodyContainer', () => {
73+
it('adds property bodyContainer', () => {
74+
expect(tabWidgetElement.bodyContainer).toBe(tabWidgetElement.querySelector('main'))
75+
})
76+
})
77+
78+
describe('refresh', () => {
79+
it('adds method refresh on element', () => {
80+
expect(tabWidgetElement.refresh).toBeInstanceOf(Function)
81+
})
82+
83+
it('sorts tabs if needed', () => {
84+
const reversedTabs = Array.from(tabWidgetElement.tabContainer.children).reverse()
85+
tabWidgetElement.tabContainer.innerHTML = ''
86+
reversedTabs.forEach(tab => tabWidgetElement.tabContainer.appendChild(tab))
87+
expect(tabWidgetElement.tabContainer.children[0]).toBe(reversedTabs[0])
88+
89+
tabWidgetElement.refresh()
90+
91+
expect(tabWidgetElement.tabContainer.children[0]).not.toBe(reversedTabs[0])
92+
})
93+
})
94+
95+
describe('tabContainer', () => {
96+
it('adds property tabContainer', () => {
97+
expect(tabWidgetElement.tabContainer).toBe(tabWidgetElement.querySelector('nav > ul'))
98+
})
99+
})
71100
})
72101

73102
describe('option items', () => {

0 commit comments

Comments
 (0)