@@ -632,11 +632,15 @@ function defineTest(f: Fixture) {
632632
633633 async function expectNoDuplicateServerCss ( page : Page ) {
634634 // check only manually inserted stylesheet link exists
635- // (toHaveAttribute passes only when locator matches single element)
636- await expect ( page . locator ( 'link[rel="stylesheet"]' ) ) . toHaveAttribute (
637- 'href' ,
638- '/test-style-server-manual.css' ,
639- )
635+ await expect ( page . locator ( 'link[rel="stylesheet"]' ) ) . toHaveCount ( 3 )
636+ for ( const locator of await page
637+ . locator ( 'link[rel="stylesheet"]' )
638+ . all ( ) ) {
639+ await expect ( locator ) . toHaveAttribute (
640+ 'data-precedence' ,
641+ 'test-style-manual-link' ,
642+ )
643+ }
640644 }
641645
642646 test ( 'no duplicate server css' , async ( { page } ) => {
@@ -854,6 +858,56 @@ function defineTest(f: Fixture) {
854858 )
855859 } )
856860
861+ test ( 'css url client @js' , async ( { page } ) => {
862+ await page . goto ( f . url ( ) )
863+ await waitForHydration ( page )
864+ await expect ( page . locator ( '.test-style-url-client' ) ) . toHaveCSS (
865+ 'color' ,
866+ 'rgb(255, 165, 0)' ,
867+ )
868+
869+ if ( f . mode !== 'dev' ) return
870+
871+ // test client css url HMR
872+ await using _ = await expectNoReload ( page )
873+ const editor = f . createEditor ( 'src/routes/style-client/client-url.css' )
874+ editor . edit ( ( s ) => s . replaceAll ( 'rgb(255, 165, 0)' , 'rgb(0, 165, 255)' ) )
875+ await expect ( page . locator ( '.test-style-url-client' ) ) . toHaveCSS (
876+ 'color' ,
877+ 'rgb(0, 165, 255)' ,
878+ )
879+ editor . reset ( )
880+ await expect ( page . locator ( '.test-style-url-client' ) ) . toHaveCSS (
881+ 'color' ,
882+ 'rgb(255, 165, 0)' ,
883+ )
884+ } )
885+
886+ test ( 'css url server @js' , async ( { page } ) => {
887+ await page . goto ( f . url ( ) )
888+ await waitForHydration ( page )
889+ await expect ( page . locator ( '.test-style-url-server' ) ) . toHaveCSS (
890+ 'color' ,
891+ 'rgb(255, 165, 0)' ,
892+ )
893+
894+ if ( f . mode !== 'dev' ) return
895+
896+ // test server css url HMR
897+ await using _ = await expectNoReload ( page )
898+ const editor = f . createEditor ( 'src/routes/style-server/server-url.css' )
899+ editor . edit ( ( s ) => s . replaceAll ( 'rgb(255, 165, 0)' , 'rgb(0, 165, 255)' ) )
900+ await expect ( page . locator ( '.test-style-url-server' ) ) . toHaveCSS (
901+ 'color' ,
902+ 'rgb(0, 165, 255)' ,
903+ )
904+ editor . reset ( )
905+ await expect ( page . locator ( '.test-style-url-server' ) ) . toHaveCSS (
906+ 'color' ,
907+ 'rgb(255, 165, 0)' ,
908+ )
909+ } )
910+
857911 test ( 'tailwind @js' , async ( { page } ) => {
858912 await page . goto ( f . url ( ) )
859913 await waitForHydration ( page )
0 commit comments