mirror of https://github.com/sveltejs/svelte
parent
34019b3ba2
commit
36ed4675bb
@ -0,0 +1,25 @@
|
||||
<script>
|
||||
import { beforeUpdate, afterUpdate } from "svelte";
|
||||
import { log } from './log.js';
|
||||
|
||||
export let a;
|
||||
export let b;
|
||||
|
||||
beforeUpdate(() => {
|
||||
log.push('before');
|
||||
});
|
||||
|
||||
beforeUpdate(()=>{
|
||||
log.push(`before ${a}, ${b}`);
|
||||
});
|
||||
|
||||
afterUpdate(() => {
|
||||
log.push('after');
|
||||
});
|
||||
|
||||
afterUpdate(()=>{
|
||||
log.push(`after ${a}, ${b}`);
|
||||
});
|
||||
</script>
|
||||
|
||||
<p>a: {a}</p>
|
||||
@ -0,0 +1,45 @@
|
||||
import { flushSync } from 'svelte';
|
||||
import { log } from './log.js';
|
||||
import { test, ok } from '../../test';
|
||||
|
||||
export default test({
|
||||
before_test: () => {
|
||||
log.length = 0;
|
||||
},
|
||||
|
||||
test({ assert, target }) {
|
||||
const [button1, button2] = target.querySelectorAll('button');
|
||||
ok(button1);
|
||||
ok(button2);
|
||||
|
||||
button1.click();
|
||||
flushSync();
|
||||
|
||||
button2.click();
|
||||
flushSync();
|
||||
|
||||
assert.deepEqual(log, [
|
||||
'before',
|
||||
'before 0, 0',
|
||||
'after',
|
||||
'after 0, 0',
|
||||
'before',
|
||||
'before 1, 0',
|
||||
'after',
|
||||
'after 1, 0',
|
||||
'before',
|
||||
'before 1, 1',
|
||||
'after',
|
||||
'after 1, 1'
|
||||
]);
|
||||
|
||||
assert.htmlEqual(
|
||||
target.innerHTML,
|
||||
`
|
||||
<button>a: 1</button>
|
||||
<button>b: 2</button>
|
||||
<p>a: 1</p>
|
||||
`
|
||||
);
|
||||
}
|
||||
});
|
||||
@ -0,0 +1,2 @@
|
||||
/** @type {string[]} */
|
||||
export const log = [];
|
||||
@ -0,0 +1,10 @@
|
||||
<script>
|
||||
import Child from "./Child.svelte";
|
||||
|
||||
let a = 0;
|
||||
let b = 0;
|
||||
</script>
|
||||
|
||||
<button on:click={() => a += 1}>a: {a}</button>
|
||||
<button on:click={() => b += 1}>b: {b}</button>
|
||||
<Child {a} {b}/>
|
||||
Loading…
Reference in new issue