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

Commit 079e8e9

Browse files
committed
✅ Test generator functions
1 parent 2f55627 commit 079e8e9

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

spec/javascript-spec.coffee

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1029,6 +1029,22 @@ describe "Javascript grammar", ->
10291029
expect(tokens[7]).toEqual value: 'foo', scopes: ['source.js', 'meta.function.json.js', 'entity.name.function.js']
10301030
expect(tokens[8]).toEqual value: '(', scopes: ['source.js', 'meta.function.json.js', 'meta.parameters.js', 'punctuation.definition.parameters.begin.bracket.round.js']
10311031

1032+
it "tokenizes generator functions", ->
1033+
{tokens} = grammar.tokenizeLine('function* foo(){}')
1034+
expect(tokens[0]).toEqual value: 'function', scopes: ['source.js', 'meta.function.js', 'storage.type.function.js']
1035+
expect(tokens[1]).toEqual value: '*', scopes: ['source.js', 'meta.function.js', 'storage.modifier.generator.js']
1036+
expect(tokens[3]).toEqual value: 'foo', scopes: ['source.js', 'meta.function.js', 'entity.name.function.js']
1037+
expect(tokens[4]).toEqual value: '(', scopes: ['source.js', 'meta.function.js', 'meta.parameters.js', 'punctuation.definition.parameters.begin.bracket.round.js']
1038+
expect(tokens[5]).toEqual value: ')', scopes: ['source.js', 'meta.function.js', 'meta.parameters.js', 'punctuation.definition.parameters.end.bracket.round.js']
1039+
expect(tokens[6]).toEqual value: '{', scopes: ['source.js', 'punctuation.definition.function.body.begin.bracket.curly.js']
1040+
expect(tokens[7]).toEqual value: '}', scopes: ['source.js', 'punctuation.definition.function.body.end.bracket.curly.js']
1041+
1042+
{tokens} = grammar.tokenizeLine('function *foo(){}')
1043+
expect(tokens[2]).toEqual value: '*', scopes: ['source.js', 'meta.function.js', 'storage.modifier.generator.js']
1044+
1045+
{tokens} = grammar.tokenizeLine('function *(){}')
1046+
expect(tokens[2]).toEqual value: '*', scopes: ['source.js', 'meta.function.js', 'storage.modifier.generator.js']
1047+
10321048
it "tokenizes arrow functions", ->
10331049
{tokens} = grammar.tokenizeLine('=>')
10341050
expect(tokens[0]).toEqual value: '=>', scopes: ['source.js', 'meta.function.arrow.js', 'storage.type.function.arrow.js']

0 commit comments

Comments
 (0)