@@ -95,30 +95,41 @@ describe "Javascript grammar", ->
95
95
expect (tokens[6 ]).toEqual value : ' /' , scopes : [' source.js' , ' string.regexp.js' , ' punctuation.definition.string.end.js' ]
96
96
expect (tokens[7 ]).toEqual value : ' ]' , scopes : [' source.js' , ' meta.brace.square.js' ]
97
97
98
+ it " verifies that regular expressions have explicit count modifiers" , ->
99
+ source = fs .readFileSync (path .resolve (__dirname , ' ..' , ' grammars' , ' javascript.cson' ), ' utf8' )
100
+ expect (source .search / {,/ ).toEqual - 1
101
+
102
+ source = fs .readFileSync (path .resolve (__dirname , ' ..' , ' grammars' , ' regular expressions (javascript).cson' ), ' utf8' )
103
+ expect (source .search / {,/ ).toEqual - 1
104
+
105
+ describe " numbers" , ->
106
+ it " tokenizes hexadecimals" , ->
98
107
{tokens } = grammar .tokenizeLine (' 0x1D306' )
99
108
expect (tokens[0 ]).toEqual value : ' 0x1D306' , scopes : [' source.js' , ' constant.numeric.js' ]
100
109
101
110
{tokens } = grammar .tokenizeLine (' 0X1D306' )
102
111
expect (tokens[0 ]).toEqual value : ' 0X1D306' , scopes : [' source.js' , ' constant.numeric.js' ]
103
112
113
+ it " tokenizes binary literals" , ->
104
114
{tokens } = grammar .tokenizeLine (' 0b011101110111010001100110' )
105
115
expect (tokens[0 ]).toEqual value : ' 0b011101110111010001100110' , scopes : [' source.js' , ' constant.numeric.js' ]
106
116
107
117
{tokens } = grammar .tokenizeLine (' 0B011101110111010001100110' )
108
118
expect (tokens[0 ]).toEqual value : ' 0B011101110111010001100110' , scopes : [' source.js' , ' constant.numeric.js' ]
109
119
120
+ it " tokenizes octal literals" , ->
110
121
{tokens } = grammar .tokenizeLine (' 0o1411' )
111
122
expect (tokens[0 ]).toEqual value : ' 0o1411' , scopes : [' source.js' , ' constant.numeric.js' ]
112
123
113
124
{tokens } = grammar .tokenizeLine (' 0O1411' )
114
125
expect (tokens[0 ]).toEqual value : ' 0O1411' , scopes : [' source.js' , ' constant.numeric.js' ]
115
126
116
- it " verifies that regular expressions have explicit count modifiers " , ->
117
- source = fs . readFileSync ( path . resolve ( __dirname , ' .. ' , ' grammars ' , ' javascript.cson ' ), ' utf8 ' )
118
- expect (source . search / {, / ).toEqual - 1
127
+ it " tokenizes decimals " , ->
128
+ { tokens } = grammar . tokenizeLine ( ' 5e-10 ' )
129
+ expect (tokens[ 0 ] ).toEqual value : ' 5e-10 ' , scopes : [ ' source.js ' , ' constant.numeric.js ' ]
119
130
120
- source = fs . readFileSync ( path . resolve ( __dirname , ' .. ' , ' grammars ' , ' regular expressions (javascript).cson ' ), ' utf8 ' )
121
- expect (source . search / {, / ).toEqual - 1
131
+ { tokens } = grammar . tokenizeLine ( ' -5E+5 ' )
132
+ expect (tokens[ 0 ] ).toEqual value : ' -5E+5 ' , scopes : [ ' source.js ' , ' constant.numeric.js ' ]
122
133
123
134
describe " operators" , ->
124
135
it " tokenizes void correctly" , ->
0 commit comments