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}>`, () => { 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', ` 1 2 3 `) 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