update some event tests

pull/1864/head
Rich Harris 7 years ago
parent 3e962b9c90
commit e022b4b00b

@ -2,7 +2,7 @@ export default {
test(assert, component) { test(assert, component) {
let count = 0; let count = 0;
component.on('state', ({ changed }) => { component.$on('state', ({ changed }) => {
if (changed.bar) count += 1; if (changed.bar) count += 1;
}); });

@ -8,8 +8,8 @@ export default {
const click = new window.MouseEvent('click'); const click = new window.MouseEvent('click');
const events = []; const events = [];
component.on('value', event => { component.$on('value', event => {
events.push(event); events.push(event.detail);
}); });
buttons[0].dispatchEvent(click); buttons[0].dispatchEvent(click);

@ -1,20 +1,20 @@
export default { export default {
test ( assert, component, target, window ) { test(assert, component, target, window) {
const buttons = target.querySelectorAll( 'button' ); const buttons = target.querySelectorAll('button');
const click = new window.MouseEvent( 'click' ); const click = new window.MouseEvent('click');
const selected = []; const selected = [];
component.on( 'select', selection => { component.$on('select', event => {
selected.push( selection ); selected.push(event.detail);
}); });
buttons[1].dispatchEvent( click ); buttons[1].dispatchEvent(click);
buttons[2].dispatchEvent( click ); buttons[2].dispatchEvent(click);
buttons[1].dispatchEvent( click ); buttons[1].dispatchEvent(click);
buttons[0].dispatchEvent( click ); buttons[0].dispatchEvent(click);
assert.deepEqual( selected, [ assert.deepEqual(selected, [
'bar', 'bar',
'baz', 'baz',
'bar', 'bar',

@ -1,23 +1,32 @@
export default { export default {
test(assert, component) { test(assert, component, target, window) {
const buttons = target.querySelectorAll('button');
const click = new window.MouseEvent('click');
const events = []; const events = [];
component.on('foo', (shouldThrow) => { component.$on('foo', event => {
const shouldThrow = event.detail;
events.push(shouldThrow); events.push(shouldThrow);
if (shouldThrow) { if (shouldThrow) {
throw new Error(); throw new Error();
} }
}); });
component.fire('foo', false);
buttons[1].dispatchEvent(click);
assert.equal(events.toString(), 'false'); assert.equal(events.toString(), 'false');
let threw = false; let threw = false;
try { try {
component.fire('foo', true); buttons[0].dispatchEvent(click);
} catch (err) { } catch (err) {
threw = true; threw = true;
} }
assert.equal(threw, true); assert.equal(threw, true);
assert.equal(events.toString(), 'false,true'); assert.equal(events.toString(), 'false,true');
component.fire('foo', false);
buttons[1].dispatchEvent(click);
assert.equal(events.toString(), 'false,true,false'); assert.equal(events.toString(), 'false,true,false');
}, },
}; };

@ -1 +1,8 @@
Foo <script>
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
</script>
<button on:click="{() => dispatch('foo', true)}">throw</button>
<button on:click="{() => dispatch('foo', false)}">don't throw</button>

@ -8,7 +8,7 @@ export default {
test ( assert, component ) { test ( assert, component ) {
let count = 0; let count = 0;
component.on( 'widgetTornDown', function () { component.$on( 'widgetTornDown', function () {
assert.equal( this, component ); assert.equal( this, component );
count += 1; count += 1;
}); });

@ -5,23 +5,21 @@ export default {
foo: 42 foo: 42
}, },
test ( assert, component, target, window ) { test(assert, component, target, window) {
const event = new window.MouseEvent( 'click' ); const event = new window.MouseEvent('click');
const button = target.querySelector( 'button' ); const button = target.querySelector('button');
let count = 0; let count = 0;
let number = null; let number = null;
component.on( 'foo', obj => { component.$on('foo', event => {
count++; count++;
number = obj.foo; number = event.detail.foo;
}); });
button.dispatchEvent( event ); button.dispatchEvent(event);
assert.equal( count, 1 ); assert.equal(count, 1);
assert.equal( number, 42 ); assert.equal(number, 42);
component.destroy();
} }
}; };

@ -15,7 +15,7 @@ export default {
const clicked = []; const clicked = [];
component.on('clicked', event => { component.$on('clicked', event => {
clicked.push(event.node); clicked.push(event.node);
}); });

@ -8,7 +8,7 @@ export default {
const event = new window.MouseEvent('click'); const event = new window.MouseEvent('click');
let answer; let answer;
component.on('foo', event => { component.$on('foo', event => {
answer = event.answer; answer = event.answer;
}); });

@ -8,7 +8,7 @@ export default {
const event = new window.MouseEvent('click'); const event = new window.MouseEvent('click');
let answer; let answer;
component.on('foo', event => { component.$on('foo', event => {
answer = event.answer; answer = event.answer;
}); });

@ -4,7 +4,7 @@ export default {
const expected = { x: 1 }; const expected = { x: 1 };
component.on( 'foo', data => { component.$on( 'foo', data => {
assert.equal( data, expected ); assert.equal( data, expected );
count += 1; count += 1;
}); });

@ -1,13 +0,0 @@
export default {
test ( assert, component ) {
let count = 0;
component.on( 'destroy', function () {
assert.equal( this, component );
count += 1;
});
component.destroy();
assert.equal( count, 1 );
}
};

@ -3,7 +3,7 @@ export default {
html: `<div><h3>Called 0 times.</h3></div>`, html: `<div><h3>Called 0 times.</h3></div>`,
test(assert, component, target, window) { test(assert, component, target, window) {
component.on('state', ({ changed }) => { component.$on('state', ({ changed }) => {
if (changed.foo) { if (changed.foo) {
component.count = component.count + 1; component.count = component.count + 1;
} }

@ -6,7 +6,7 @@ export default {
test(assert, component) { test(assert, component) {
const thing = component.thing; const thing = component.thing;
component.on('state', ({ changed, current }) => { component.$on('state', ({ changed, current }) => {
if (changed.thing) { if (changed.thing) {
const { thing } = current; const { thing } = current;
thing.b = thing.a * 2; thing.b = thing.a * 2;

@ -13,7 +13,7 @@ export default {
test(assert, component, target) { test(assert, component, target) {
const history = []; const history = [];
component.on('state', ({ changed, current, previous }) => { component.$on('state', ({ changed, current, previous }) => {
history.push({ changed, current, previous }); history.push({ changed, current, previous });
component.bar = current.foo.toUpperCase(); component.bar = current.foo.toUpperCase();
}); });

@ -9,12 +9,12 @@ export default {
const values = []; const values = [];
let valueOnDestroy; let valueOnDestroy;
component.on('destroy', () => { component.$on('destroy', () => {
component.foo = 2; component.foo = 2;
valueOnDestroy = component.foo; valueOnDestroy = component.foo;
}); });
component.on('state', ({ current }) => { component.$on('state', ({ current }) => {
values.push(current.foo); values.push(current.foo);
}); });

@ -22,7 +22,7 @@ export default {
assert.equal(component.outroCount, 0); assert.equal(component.outroCount, 0);
component.visible = true; component.visible = true;
component.on('intro.start', () => { component.$on('intro.start', () => {
throw new Error(`intro.start should fire during set(), not after`); throw new Error(`intro.start should fire during set(), not after`);
}); });

Loading…
Cancel
Save