From 423b1b52441ed4297451cc1299076737899d9991 Mon Sep 17 00:00:00 2001 From: adiguba Date: Thu, 10 Oct 2024 13:14:41 +0200 Subject: [PATCH] rewrite --- .../samples/each-was-empty/_config.js | 82 ++++++++++++++----- 1 file changed, 62 insertions(+), 20 deletions(-) diff --git a/packages/svelte/tests/runtime-runes/samples/each-was-empty/_config.js b/packages/svelte/tests/runtime-runes/samples/each-was-empty/_config.js index 8f8551aa16..8595e97953 100644 --- a/packages/svelte/tests/runtime-runes/samples/each-was-empty/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/each-was-empty/_config.js @@ -10,29 +10,71 @@ export default test({ const [increment, set_undefined, set_null, set_empty, set_list] = target.querySelectorAll('button'); - const [span] = target.querySelectorAll('span'); - - let count = 0; - assert.equal(span.innerHTML, `${count}`); - - for (const button of [set_undefined, set_null, set_empty, set_undefined, set_null, set_empty]) { - flushSync(() => { - button.click(); - }); - flushSync(() => { - increment.click(); - count++; - }); - assert.equal(span.innerHTML, `${count}`); - } - - flushSync(() => { - set_list.click(); - }); + let [span] = target.querySelectorAll('span'); + + // initial value + assert.exists(span); + assert.equal(span.innerHTML, '0'); + + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '1'); + + // change collection to undefined + flushSync(() => set_undefined.click()); + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '2'); + + // change collection to null + flushSync(() => set_null.click()); + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '3'); + + // change collection to empty + flushSync(() => set_empty.click()); + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '4'); + + // change collection to undefined + flushSync(() => set_undefined.click()); + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '5'); + + // change collection to [1,2,3] + flushSync(() => set_list.click()); + [span] = target.querySelectorAll('span'); + assert.notExists(span); + assert.equal(target.querySelectorAll('li').length, 3); + + // change collection to undefined + flushSync(() => set_undefined.click()); + [span] = target.querySelectorAll('span'); + assert.exists(span); + assert.equal(span.innerHTML, '5'); + + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '6'); + + // change collection to null + flushSync(() => set_null.click()); + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '7'); + + // change collection to empty + flushSync(() => set_empty.click()); + // increment value + flushSync(() => increment.click()); + assert.equal(span.innerHTML, '8'); assert.htmlEqual( target.innerHTML, - `` + `` ); } });