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