@@ -196,3 +196,18 @@ describe 'PHP grammar', ->
196196 expect (tokens[1 ][4 ]).toEqual value : ' ' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' ]
197197 expect (tokens[1 ][5 ]).toEqual value : ' 2' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' constant.numeric.php' ]
198198 expect (tokens[1 ][6 ]).toEqual value : ' ;' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' punctuation.terminator.expression.php' ]
199+
200+ it ' should tokenize namespace at the same line as <?php' , ->
201+ tokens = grammar .tokenizeLines " <?php namespace Test;"
202+ expect (tokens[0 ][1 ]).toEqual value : ' ' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' ]
203+ expect (tokens[0 ][2 ]).toEqual value : ' namespace' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' , ' keyword.other.namespace.php' ]
204+ expect (tokens[0 ][3 ]).toEqual value : ' ' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' ]
205+ expect (tokens[0 ][4 ]).toEqual value : ' Test' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' , ' entity.name.type.namespace.php' ]
206+ expect (tokens[0 ][5 ]).toEqual value : ' ;' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' punctuation.terminator.expression.php' ]
207+
208+ it ' should tokenize namespace correctly' , ->
209+ tokens = grammar .tokenizeLines " <?php\n namespace Test;"
210+ expect (tokens[1 ][0 ]).toEqual value : ' namespace' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' , ' keyword.other.namespace.php' ]
211+ expect (tokens[1 ][1 ]).toEqual value : ' ' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' ]
212+ expect (tokens[1 ][2 ]).toEqual value : ' Test' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' meta.namespace.php' , ' entity.name.type.namespace.php' ]
213+ expect (tokens[1 ][3 ]).toEqual value : ' ;' , scopes : [' text.html.php' , ' meta.embedded.block.php' , ' source.php' , ' punctuation.terminator.expression.php' ]
0 commit comments