@@ -27,7 +27,7 @@ export function assertFunction(text: string, parser: Parser, f: () => nodes.Node
27
27
28
28
export function assertNoNode ( text : string , parser : Parser , f : ( ) => nodes . Node | null ) : void {
29
29
let node = parser . internalParse ( text , f ) ! ;
30
- assert . ok ( node === null ) ;
30
+ assert . ok ( node === null || ! parser . accept ( TokenType . EOF ) ) ;
31
31
}
32
32
33
33
export function assertError ( text : string , parser : Parser , f : ( ) => nodes . Node | null , error : nodes . IRule ) : void {
@@ -118,9 +118,6 @@ suite('CSS - Parser', () => {
118
118
assertNode ( '@font-face { src: url(http://test) }' , parser , parser . _parseFontFace . bind ( parser ) ) ;
119
119
assertNode ( '@font-face { font-style: normal; font-stretch: normal; }' , parser , parser . _parseFontFace . bind ( parser ) ) ;
120
120
assertNode ( '@font-face { unicode-range: U+0021-007F }' , parser , parser . _parseFontFace . bind ( parser ) ) ;
121
- assertError ( '@font-face { unicode-range: U+002?-01??; }' , parser , parser . _parseFontFace . bind ( parser ) , ParseError . SemiColonExpected ) ;
122
- assertError ( '@font-face { unicode-range: U+00?0; }' , parser , parser . _parseFontFace . bind ( parser ) , ParseError . SemiColonExpected ) ;
123
- assertError ( '@font-face { unicode-range: U+0XFF; }' , parser , parser . _parseFontFace . bind ( parser ) , ParseError . SemiColonExpected ) ;
124
121
assertError ( '@font-face { font-style: normal font-stretch: normal; }' , parser , parser . _parseFontFace . bind ( parser ) , ParseError . SemiColonExpected ) ;
125
122
} ) ;
126
123
@@ -425,9 +422,10 @@ suite('CSS - Parser', () => {
425
422
assertNode ( 'grid-template-columns: [a] auto [b] minmax(min-content, 1fr) [b c d] repeat(2, [e] 40px)' , parser , parser . _parseDeclaration . bind ( parser ) ) ;
426
423
assertNode ( 'grid-template: [foo] 10px / [bar] 10px' , parser , parser . _parseDeclaration . bind ( parser ) ) ;
427
424
assertNode ( `grid-template: 'left1 footer footer' 1fr [end] / [ini] 1fr [info-start] 2fr 1fr [end]` , parser , parser . _parseDeclaration . bind ( parser ) ) ;
425
+ assertNode ( `content: "("counter(foo) ")"` , parser , parser . _parseDeclaration . bind ( parser ) ) ;
428
426
} ) ;
429
427
430
- test ( 'term' , function ( ) {
428
+ test . only ( 'term' , function ( ) {
431
429
let parser = new Parser ( ) ;
432
430
assertNode ( '"asdasd"' , parser , parser . _parseTerm . bind ( parser ) ) ;
433
431
assertNode ( 'name' , parser , parser . _parseTerm . bind ( parser ) ) ;
@@ -448,8 +446,13 @@ suite('CSS - Parser', () => {
448
446
assertNode ( 'calc(50% + (100%/3 - 2*1em - 2*1px))' , parser , parser . _parseTerm . bind ( parser ) ) ;
449
447
assertNoNode ( '%(\'repetitions: %S file: %S\', 1 + 2, "directory/file.less")' , parser , parser . _parseTerm . bind ( parser ) ) ; // less syntax
450
448
assertNoNode ( '~"ms:alwaysHasItsOwnSyntax.For.Stuff()"' , parser , parser . _parseTerm . bind ( parser ) ) ; // less syntax
449
+ assertNode ( 'U+002?-0199' , parser , parser . _parseTerm . bind ( parser ) ) ;
450
+ assertNoNode ( 'U+002?-01??' , parser , parser . _parseTerm . bind ( parser ) ) ;
451
+ assertNoNode ( 'U+00?0;' , parser , parser . _parseTerm . bind ( parser ) ) ;
452
+ assertNoNode ( 'U+0XFF;' , parser , parser . _parseTerm . bind ( parser ) ) ;
451
453
} ) ;
452
454
455
+
453
456
test ( 'function' , function ( ) {
454
457
let parser = new Parser ( ) ;
455
458
assertNode ( 'name( "bla" )' , parser , parser . _parseFunction . bind ( parser ) ) ;
0 commit comments