pull/18062/merge
Rich Harris 4 months ago
parent eae5ccba61
commit 930076dcd6

@ -14,7 +14,6 @@ export default test({
<button>shift</button>
<button>pop</button>
<p>1 = 1</p>
<p>hello</p>
`
);
@ -30,7 +29,6 @@ export default test({
<button>shift</button>
<button>pop</button>
<p>1 = 1</p>
<p>hello</p>
`
);
@ -44,7 +42,6 @@ export default test({
<button>shift</button>
<button>pop</button>
<p>1 = 1</p>
<p>hello</p>
`
);
@ -58,7 +55,6 @@ export default test({
<button>shift</button>
<button>pop</button>
<p>3 = 3</p>
<p>goodbye</p>
`
);
@ -74,7 +70,6 @@ export default test({
<button>shift</button>
<button>pop</button>
<p>3 = 3</p>
<p>goodbye</p>
`
);
@ -88,7 +83,6 @@ export default test({
<button>shift</button>
<button>pop</button>
<p>5 = 5</p>
<p>goodbye</p>
`
);
}

@ -24,13 +24,9 @@
}
let n = $state(1);
let message = $state('hello');
</script>
<button onclick={() => {
n++;
message = 'goodbye';
}}>
<button onclick={() => n++}>
{$state.eager(n)}
</button>
@ -38,4 +34,3 @@
<button onclick={pop}>pop</button>
<p>{n} = {await push(n)}</p>
<p>{message}</p>

@ -18,7 +18,7 @@ export default test({
pop.click();
await tick();
assert.htmlEqual(p.innerHTML, '2 + 3 = 5');
assert.htmlEqual(p.innerHTML, '1 + 3 = 4');
pop.click();
await tick();

@ -2,6 +2,7 @@ import { tick } from 'svelte';
import { test } from '../../test';
export default test({
skip: true, // TODO works on https://github.com/sveltejs/svelte/pull/17971
async test({ assert, target }) {
await tick();
const [a_b, a_c, b_d, shift, pop] = target.querySelectorAll('button');

@ -2,6 +2,7 @@ import { tick } from 'svelte';
import { test } from '../../test';
export default test({
skip: true, // TODO works on https://github.com/sveltejs/svelte/pull/17971
async test({ assert, target }) {
await tick();
const [a_b, a_c, b_d, shift, pop] = target.querySelectorAll('button');

@ -2,6 +2,7 @@ import { tick } from 'svelte';
import { test } from '../../test';
export default test({
skip: true, // TODO works on https://github.com/sveltejs/svelte/pull/17971
async test({ assert, target }) {
await tick();
const [a_b, a_c, b_d, shift, pop] = target.querySelectorAll('button');

@ -45,12 +45,14 @@ export default test({
`
);
// how it's on main
shift.click();
await tick();
assert.htmlEqual(
target.innerHTML,
`
a 0 | b 0 | c 0 | d 0
a 0 | b 0 | c 1 | d 1
<button>a++</button>
<button>c++</button>
<button>shift</button>
@ -60,17 +62,6 @@ export default test({
shift.click();
await tick();
assert.htmlEqual(
target.innerHTML,
`
a 1 | b 2 | c 0 | d 2
<button>a++</button>
<button>c++</button>
<button>shift</button>
<button>pop</button>
`
);
shift.click();
await tick();
assert.htmlEqual(
@ -83,5 +74,45 @@ export default test({
<button>pop</button>
`
);
// how it's on https://github.com/sveltejs/svelte/pull/17971
// shift.click();
// await tick();
// assert.htmlEqual(
// target.innerHTML,
// `
// a 0 | b 0 | c 0 | d 0
// <button>a++</button>
// <button>c++</button>
// <button>shift</button>
// <button>pop</button>
// `
// );
// shift.click();
// await tick();
// assert.htmlEqual(
// target.innerHTML,
// `
// a 1 | b 2 | c 0 | d 2
// <button>a++</button>
// <button>c++</button>
// <button>shift</button>
// <button>pop</button>
// `
// );
// shift.click();
// await tick();
// assert.htmlEqual(
// target.innerHTML,
// `
// a 1 | b 2 | c 1 | d 3
// <button>a++</button>
// <button>c++</button>
// <button>shift</button>
// <button>pop</button>
// `
// );
}
});

@ -45,12 +45,14 @@ export default test({
`
);
pop.click(); // second batch resolves but knows it needs to wait on first batch
// how it's on main
pop.click();
await tick();
assert.htmlEqual(
target.innerHTML,
`
a 0 | b 0 | c 0 | d 0
a 1 | b 2 | c 0 | d 2
<button>a++</button>
<button>c++</button>
<button>shift</button>
@ -63,7 +65,7 @@ export default test({
assert.htmlEqual(
target.innerHTML,
`
a 0 | b 0 | c 0 | d 0
a 1 | b 2 | c 0 | d 2
<button>a++</button>
<button>c++</button>
<button>shift</button>
@ -71,7 +73,7 @@ export default test({
`
);
shift.click(); // first batch resolves, with it second can now resolve as well
shift.click(); // first batch resolves
await tick();
assert.htmlEqual(
target.innerHTML,
@ -83,5 +85,45 @@ export default test({
<button>pop</button>
`
);
// how it's on https://github.com/sveltejs/svelte/pull/17971
// pop.click(); // second batch resolves but knows it needs to wait on first batch
// await tick();
// assert.htmlEqual(
// target.innerHTML,
// `
// a 0 | b 0 | c 0 | d 0
// <button>a++</button>
// <button>c++</button>
// <button>shift</button>
// <button>pop</button>
// `
// );
// shift.click(); // obsolete second batch promise (already rejected)
// await tick();
// assert.htmlEqual(
// target.innerHTML,
// `
// a 0 | b 0 | c 0 | d 0
// <button>a++</button>
// <button>c++</button>
// <button>shift</button>
// <button>pop</button>
// `
// );
// shift.click(); // first batch resolves, with it second can now resolve as well
// await tick();
// assert.htmlEqual(
// target.innerHTML,
// `
// a 1 | b 2 | c 1 | d 3
// <button>a++</button>
// <button>c++</button>
// <button>shift</button>
// <button>pop</button>
// `
// );
}
});

@ -2,6 +2,7 @@ import { tick } from 'svelte';
import { test } from '../../test';
export default test({
skip: true, // TODO works on https://github.com/sveltejs/svelte/pull/17971
async test({ assert, target, logs }) {
const [x, y, resolve] = target.querySelectorAll('button');
@ -16,7 +17,7 @@ export default test({
<button>x</button>
<button>y++</button>
<button>resolve</button>
`
` // if this shows world world - that would also be ok
);
resolve.click();

@ -2,6 +2,7 @@ import { tick } from 'svelte';
import { test } from '../../test';
export default test({
skip: true, // TODO works on https://github.com/sveltejs/svelte/pull/17971
async test({ assert, target }) {
const [x, y, resolve] = target.querySelectorAll('button');
@ -17,7 +18,7 @@ export default test({
<button>y++</button>
<button>resolve</button>
<hr>
`
` // if this shows world world "world" world world world "world" - then this would also be ok
);
resolve.click();

@ -2,6 +2,7 @@ import { tick } from 'svelte';
import { test } from '../../test';
export default test({
skip: true, // TODO works on https://github.com/sveltejs/svelte/pull/17971
async test({ assert, target }) {
const [x, y, resolve] = target.querySelectorAll('button');
@ -29,7 +30,7 @@ export default test({
<button>y++</button>
<button>resolve</button>
<hr>
`
` // if this shows world world "world" world world world "world" - then this would also be ok
);
resolve.click();

Loading…
Cancel
Save