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

`); } };