@@ -251,3 +251,68 @@ bar") and (fancy(baz))) {}`,
251
251
] ,
252
252
) ;
253
253
}
254
+
255
+ // https://github.com/w3c/csswg-drafts/issues/5764
256
+ {
257
+ {
258
+ const t = tokenizer ( {
259
+ css : ' -- ' ,
260
+ } ) ;
261
+
262
+ assert . deepEqual (
263
+ collectTokens ( t ) ,
264
+ [
265
+ [ 'whitespace-token' , ' ' , 0 , 0 , undefined ] ,
266
+ [ 'ident-token' , '--' , 1 , 2 , { value : '--' } ] ,
267
+ [ 'whitespace-token' , ' ' , 3 , 3 , undefined ] ,
268
+ [ 'EOF-token' , '' , - 1 , - 1 , undefined ] ,
269
+ ] ,
270
+ ) ;
271
+ }
272
+
273
+ {
274
+ const t = tokenizer ( {
275
+ css : '.--' ,
276
+ } ) ;
277
+
278
+ assert . deepEqual (
279
+ collectTokens ( t ) ,
280
+ [
281
+ [ 'delim-token' , '.' , 0 , 0 , { value : '.' } ] ,
282
+ [ 'ident-token' , '--' , 1 , 2 , { value : '--' } ] ,
283
+ [ 'EOF-token' , '' , - 1 , - 1 , undefined ] ,
284
+ ] ,
285
+ ) ;
286
+ }
287
+
288
+ {
289
+ const t = tokenizer ( {
290
+ css : ' _ ' ,
291
+ } ) ;
292
+
293
+ assert . deepEqual (
294
+ collectTokens ( t ) ,
295
+ [
296
+ [ 'whitespace-token' , ' ' , 0 , 0 , undefined ] ,
297
+ [ 'ident-token' , '_' , 1 , 1 , { value : '_' } ] ,
298
+ [ 'whitespace-token' , ' ' , 2 , 2 , undefined ] ,
299
+ [ 'EOF-token' , '' , - 1 , - 1 , undefined ] ,
300
+ ] ,
301
+ ) ;
302
+ }
303
+
304
+ {
305
+ const t = tokenizer ( {
306
+ css : '._' ,
307
+ } ) ;
308
+
309
+ assert . deepEqual (
310
+ collectTokens ( t ) ,
311
+ [
312
+ [ 'delim-token' , '.' , 0 , 0 , { value : '.' } ] ,
313
+ [ 'ident-token' , '_' , 1 , 1 , { value : '_' } ] ,
314
+ [ 'EOF-token' , '' , - 1 , - 1 , undefined ] ,
315
+ ] ,
316
+ ) ;
317
+ }
318
+ }
0 commit comments