Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit 93de806

Browse files
committed
🎨 Clean up specs file
1 parent ed83b7e commit 93de806

File tree

1 file changed

+61
-75
lines changed

1 file changed

+61
-75
lines changed

spec/javascript-spec.coffee

+61-75
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ describe "Javascript grammar", ->
3636
{tokens} = grammar.tokenizeLine('with')
3737
expect(tokens[0]).toEqual value: 'with', scopes: ['source.js', 'keyword.control.js']
3838

39-
4039
describe "built-in globals", ->
4140
it "tokenizes them as support classes", ->
4241
{tokens} = grammar.tokenizeLine('window')
@@ -130,7 +129,6 @@ describe "Javascript grammar", ->
130129
1
131130
/ 2
132131
"""
133-
134132
expect(lines[0][0]).toEqual value: '1', scopes: ['source.js', 'constant.numeric.js']
135133
expect(lines[1][0]).toEqual value: '/ ', scopes: ['source.js']
136134
expect(lines[1][1]).toEqual value: '2', scopes: ['source.js', 'constant.numeric.js']
@@ -326,12 +324,12 @@ describe "Javascript grammar", ->
326324
expect(tokens[4]).toEqual value: 'SomeClass', scopes: ['source.js', 'meta.class.js', 'entity.name.type.js']
327325

328326
describe "ES6 import", ->
329-
it "Tokenizes import ... as", ->
327+
it "tokenizes import ... as", ->
330328
{tokens} = grammar.tokenizeLine('import \'react\' as React')
331329
expect(tokens[0]).toEqual value: 'import', scopes: ['source.js', 'meta.import.js', 'keyword.control.js']
332330
expect(tokens[6]).toEqual value: 'as', scopes: ['source.js', 'meta.import.js', 'keyword.control.js']
333331

334-
it "Tokenizes import ... from", ->
332+
it "tokenizes import ... from", ->
335333
{tokens} = grammar.tokenizeLine('import React from \'react\'')
336334
expect(tokens[0]).toEqual value: 'import', scopes: ['source.js', 'meta.import.js', 'keyword.control.js']
337335
expect(tokens[4]).toEqual value: 'from', scopes: ['source.js', 'meta.import.js', 'keyword.control.js']
@@ -340,18 +338,17 @@ describe "Javascript grammar", ->
340338
expect(tokens[6]).toEqual value: 'from', scopes: ['source.js', 'meta.import.js', 'keyword.control.js']
341339

342340
describe "ES6 yield", ->
343-
it "Tokenizes yield", ->
341+
it "tokenizes yield", ->
344342
{tokens} = grammar.tokenizeLine('yield next')
345343
expect(tokens[0]).toEqual value: 'yield', scopes: ['source.js', 'meta.control.yield.js', 'keyword.control.js']
346344

347-
it "Tokenizes yield*", ->
345+
it "tokenizes yield*", ->
348346
{tokens} = grammar.tokenizeLine('yield * next')
349347
expect(tokens[0]).toEqual value: 'yield', scopes: ['source.js', 'meta.control.yield.js', 'keyword.control.js']
350348
expect(tokens[2]).toEqual value: '*', scopes: ['source.js', 'meta.control.yield.js', 'storage.modifier.js']
351349

352350
it "doesn't confuse strings and functions", ->
353351
{tokens} = grammar.tokenizeLine("'a'.b(':c(d)')")
354-
355352
expect(tokens[0]).toEqual value: "'", scopes: ['source.js', 'string.quoted.single.js', 'punctuation.definition.string.begin.js']
356353
expect(tokens[1]).toEqual value: "a", scopes: ['source.js', 'string.quoted.single.js']
357354
expect(tokens[2]).toEqual value: "'", scopes: ['source.js', 'string.quoted.single.js', 'punctuation.definition.string.end.js']
@@ -377,27 +374,9 @@ describe "Javascript grammar", ->
377374
{tokens} = grammar.tokenizeLine('default: ')
378375
expect(tokens[0]).toEqual value: 'default', scopes: ['source.js', 'keyword.control.js']
379376

380-
it "tokenizes arrow functions with params", ->
381-
{tokens} = grammar.tokenizeLine('(param1,param2)=>{}')
382-
expect(tokens[0]).toEqual value: '(', scopes: ['source.js', 'meta.function.arrow.js', 'punctuation.definition.parameters.begin.js']
383-
expect(tokens[1]).toEqual value: 'param1', scopes: ['source.js', 'meta.function.arrow.js', 'variable.parameter.function.js']
384-
expect(tokens[3]).toEqual value: 'param2', scopes: ['source.js', 'meta.function.arrow.js', 'variable.parameter.function.js']
385-
expect(tokens[4]).toEqual value: ')', scopes: ['source.js', 'meta.function.arrow.js', 'punctuation.definition.parameters.end.js']
386-
expect(tokens[5]).toEqual value: '=>', scopes: ['source.js', 'meta.function.arrow.js', 'storage.type.arrow.js']
387-
388-
it "tokenizes comments in function params", ->
389-
{tokens} = grammar.tokenizeLine('foo: function (/**Bar*/bar){')
390-
391-
expect(tokens[5]).toEqual value: '(', scopes: ['source.js', 'meta.function.json.js', 'punctuation.definition.parameters.begin.js']
392-
expect(tokens[6]).toEqual value: '/**', scopes: ['source.js', 'meta.function.json.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
393-
expect(tokens[7]).toEqual value: 'Bar', scopes: ['source.js', 'meta.function.json.js', 'comment.block.documentation.js']
394-
expect(tokens[8]).toEqual value: '*/', scopes: ['source.js', 'meta.function.json.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
395-
expect(tokens[9]).toEqual value: 'bar', scopes: ['source.js', 'meta.function.json.js', 'variable.parameter.function.js']
396-
397377
describe "non-anonymous functions", ->
398378
it "tokenizes methods", ->
399379
{tokens} = grammar.tokenizeLine('Foo.method = function nonAnonymous(')
400-
401380
expect(tokens[0]).toEqual value: 'Foo', scopes: ['source.js', 'meta.function.js', 'support.class.js']
402381
expect(tokens[2]).toEqual value: 'method', scopes: ['source.js', 'meta.function.js', 'entity.name.function.js']
403382
expect(tokens[4]).toEqual value: '=', scopes: ['source.js', 'meta.function.js', 'keyword.operator.js']
@@ -415,7 +394,6 @@ describe "Javascript grammar", ->
415394

416395
it "tokenizes functions", ->
417396
{tokens} = grammar.tokenizeLine('var func = function nonAnonymous(')
418-
419397
expect(tokens[0]).toEqual value: 'var', scopes: ['source.js', 'storage.modifier.js']
420398
expect(tokens[2]).toEqual value: 'func', scopes: ['source.js', 'meta.function.js', 'entity.name.function.js']
421399
expect(tokens[4]).toEqual value: '=', scopes: ['source.js', 'meta.function.js', 'keyword.operator.js']
@@ -425,7 +403,6 @@ describe "Javascript grammar", ->
425403

426404
it "tokenizes object functions", ->
427405
{tokens} = grammar.tokenizeLine('foo: function nonAnonymous(')
428-
429406
expect(tokens[0]).toEqual value: 'foo', scopes: ['source.js', 'meta.function.json.js', 'entity.name.function.js']
430407
expect(tokens[1]).toEqual value: ':', scopes: ['source.js', 'meta.function.json.js', 'keyword.operator.js']
431408
expect(tokens[3]).toEqual value: 'function', scopes: ['source.js', 'meta.function.json.js', 'storage.type.function.js']
@@ -434,7 +411,6 @@ describe "Javascript grammar", ->
434411

435412
it "tokenizes quoted object functions", ->
436413
{tokens} = grammar.tokenizeLine('"foo": function nonAnonymous(')
437-
438414
expect(tokens[1]).toEqual value: 'foo', scopes: ['source.js', 'meta.function.json.js', 'string.quoted.double.js', 'entity.name.function.js']
439415
expect(tokens[3]).toEqual value: ':', scopes: ['source.js', 'meta.function.json.js', 'keyword.operator.js']
440416
expect(tokens[5]).toEqual value: 'function', scopes: ['source.js', 'meta.function.json.js', 'storage.type.function.js']
@@ -447,53 +423,63 @@ describe "Javascript grammar", ->
447423
expect(tokens[2]).toEqual value: 'function', scopes: ['source.js', 'meta.function.js', 'storage.type.function.js']
448424
expect(tokens[4]).toEqual value: 'f', scopes: ['source.js', 'meta.function.js', 'entity.name.function.js']
449425

450-
it "tokenizes /* */ comments", ->
451-
{tokens} = grammar.tokenizeLine('/**/')
452-
453-
expect(tokens[0]).toEqual value: '/*', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
454-
expect(tokens[1]).toEqual value: '*/', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
455-
456-
{tokens} = grammar.tokenizeLine('/* foo */')
457-
458-
expect(tokens[0]).toEqual value: '/*', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
459-
expect(tokens[1]).toEqual value: ' foo ', scopes: ['source.js', 'comment.block.js']
460-
expect(tokens[2]).toEqual value: '*/', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
461-
462-
it "tokenizes /** */ comments", ->
463-
{tokens} = grammar.tokenizeLine('/***/')
464-
465-
expect(tokens[0]).toEqual value: '/**', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
466-
expect(tokens[1]).toEqual value: '*/', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
467-
468-
{tokens} = grammar.tokenizeLine('/** foo */')
469-
470-
expect(tokens[0]).toEqual value: '/**', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
471-
expect(tokens[1]).toEqual value: ' foo ', scopes: ['source.js', 'comment.block.documentation.js']
472-
expect(tokens[2]).toEqual value: '*/', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
473-
474-
{tokens} = grammar.tokenizeLine('/** @mixins */')
475-
476-
expect(tokens[0]).toEqual value: '/**', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
477-
expect(tokens[2]).toEqual value: '@mixins', scopes: ['source.js', 'comment.block.documentation.js', 'storage.type.class.jsdoc']
478-
expect(tokens[3]).toEqual value: ' ', scopes: ['source.js', 'comment.block.documentation.js']
479-
expect(tokens[4]).toEqual value: '*/', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
480-
481-
it "tokenizes comments inside function parameters correctly", ->
482-
{tokens} = grammar.tokenizeLine('function test(arg1 /*, arg2 */) {}')
483-
484-
expect(tokens[0]).toEqual value: 'function', scopes: ['source.js', 'meta.function.js', 'storage.type.function.js']
485-
expect(tokens[1]).toEqual value: ' ', scopes: ['source.js', 'meta.function.js']
486-
expect(tokens[2]).toEqual value: 'test', scopes: ['source.js', 'meta.function.js', 'entity.name.function.js']
487-
expect(tokens[3]).toEqual value: '(', scopes: ['source.js', 'meta.function.js', 'punctuation.definition.parameters.begin.js']
488-
expect(tokens[4]).toEqual value: 'arg1', scopes: ['source.js', 'meta.function.js', 'variable.parameter.function.js']
489-
expect(tokens[5]).toEqual value: ' ', scopes: ['source.js', 'meta.function.js']
490-
expect(tokens[6]).toEqual value: '/*', scopes: ['source.js', 'meta.function.js', 'comment.block.js', 'punctuation.definition.comment.js']
491-
expect(tokens[7]).toEqual value: ', arg2 ', scopes: ['source.js', 'meta.function.js', 'comment.block.js']
492-
expect(tokens[8]).toEqual value: '*/', scopes: ['source.js', 'meta.function.js', 'comment.block.js', 'punctuation.definition.comment.js']
493-
expect(tokens[9]).toEqual value: ')', scopes: ['source.js', 'meta.function.js', 'punctuation.definition.parameters.end.js']
494-
expect(tokens[10]).toEqual value: ' ', scopes: ['source.js']
495-
expect(tokens[11]).toEqual value: '{', scopes: ['source.js', 'punctuation.section.scope.begin.js']
496-
expect(tokens[12]).toEqual value: '}', scopes: ['source.js', 'punctuation.section.scope.end.js']
426+
it "tokenizes arrow functions with params", ->
427+
{tokens} = grammar.tokenizeLine('(param1,param2)=>{}')
428+
expect(tokens[0]).toEqual value: '(', scopes: ['source.js', 'meta.function.arrow.js', 'punctuation.definition.parameters.begin.js']
429+
expect(tokens[1]).toEqual value: 'param1', scopes: ['source.js', 'meta.function.arrow.js', 'variable.parameter.function.js']
430+
expect(tokens[3]).toEqual value: 'param2', scopes: ['source.js', 'meta.function.arrow.js', 'variable.parameter.function.js']
431+
expect(tokens[4]).toEqual value: ')', scopes: ['source.js', 'meta.function.arrow.js', 'punctuation.definition.parameters.end.js']
432+
expect(tokens[5]).toEqual value: '=>', scopes: ['source.js', 'meta.function.arrow.js', 'storage.type.arrow.js']
433+
434+
describe "comments", ->
435+
it "tokenizes /* */ comments", ->
436+
{tokens} = grammar.tokenizeLine('/**/')
437+
expect(tokens[0]).toEqual value: '/*', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
438+
expect(tokens[1]).toEqual value: '*/', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
439+
440+
{tokens} = grammar.tokenizeLine('/* foo */')
441+
expect(tokens[0]).toEqual value: '/*', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
442+
expect(tokens[1]).toEqual value: ' foo ', scopes: ['source.js', 'comment.block.js']
443+
expect(tokens[2]).toEqual value: '*/', scopes: ['source.js', 'comment.block.js', 'punctuation.definition.comment.js']
444+
445+
it "tokenizes /** */ comments", ->
446+
{tokens} = grammar.tokenizeLine('/***/')
447+
expect(tokens[0]).toEqual value: '/**', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
448+
expect(tokens[1]).toEqual value: '*/', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
449+
450+
{tokens} = grammar.tokenizeLine('/** foo */')
451+
expect(tokens[0]).toEqual value: '/**', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
452+
expect(tokens[1]).toEqual value: ' foo ', scopes: ['source.js', 'comment.block.documentation.js']
453+
expect(tokens[2]).toEqual value: '*/', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
454+
455+
{tokens} = grammar.tokenizeLine('/** @mixins */')
456+
expect(tokens[0]).toEqual value: '/**', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
457+
expect(tokens[2]).toEqual value: '@mixins', scopes: ['source.js', 'comment.block.documentation.js', 'storage.type.class.jsdoc']
458+
expect(tokens[3]).toEqual value: ' ', scopes: ['source.js', 'comment.block.documentation.js']
459+
expect(tokens[4]).toEqual value: '*/', scopes: ['source.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
460+
461+
it "tokenizes comments inside function parameters correctly", ->
462+
{tokens} = grammar.tokenizeLine('function test(arg1 /*, arg2 */) {}')
463+
expect(tokens[0]).toEqual value: 'function', scopes: ['source.js', 'meta.function.js', 'storage.type.function.js']
464+
expect(tokens[1]).toEqual value: ' ', scopes: ['source.js', 'meta.function.js']
465+
expect(tokens[2]).toEqual value: 'test', scopes: ['source.js', 'meta.function.js', 'entity.name.function.js']
466+
expect(tokens[3]).toEqual value: '(', scopes: ['source.js', 'meta.function.js', 'punctuation.definition.parameters.begin.js']
467+
expect(tokens[4]).toEqual value: 'arg1', scopes: ['source.js', 'meta.function.js', 'variable.parameter.function.js']
468+
expect(tokens[5]).toEqual value: ' ', scopes: ['source.js', 'meta.function.js']
469+
expect(tokens[6]).toEqual value: '/*', scopes: ['source.js', 'meta.function.js', 'comment.block.js', 'punctuation.definition.comment.js']
470+
expect(tokens[7]).toEqual value: ', arg2 ', scopes: ['source.js', 'meta.function.js', 'comment.block.js']
471+
expect(tokens[8]).toEqual value: '*/', scopes: ['source.js', 'meta.function.js', 'comment.block.js', 'punctuation.definition.comment.js']
472+
expect(tokens[9]).toEqual value: ')', scopes: ['source.js', 'meta.function.js', 'punctuation.definition.parameters.end.js']
473+
expect(tokens[10]).toEqual value: ' ', scopes: ['source.js']
474+
expect(tokens[11]).toEqual value: '{', scopes: ['source.js', 'punctuation.section.scope.begin.js']
475+
expect(tokens[12]).toEqual value: '}', scopes: ['source.js', 'punctuation.section.scope.end.js']
476+
477+
{tokens} = grammar.tokenizeLine('foo: function (/**Bar*/bar){')
478+
expect(tokens[5]).toEqual value: '(', scopes: ['source.js', 'meta.function.json.js', 'punctuation.definition.parameters.begin.js']
479+
expect(tokens[6]).toEqual value: '/**', scopes: ['source.js', 'meta.function.json.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
480+
expect(tokens[7]).toEqual value: 'Bar', scopes: ['source.js', 'meta.function.json.js', 'comment.block.documentation.js']
481+
expect(tokens[8]).toEqual value: '*/', scopes: ['source.js', 'meta.function.json.js', 'comment.block.documentation.js', 'punctuation.definition.comment.js']
482+
expect(tokens[9]).toEqual value: 'bar', scopes: ['source.js', 'meta.function.json.js', 'variable.parameter.function.js']
497483

498484
describe "indentation", ->
499485
editor = null

0 commit comments

Comments
 (0)