import el from './index'
import define from '../../lib/define'
import insertElement from '../../lib/test/insert-element'
import getElement from '../../lib/test/get-element'
import removeElement from '../../lib/test/remove-element'
import event from '../../lib/test/event'
const {document} = window
const ELEMENT = 'oo-nav'
describe(`<${ELEMENT}>${ELEMENT}>`, () => {
before(() => {
define(ELEMENT, el)
})
beforeEach(() => {
removeElement(ELEMENT)
})
it('Mount on document', () => {
insertElement(ELEMENT)
expect(getElement(ELEMENT)[0]).to.be.ok()
})
describe('Show slot', () => {
it('Show "item" slot as nav inner contents', () => {
document.body.insertAdjacentHTML('afterbegin', `
123`)
const element = getElement(ELEMENT)[0]
const slotHeader: HTMLSlotElement = element.shadowRoot.querySelector('nav slot[name=item]')
const assigned = slotHeader.assignedNodes()
expect(assigned[0].textContent).to.be('1')
expect(assigned[1].textContent).to.be('2')
expect(assigned[2].textContent).to.be('3')
})
it('Show "brand" slot as nav inner contents', () => {
document.body.insertAdjacentHTML('afterbegin', `
The Brand
`)
const element = getElement(ELEMENT)[0]
const slotHeader: HTMLSlotElement = element.shadowRoot.querySelector('nav slot[name=brand]')
const assigned = slotHeader.assignedNodes()
expect(assigned[0].textContent).to.be('The Brand')
})
it('Show "footer" slot as nav inner contents', () => {
document.body.insertAdjacentHTML('afterbegin', `
Footer
`)
const element = getElement(ELEMENT)[0]
const slotHeader: HTMLSlotElement = element.shadowRoot.querySelector('nav slot[name=footer]')
const assigned = slotHeader.assignedNodes()
expect(assigned[0].textContent).to.be('Footer')
})
})
describe('Attribuets', () => {
it('Pass the value of "data-direction" to the