File tree Expand file tree Collapse file tree 4 files changed +77
-0
lines changed
packages/svelte/tests/runtime-runes/samples Expand file tree Collapse file tree 4 files changed +77
-0
lines changed Original file line number Diff line number Diff line change 1+ import { test } from '../../test' ;
2+ import { flushSync } from 'svelte' ;
3+
4+ export default test ( {
5+ mode : [ 'client' ] ,
6+ async test ( { target, assert } ) {
7+ const button = target . querySelector ( 'button' ) ;
8+
9+ flushSync ( ( ) => button ?. click ( ) ) ;
10+
11+ assert . notInclude ( target . textContent ?. trim ( ) , 'hit: true' ) ;
12+ }
13+ } ) ;
Original file line number Diff line number Diff line change 1+ <script lang =" ts" >
2+ import {untrack } from ' svelte' ;
3+
4+ let b = $state (false );
5+ let v = $state (" one" );
6+ let hit = $state (false );
7+
8+ function hitElse(){
9+ $effect .root (()=> {
10+ if (! untrack (()=> hit )){
11+ hit = true
12+ }
13+ })
14+ }
15+
16+ $effect (() => {
17+ v = b ? " one" : " two" ;
18+ })
19+ </script >
20+
21+
22+ <button onclick ={() => b = ! b }>Trigger</button >
23+
24+ hit: {hit }
25+
26+ {#if v === " one" }
27+ <div >if1 matched!</div >
28+ {:else if v === " two" }
29+ <div >if2 matched!</div >
30+ {:else }
31+ <div >nothing matched {hitElse ()}</div >
32+ {/if }
Original file line number Diff line number Diff line change 1+ import { test } from '../../test' ;
2+ import { flushSync } from 'svelte' ;
3+
4+ export default test ( {
5+ mode : [ 'client' ] ,
6+ async test ( { target, assert } ) {
7+ const button = target . querySelector ( 'button' ) ;
8+
9+ flushSync ( ( ) => button ?. click ( ) ) ;
10+
11+ assert . equal ( target . textContent ?. trim ( ) , 'Trigger' ) ;
12+ }
13+ } ) ;
Original file line number Diff line number Diff line change 1+ <script >
2+ let centerRow = $state ({ nested: { optional: 2 , required: 3 } },
3+ );
4+
5+ let someChange = $state (false );
6+ $effect (() => {
7+ if (someChange) centerRow = undefined ;
8+ });
9+ </script >
10+
11+ {#if centerRow ?.nested }
12+ {#if centerRow ?.nested ?.optional != undefined && centerRow .nested .optional > 0 }
13+ op: {centerRow .nested .optional }<br />
14+ {:else }
15+ req: {centerRow .nested .required }<br />
16+ {/if }
17+ {/if }
18+
19+ <button onclick ={() => (someChange = true )}>Trigger</button >
You can’t perform that action at this time.
0 commit comments