@@ -316,27 +316,48 @@ describe "JavaScript grammar", ->
316316 { tokens } = grammar . tokenizeLine ( '0X1D306' )
317317 expect ( tokens [ 0 ] ) . toEqual value: '0X1D306' , scopes : [ 'source.js' , 'constant.numeric.hex.js' ]
318318
319+ { tokens } = grammar . tokenizeLine ( '0x1D306n' )
320+ expect ( tokens [ 0 ] ) . toEqual value: '0x1D306n' , scopes : [ 'source.js' , 'constant.numeric.hex.js' ]
321+
322+ { tokens } = grammar . tokenizeLine ( '0X1D306n' )
323+ expect ( tokens [ 0 ] ) . toEqual value: '0X1D306n' , scopes : [ 'source.js' , 'constant.numeric.hex.js' ]
324+
319325 it "tokenizes binary literals" , - >
320326 { tokens} = grammar . tokenizeLine ( '0b011101110111010001100110' )
321327 expect ( tokens [ 0 ] ) . toEqual value: '0b011101110111010001100110' , scopes : [ 'source.js' , 'constant.numeric.binary.js' ]
322328
323329 { tokens } = grammar . tokenizeLine ( '0B011101110111010001100110' )
324330 expect ( tokens [ 0 ] ) . toEqual value: '0B011101110111010001100110' , scopes : [ 'source.js' , 'constant.numeric.binary.js' ]
325331
332+ { tokens } = grammar . tokenizeLine ( '0b011101110111010001100110n' )
333+ expect ( tokens [ 0 ] ) . toEqual value: '0b011101110111010001100110n' , scopes : [ 'source.js' , 'constant.numeric.binary.js' ]
334+
335+ { tokens } = grammar . tokenizeLine ( '0B011101110111010001100110n' )
336+ expect ( tokens [ 0 ] ) . toEqual value: '0B011101110111010001100110n' , scopes : [ 'source.js' , 'constant.numeric.binary.js' ]
337+
326338 it "tokenizes octal literals" , - >
327339 { tokens} = grammar . tokenizeLine ( '0o1411' )
328340 expect ( tokens [ 0 ] ) . toEqual value: '0o1411' , scopes : [ 'source.js' , 'constant.numeric.octal.js' ]
329341
330342 { tokens } = grammar . tokenizeLine ( '0O1411' )
331343 expect ( tokens [ 0 ] ) . toEqual value: '0O1411' , scopes : [ 'source.js' , 'constant.numeric.octal.js' ]
332344
345+ { tokens } = grammar . tokenizeLine ( '0o1411n' )
346+ expect ( tokens [ 0 ] ) . toEqual value: '0o1411n' , scopes : [ 'source.js' , 'constant.numeric.octal.js' ]
347+
348+ { tokens } = grammar . tokenizeLine ( '0O1411n' )
349+ expect ( tokens [ 0 ] ) . toEqual value: '0O1411n' , scopes : [ 'source.js' , 'constant.numeric.octal.js' ]
350+
333351 { tokens } = grammar . tokenizeLine ( '0010' )
334352 expect ( tokens [ 0 ] ) . toEqual value: '0010' , scopes : [ 'source.js' , 'constant.numeric.octal.js' ]
335353
336354 it "tokenizes decimals" , - >
337355 { tokens} = grammar . tokenizeLine ( '1234' )
338356 expect ( tokens [ 0 ] ) . toEqual value: '1234' , scopes : [ 'source.js' , 'constant.numeric.decimal.js' ]
339357
358+ { tokens } = grammar . tokenizeLine ( '123456789n' )
359+ expect ( tokens [ 0 ] ) . toEqual value: '123456789n' , scopes : [ 'source.js' , 'constant.numeric.decimal.js' ]
360+
340361 { tokens } = grammar . tokenizeLine ( '5e-10' )
341362 expect ( tokens [ 0 ] ) . toEqual value: '5e-10' , scopes : [ 'source.js' , 'constant.numeric.decimal.js' ]
342363
0 commit comments