@@ -12,6 +12,33 @@ test.describe('dev-default', () => {
1212 defineTest ( f )
1313} )
1414
15+ test . describe ( 'dev-initial' , ( ) => {
16+ const f = useFixture ( { root : 'examples/basic' , mode : 'dev' } )
17+
18+ // verify css is collected properly on server startup (i.e. empty module graph)
19+ testNoJs ( 'style' , async ( { page } ) => {
20+ await page . goto ( f . url ( './' ) )
21+ await expect ( page . locator ( '.test-style-client' ) ) . toHaveCSS (
22+ 'color' ,
23+ 'rgb(255, 165, 0)' ,
24+ )
25+ await expect ( page . locator ( '.test-style-server' ) ) . toHaveCSS (
26+ 'color' ,
27+ 'rgb(255, 165, 0)' ,
28+ )
29+ await expect ( page . locator ( '.test-tw-client' ) ) . toHaveCSS (
30+ 'color' ,
31+ // blue-500
32+ 'rgb(0, 0, 255)' ,
33+ )
34+ await expect ( page . locator ( '.test-tw-server' ) ) . toHaveCSS (
35+ 'color' ,
36+ // red-500
37+ 'rgb(255, 0, 0)' ,
38+ )
39+ } )
40+ } )
41+
1542test . describe ( 'build-default' , ( ) => {
1643 const f = useFixture ( { root : 'examples/basic' , mode : 'build' } )
1744 defineTest ( f )
@@ -43,6 +70,39 @@ test.describe('build-base', () => {
4370 defineTest ( f )
4471} )
4572
73+ test . describe ( 'dev-react-compiler' , ( ) => {
74+ const f = useFixture ( {
75+ root : 'examples/basic' ,
76+ mode : 'dev' ,
77+ cliOptions : {
78+ env : {
79+ TEST_REACT_COMPILER : 'true' ,
80+ } ,
81+ } ,
82+ } )
83+ defineTest ( f )
84+
85+ test ( 'verify react compiler' , async ( { page } ) => {
86+ await page . goto ( f . url ( ) )
87+ await waitForHydration ( page )
88+ const res = await page . request . get ( f . url ( 'src/routes/client.tsx' ) )
89+ expect ( await res . text ( ) ) . toContain ( 'react.memo_cache_sentinel' )
90+ } )
91+ } )
92+
93+ test . describe ( 'build-react-compiler' , ( ) => {
94+ const f = useFixture ( {
95+ root : 'examples/basic' ,
96+ mode : 'build' ,
97+ cliOptions : {
98+ env : {
99+ TEST_REACT_COMPILER : 'true' ,
100+ } ,
101+ } ,
102+ } )
103+ defineTest ( f )
104+ } )
105+
46106test . describe ( ( ) => {
47107 // disabled by default
48108 if ( ! process . env . TEST_ISOLATED ) return
@@ -623,15 +683,6 @@ function defineTest(f: Fixture) {
623683 'rgb(255, 0, 0)' ,
624684 )
625685 } )
626-
627- testNoJs ( 'no FOUC after server restart @nojs' , async ( { page } ) => {
628- const res = await page . request . get ( f . url ( '/__test_restart' ) )
629- expect ( await res . text ( ) ) . toBe ( 'ok' )
630- await new Promise ( ( r ) => setTimeout ( r , 100 ) )
631- await page . goto ( f . url ( './' ) )
632- await testCss ( page )
633- await testTailwind ( page )
634- } )
635686 } )
636687
637688 test ( 'temporary references @js' , async ( { page } ) => {
@@ -952,4 +1003,17 @@ function defineTest(f: Fixture) {
9521003 await waitForHydration ( page )
9531004 expect ( errors ) . toEqual ( [ ] )
9541005 } )
1006+
1007+ test ( 'browser only' , async ( { page, browser } ) => {
1008+ await page . goto ( f . url ( ) )
1009+ await expect ( page . getByTestId ( 'test-browser-only' ) ) . toHaveText (
1010+ 'test-browser-only: true' ,
1011+ )
1012+
1013+ const pageNoJs = await browser . newPage ( { javaScriptEnabled : false } )
1014+ await pageNoJs . goto ( f . url ( ) )
1015+ await expect ( pageNoJs . getByTestId ( 'test-browser-only' ) ) . toHaveText (
1016+ 'test-browser-only: loading...' ,
1017+ )
1018+ } )
9551019}
0 commit comments