it('should stop to delegate on component detached', () => { chai.assert.equal(elem.clickedSpan, undefined); chai.assert.equal(elem.clickedSpanEvent, undefined); chai.assert.equal(elem.clickedElement, undefined); chai.assert.equal(elem.clicked, undefined); chai.assert.equal(elem.changedElement, undefined); chai.assert.equal(elem.changed, undefined); });
it('check if element is correctly detached from the tree', () => { DOM.removeChild(WRAPPER, elem); chai.assert.equal(elem.attached, false); });
it('check if element has been correctly rendered', () => { chai.assert.equal(elem.node.querySelector('span').textContent, 'Alan Turing 42'); });
it('check if element is correctly trigger attributeChangedCallback', () => { DOM.setAttribute(elem, 'name', 'Alan'); chai.assert.equal(elem.name, 'Alan'); });
it('check if element is correctly attached to the tree', () => { chai.assert.equal(elem.attached, true); });
it('check if element is correctly instantiated', () => { chai.assert.equal(elem.created, true); });
it('check if element has the correct tag', () => { chai.assert.equal(elem.node.tagName.toLowerCase(), 'button'); chai.assert.equal(elem.node.getAttribute('is'), 'test-base-idom-component-2'); });
it('check if element has the correct tag', () => { chai.assert.equal(elem.node.tagName.toLowerCase(), 'test-base-idom-component'); });
it('should track changes on input element', () => { chai.assert.equal(elem.changedElement, input); chai.assert.equal(elem.changed instanceof Event, true); chai.assert.equal(elem.changed.type, 'change'); });
it('should track click on button element', () => { chai.assert.equal(elem.clickedElement, button); chai.assert.equal(elem.clicked instanceof Event, true); chai.assert.equal(elem.clicked.type, 'click'); });
it('should trigger a function callback', () => { chai.assert.equal(elem.clickedSpan, span); chai.assert.equal(elem.clickedSpanEvent instanceof Event, true); chai.assert.equal(elem.clickedSpanEvent.type, 'click'); });
it('should be handled', () => { chai.assert.equal(elem.customElement, elem.node); chai.assert.equal(elem.custom instanceof Event, true); chai.assert.equal(elem.custom.detail.data, 1234); });
it('should throw', () => { let wrapper = () => { render(WRAPPER, TestInvalidComponent); }; chai.assert.throws(wrapper, TypeError, 'Invalid callback for event.'); });
it('should throw when event name is not defined in trigger', () => { let wrapper = () => { elem.trigger(); }; chai.assert.throws(wrapper, Error, 'Event name is undefined'); });