@ -1,4 +1,5 @@
import { describe , assert , it } from 'vitest' ;
import { flushSync } from '../../src/index-client' ;
import * as $ from '../../src/internal/client/runtime' ;
import {
effect ,
@ -47,8 +48,8 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
assert . deepEqual ( log , [ '0:0' , '1:2' , '2:4' ] ) ;
} ;
@ -68,8 +69,8 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
assert . deepEqual ( log , [ 'A:0:0' , 'B:0' , 'A:1:2' , 'B:2' , 'A:2:4' , 'B:4' ] ) ;
} ;
@ -89,8 +90,8 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
assert . deepEqual ( log , [ 'A:0' , 'B:0:0' , 'A:2' , 'B:1:2' , 'A:4' , 'B:2:4' ] ) ;
} ;
@ -107,8 +108,8 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
assert . deepEqual ( log , [ 0 , 2 , 4 ] ) ;
} ;
@ -126,8 +127,8 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
assert . deepEqual ( log , [ 0 , 4 , 8 ] ) ;
} ;
@ -158,18 +159,18 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ) ;
flushSync( ) ;
let i = 2 ;
while ( -- i ) {
res . length = 0 ;
set ( B , 1 ) ;
set ( A , 1 + i * 2 ) ;
$. flushSync( ) ;
flushSync( ) ;
set ( A , 2 + i * 2 ) ;
set ( B , 2 ) ;
$. flushSync( ) ;
flushSync( ) ;
assert . equal ( res . length , 4 ) ;
assert . deepEqual ( res , [ 3198 , 1601 , 3195 , 1598 ] ) ;
@ -191,13 +192,13 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
// Ensure we're not leaking consumers
assert . deepEqual ( count . reactions ? . length , 1 ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
// Ensure we're not leaking consumers
assert . deepEqual ( count . reactions ? . length , 1 ) ;
$. flushSync( ( ) = > set ( count , 3 ) ) ;
flushSync( ( ) = > set ( count , 3 ) ) ;
// Ensure we're not leaking consumers
assert . deepEqual ( count . reactions ? . length , 1 ) ;
assert . deepEqual ( log , [ 0 , 1 , 2 , 3 ] ) ;
@ -220,11 +221,11 @@ describe('signals', () => {
$ . get ( c ) ;
$. flushSync( ( ) = > set ( a , 1 ) ) ;
flushSync( ( ) = > set ( a , 1 ) ) ;
$ . get ( c ) ;
$. flushSync( ( ) = > set ( b , 1 ) ) ;
flushSync( ( ) = > set ( b , 1 ) ) ;
$ . get ( c ) ;
@ -255,11 +256,11 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
$. flushSync( ( ) = > set ( count , 3 ) ) ;
$. flushSync( ( ) = > set ( count , 4 ) ) ;
$. flushSync( ( ) = > set ( count , 0 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 3 ) ) ;
flushSync( ( ) = > set ( count , 4 ) ) ;
flushSync( ( ) = > set ( count , 0 ) ) ;
// Ensure we're not leaking consumers
assert . deepEqual ( count . reactions ? . length , 1 ) ;
assert . deepEqual ( log , [ 0 , 2 , 'limit' , 0 ] ) ;
@ -285,7 +286,7 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ) ;
flushSync( ) ;
assert . deepEqual ( log , [ [ ] , [ ] ] ) ;
} ;
} ) ;
@ -307,7 +308,7 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ) ;
flushSync( ) ;
assert . deepEqual ( log , [ [ { } ] , [ { } ] ] ) ;
} ;
} ) ;
@ -324,7 +325,7 @@ describe('signals', () => {
return ( ) = > {
let errored = false ;
try {
$. flushSync( ) ;
flushSync( ) ;
} catch ( e : any ) {
assert . include ( e . message , 'ERR_SVELTE_TOO_MANY_UPDATES' ) ;
errored = true ;
@ -345,7 +346,7 @@ describe('signals', () => {
return ( ) = > {
let errored = false ;
try {
$. flushSync( ) ;
flushSync( ) ;
} catch ( e : any ) {
assert . include ( e . message , 'ERR_SVELTE_TOO_MANY_UPDATES' ) ;
errored = true ;
@ -370,8 +371,8 @@ describe('signals', () => {
} ) ;
return ( ) = > {
$. flushSync( ( ) = > set ( count , 1 ) ) ;
$. flushSync( ( ) = > set ( count , 2 ) ) ;
flushSync( ( ) = > set ( count , 1 ) ) ;
flushSync( ( ) = > set ( count , 2 ) ) ;
assert . equal ( teardown , 1 ) ;
} ;
} ) ;