export default { props: { visible: false, things: ['a', 'b', 'c', 'd'] }, // intro: true, html: `
waiting...
`, async test({ assert, component, target, raf }) { component.visible = true; assert.htmlEqual(target.innerHTML, `introstart
a
b
c
d
`); raf.tick(50); assert.deepEqual(component.intros.sort(), ['a', 'b', 'c', 'd']); assert.equal(component.intro_count, 4); await raf.tick(100); assert.equal(component.intro_count, 0); assert.htmlEqual(target.innerHTML, `introend
a
b
c
d
`); component.visible = false; assert.htmlEqual(target.innerHTML, `outrostart
a
b
c
d
`); raf.tick(150); assert.deepEqual(component.outros.sort(), ['a', 'b', 'c', 'd']); assert.equal(component.outro_count, 4); raf.tick(200); assert.equal(component.outro_count, 0); component.visible = true; await raf.tick(250); assert.deepEqual(component.intros.sort(), ['a', 'a', 'b', 'b', 'c', 'c', 'd', 'd']); assert.equal(component.intro_count, 4); assert.htmlEqual(target.innerHTML, `introstart
a
b
c
d
`); } };