35 lines
846 B

export default {
props: {
visible: true,
things: ['a', 'b', 'c', 'd']
},
intro: true,
test({ assert, component, target, window, raf }) {
raf.tick(50);
assert.deepEqual(component.intros.sort(), ['a', 'b', 'c', 'd']);
assert.equal(component.intro_count, 4);
raf.tick(100);
assert.equal(component.intro_count, 0);
component.visible = false;
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;
component.$on('intro.start', () => {
throw new Error(`intro.start should fire during set(), not after`);
});
raf.tick(250);
assert.deepEqual(component.intros.sort(), ['a', 'a', 'b', 'b', 'c', 'c', 'd', 'd']);
assert.equal(component.intro_count, 4);
}
};