update tests

pull/9826/head
Rich Harris 3 years ago
parent 3f4cc1d1a2
commit 74765296ab

@ -1,12 +1,13 @@
import { test } from '../../test';
import { flushSync } from 'svelte';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1] = target.querySelectorAll('button');
flushSync(() => {
b1.click();
@ -20,6 +21,6 @@ export default test({
flushSync(() => {
b1.click();
});
assert.deepEqual(component.log, [0, 2, 4]);
assert.deepEqual(log, [0, 2, 4]);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
const {log} = $props();
import { log } from './log.js';
let count = $state(0);
const derived = $derived(Math.floor(count / 2));

@ -1,12 +1,13 @@
import { test } from '../../test';
import { flushSync } from 'svelte';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1] = target.querySelectorAll('button');
flushSync(() => {
b1.click();
@ -14,6 +15,6 @@ export default test({
flushSync(() => {
b1.click();
});
assert.deepEqual(component.log, ['init 0', 'cleanup 2', 'init 2', 'cleanup 4', 'init 4']);
assert.deepEqual(log, ['init 0', 'cleanup 2', 'init 2', 'cleanup 4', 'init 4']);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
const {log} = $props();
import { log } from './log.js';
let count = $state(0);

@ -1,12 +1,13 @@
import { test } from '../../test';
import { flushSync } from 'svelte';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1] = target.querySelectorAll('button');
flushSync(() => {
b1.click();
@ -14,6 +15,6 @@ export default test({
flushSync(() => {
b1.click();
});
assert.deepEqual(component.log, ['A', 'B', 'A', 'B', 'A', 'B']);
assert.deepEqual(log, ['A', 'B', 'A', 'B', 'A', 'B']);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
const {log} = $props();
import { log } from './log.js';
let s = $state(0);
let d = $derived(s)

@ -1,12 +1,13 @@
import { flushSync } from 'svelte';
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1, b2, b3] = target.querySelectorAll('button');
flushSync(() => {
@ -14,19 +15,19 @@ export default test({
b2.click();
});
assert.deepEqual(component.log, [0, 1]);
assert.deepEqual(log, [0, 1]);
flushSync(() => {
b3.click();
});
assert.deepEqual(component.log, [0, 1, 'cleanup 1', 'cleanup 2']);
assert.deepEqual(log, [0, 1, 'cleanup 1', 'cleanup 2']);
flushSync(() => {
b1.click();
b2.click();
});
assert.deepEqual(component.log, [0, 1, 'cleanup 1', 'cleanup 2']);
assert.deepEqual(log, [0, 1, 'cleanup 1', 'cleanup 2']);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
let { log} = $props();
import { log } from './log.js';
let x = $state(0);
let y = $state(0);

@ -1,16 +1,17 @@
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1, b2] = target.querySelectorAll('button');
b1.click();
b2.click();
await Promise.resolve();
assert.deepEqual(component.log, [0, 1]);
assert.deepEqual(log, [0, 1]);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
let { log} = $props();
import { log } from './log.js';
let x = $state(0);
let y = $state(0);

@ -1,16 +1,17 @@
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1, b2] = target.querySelectorAll('button');
b1.click();
b2.click();
await Promise.resolve();
assert.deepEqual(component.log, ['first0', 'second0', 'first1', 'second1']);
assert.deepEqual(log, ['first0', 'second0', 'first1', 'second1']);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
let { log} = $props();
import { log } from './log.js';
let x = $state(0);
let y = $state(0);

@ -1,21 +1,23 @@
<script>
let { index, n, order } = $props();
import { log } from './log.js';
let { index, n } = $props();
function logRender () {
order.push(`${index}: render ${n}`);
log.push(`${index}: render ${n}`);
return index;
}
$effect.pre(() => {
order.push(`${index}: $effect.pre ${n}`);
log.push(`${index}: $effect.pre ${n}`);
});
$effect.pre(() => {
order.push(`${index}: $effect.pre (2) ${n}`);
log.push(`${index}: $effect.pre (2) ${n}`);
});
$effect(() => {
order.push(`${index}: $effect ${n}`);
log.push(`${index}: $effect ${n}`);
});
</script>

@ -1,24 +1,17 @@
import { test } from '../../test';
/**
* @type {any[]}
*/
let order = [];
let n = 0;
import { log } from './log.js';
export default test({
get props() {
return {
order,
n
};
return { n: 0 };
},
before_test() {
order.length = 0;
n = 0;
log.length = 0;
},
async test({ assert, compileOptions, component }) {
assert.deepEqual(order, [
async test({ assert, component }) {
assert.deepEqual(log, [
'parent: $effect.pre 0',
'parent: $effect.pre (2) 0',
'parent: render 0',
@ -37,11 +30,11 @@ export default test({
'parent: $effect 0'
]);
order.length = 0;
log.length = 0;
component.n += 1;
assert.deepEqual(order, [
assert.deepEqual(log, [
'parent: $effect.pre 1',
'parent: $effect.pre (2) 1',
'parent: render 1',

@ -1,30 +1,31 @@
<script>
import Item from './Item.svelte';
import { log } from './log.js';
let { n = 0, order } = $props();
let { n = 0 } = $props();
function logRender () {
order.push(`parent: render ${n}`);
log.push(`parent: render ${n}`);
return 'parent';
}
$effect.pre(() => {
order.push(`parent: $effect.pre ${n}`);
log.push(`parent: $effect.pre ${n}`);
});
$effect.pre(() => {
order.push(`parent: $effect.pre (2) ${n}`);
log.push(`parent: $effect.pre (2) ${n}`);
});
$effect(() => {
order.push(`parent: $effect ${n}`);
log.push(`parent: $effect ${n}`);
});
</script>
{logRender()}
<ul>
{#each [1,2,3] as index}
<Item {index} {n} {order} />
<Item {index} {n} />
{/each}
</ul>

@ -1,17 +1,19 @@
<script>
let { index, n, order } = $props();
import { log } from './log.js';
let { index, n } = $props();
function logRender () {
order.push(`${index}: render ${n}`);
log.push(`${index}: render ${n}`);
return index;
}
$effect.pre(() => {
order.push(`${index}: $effect.pre ${n}`);
log.push(`${index}: $effect.pre ${n}`);
});
$effect(() => {
order.push(`${index}: $effect ${n}`);
log.push(`${index}: $effect ${n}`);
});
</script>

@ -1,24 +1,17 @@
import { test } from '../../test';
/**
* @type {any[]}
*/
let order = [];
let n = 0;
import { log } from './log.js';
export default test({
get props() {
return {
order,
n
};
return { n: 0 };
},
before_test() {
order.length = 0;
n = 0;
log.length = 0;
},
async test({ assert, compileOptions, component }) {
assert.deepEqual(order, [
async test({ assert, component }) {
assert.deepEqual(log, [
'parent: render 0',
'1: $effect.pre 0',
'1: render 0',
@ -32,11 +25,11 @@ export default test({
'parent: $effect 0'
]);
order.length = 0;
log.length = 0;
component.n += 1;
assert.deepEqual(order, [
assert.deepEqual(log, [
'parent: render 1',
'1: $effect.pre 1',
'1: render 1',

@ -1,22 +1,23 @@
<script>
import Item from './Item.svelte';
import { log } from './log.js';
let { n = 0, order } = $props();
let { n = 0 } = $props();
function logRender () {
order.push(`parent: render ${n}`);
log.push(`parent: render ${n}`);
return 'parent';
}
$effect(() => {
order.push(`parent: $effect ${n}`);
log.push(`parent: $effect ${n}`);
});
</script>
{logRender()}
<ul>
{#each [1,2,3] as index}
<Item {index} {n} {order} />
<Item {index} {n} />
{/each}
</ul>

@ -1,21 +1,23 @@
<script>
let { index, n, order } = $props();
import { log } from './log.js';
let { index, n } = $props();
function logRender () {
order.push(`${index}: render ${n}`);
log.push(`${index}: render ${n}`);
return index;
}
$effect.pre(() => {
order.push(`${index}: $effect.pre ${n}`);
log.push(`${index}: $effect.pre ${n}`);
$effect.pre(() => {
order.push(`${index}: nested $effect.pre ${n}`);
log.push(`${index}: nested $effect.pre ${n}`);
});
});
$effect(() => {
order.push(`${index}: $effect ${n}`);
log.push(`${index}: $effect ${n}`);
});
</script>

@ -1,24 +1,17 @@
import { test } from '../../test';
/**
* @type {any[]}
*/
let order = [];
let n = 0;
import { log } from './log.js';
export default test({
get props() {
return {
order,
n
};
return { n: 0 };
},
before_test() {
order.length = 0;
n = 0;
log.length = 0;
},
async test({ assert, compileOptions, component }) {
assert.deepEqual(order, [
async test({ assert, component }) {
assert.deepEqual(log, [
'parent: $effect.pre 0',
'parent: nested $effect.pre 0',
'parent: render 0',
@ -37,11 +30,11 @@ export default test({
'parent: $effect 0'
]);
order.length = 0;
log.length = 0;
component.n += 1;
assert.deepEqual(order, [
assert.deepEqual(log, [
'parent: $effect.pre 1',
'parent: nested $effect.pre 1',
'parent: render 1',

@ -1,30 +1,31 @@
<script>
import Item from './Item.svelte';
import { log } from './log.js';
let { n = 0, order } = $props();
let { n = 0 } = $props();
function logRender () {
order.push(`parent: render ${n}`);
log.push(`parent: render ${n}`);
return 'parent';
}
$effect.pre(() => {
order.push(`parent: $effect.pre ${n}`);
log.push(`parent: $effect.pre ${n}`);
$effect.pre(() => {
order.push(`parent: nested $effect.pre ${n}`);
log.push(`parent: nested $effect.pre ${n}`);
});
});
$effect(() => {
order.push(`parent: $effect ${n}`);
log.push(`parent: $effect ${n}`);
});
</script>
{logRender()}
<ul>
{#each [1,2,3] as index}
<Item {index} {n} {order} />
<Item {index} {n} />
{/each}
</ul>

@ -1,17 +1,19 @@
<script>
let { index, n, order } = $props();
import { log } from './log.js';
let { index, n } = $props();
function logRender () {
order.push(`${index}: render ${n}`);
log.push(`${index}: render ${n}`);
return index;
}
$effect.pre(() => {
order.push(`${index}: $effect.pre ${n}`);
log.push(`${index}: $effect.pre ${n}`);
});
$effect(() => {
order.push(`${index}: $effect ${n}`);
log.push(`${index}: $effect ${n}`);
});
</script>

@ -1,24 +1,17 @@
import { test } from '../../test';
/**
* @type {any[]}
*/
let order = [];
let n = 0;
import { log } from './log.js';
export default test({
get props() {
return {
order,
n
};
return { n: 0 };
},
before_test() {
order.length = 0;
n = 0;
log.length = 0;
},
async test({ assert, compileOptions, component }) {
assert.deepEqual(order, [
async test({ assert, component }) {
assert.deepEqual(log, [
'parent: $effect.pre 0',
'parent: render 0',
'1: $effect.pre 0',
@ -33,11 +26,11 @@ export default test({
'parent: $effect 0'
]);
order.length = 0;
log.length = 0;
component.n += 1;
assert.deepEqual(order, [
assert.deepEqual(log, [
'parent: $effect.pre 1',
'parent: render 1',
'1: $effect.pre 1',

@ -1,26 +1,27 @@
<script>
import Item from './Item.svelte';
import { log } from './log.js';
let { n = 0, order } = $props();
let { n = 0 } = $props();
function logRender () {
order.push(`parent: render ${n}`);
log.push(`parent: render ${n}`);
return 'parent';
}
$effect.pre(() => {
order.push(`parent: $effect.pre ${n}`);
log.push(`parent: $effect.pre ${n}`);
});
$effect(() => {
order.push(`parent: $effect ${n}`);
log.push(`parent: $effect ${n}`);
});
</script>
{logRender()}
<ul>
{#each [1,2,3] as index}
<Item {index} {n} {order} />
<Item {index} {n} />
{/each}
</ul>

@ -1,13 +1,14 @@
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert }) {
await Promise.resolve();
await Promise.resolve();
assert.deepEqual(component.log, ['a1: ', true, 'b1: ', true]);
assert.deepEqual(log, ['a1: ', true, 'b1: ', true]);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,12 +1,13 @@
<script>
import { log } from './log.js';
let a1 = $state();
let b1 = $state();
const {log} = $props();
$effect(() => {
log.push('a1: ', a1);
});
$effect(() => {
log.push('b1: ', b1);
});

@ -1,12 +1,13 @@
import { flushSync } from 'svelte';
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1] = target.querySelectorAll('button');
flushSync(() => {
@ -16,7 +17,7 @@ export default test({
b1.click();
});
assert.deepEqual(component.log, [
assert.deepEqual(log, [
'Outer Effect Start (0)',
'Outer Effect End (0)',
'Inner Effect (0)',

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,6 @@
<script>
const {log} = $props();
import { log } from './log.js';
let count = $state(0);
function increment() {

@ -1,16 +1,17 @@
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { log: [] };
before_test() {
log.length = 0;
},
async test({ assert, target, component }) {
async test({ assert, target }) {
const [b1, b2] = target.querySelectorAll('button');
b1.click();
b2.click();
await Promise.resolve();
assert.deepEqual(component.log, [0, 1]);
assert.deepEqual(log, [0, 1]);
}
});

@ -0,0 +1,2 @@
/** @type {any[]} */
export const log = [];

@ -1,5 +1,5 @@
<script>
let { log} = $props();
import { log } from './log.js';
let x = $state(0);
let y = $state(0);

Loading…
Cancel
Save