@@ -163,17 +163,20 @@ describe('css', () => {
163
163
path . join ( distDir , 'index.css' ) ,
164
164
'utf8' ,
165
165
) ;
166
- assert ( / u r l \( t e s t \. [ 0 - 9 a - f ] + \. w o f f 2 \) / . test ( css ) ) ;
167
- assert ( css . includes ( 'url(http://google.com)' ) ) ;
166
+ assert ( / u r l \( " t e s t \. [ 0 - 9 a - f ] + \. w o f f 2 " \) / . test ( css ) ) ;
167
+ assert ( css . includes ( 'url(" http://google.com" )' ) ) ;
168
168
assert ( css . includes ( '.index' ) ) ;
169
- assert ( css . includes ( 'url(data:image/gif;base64,quotes)' ) ) ;
169
+ assert ( css . includes ( 'url(" data:image/gif;base64,quotes" )' ) ) ;
170
170
assert ( css . includes ( '.quotes' ) ) ;
171
- assert ( css . includes ( 'url(data:image/gif;base64,no-quote)' ) ) ;
171
+ assert ( css . includes ( 'url(" data:image/gif;base64,no-quote" )' ) ) ;
172
172
assert ( css . includes ( '.no-quote' ) ) ;
173
173
174
174
assert (
175
175
await outputFS . exists (
176
- path . join ( distDir , css . match ( / u r l \( ( t e s t \. [ 0 - 9 a - f ] + \. w o f f 2 ) \) / ) [ 1 ] ) ,
176
+ path . join (
177
+ distDir ,
178
+ css . match ( / u r l \( " ( t e s t \. [ 0 - 9 a - f ] + \. w o f f 2 ) " \) / ) [ 1 ] ,
179
+ ) ,
177
180
) ,
178
181
) ;
179
182
} ) ;
@@ -217,9 +220,9 @@ describe('css', () => {
217
220
) ;
218
221
assert ( css . includes ( 'url(http://google.com)' ) , 'url() found' ) ;
219
222
assert ( css . includes ( '.index' ) , '.index found' ) ;
220
- assert ( css . includes ( ' url( data:image/gif;base64,quotes)' ) ) ;
223
+ assert ( / u r l \( " ? d a t a : i m a g e \ /g i f ; b a s e 6 4 , q u o t e s " ? \) / . test ( css ) ) ;
221
224
assert ( css . includes ( '.quotes' ) ) ;
222
- assert ( css . includes ( ' url( data:image/gif;base64,no-quote)' ) ) ;
225
+ assert ( / u r l \( " ? d a t a : i m a g e \ /g i f ; b a s e 6 4 , n o - q u o t e " ? \) / . test ( css ) ) ;
223
226
assert ( css . includes ( '.no-quote' ) ) ;
224
227
225
228
assert (
@@ -362,7 +365,7 @@ describe('css', () => {
362
365
assert . equal (
363
366
css . trim ( ) ,
364
367
`.svg-img {
365
- background-image: url(data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A);
368
+ background-image: url(" data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cfilter%20id%3D%22blur-_.%21~%2a%22%3E%0A%20%20%20%20%3CfeGaussianBlur%20stdDeviation%3D%225%22%3E%3C%2FfeGaussianBlur%3E%0A%20%20%3C%2Ffilter%3E%0A%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2250%22%20fill%3D%22green%22%20filter%3D%22url%28%27%23blur-_.%21~%2a%27%29%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A" );
366
369
}` ,
367
370
) ;
368
371
} ) ;
@@ -375,7 +378,7 @@ describe('css', () => {
375
378
) ;
376
379
assert (
377
380
css . startsWith ( `.webp-img {
378
- background-image: url(data:image/webp;base64,UklGR` ) ,
381
+ background-image: url(" data:image/webp;base64,UklGR` ) ,
379
382
) ;
380
383
} ) ;
381
384
@@ -466,4 +469,21 @@ describe('css', () => {
466
469
} ) ;
467
470
} ) ;
468
471
}
472
+
473
+ it ( 'should support css nesting with @parcel/css' , async function ( ) {
474
+ let b = await originalBundle (
475
+ path . join ( __dirname , '/integration/css-nesting/a.css' ) ,
476
+ {
477
+ defaultConfig :
478
+ path . dirname ( require . resolve ( '@parcel/test-utils' ) ) +
479
+ '/.parcelrc-css' ,
480
+ defaultTargetOptions : {
481
+ engines : { } ,
482
+ } ,
483
+ } ,
484
+ ) ;
485
+
486
+ let res = await outputFS . readFile ( b . getBundles ( ) [ 0 ] . filePath , 'utf8' ) ;
487
+ assert ( res . includes ( '.foo.bar' ) ) ;
488
+ } ) ;
469
489
} ) ;
0 commit comments