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

Commit 3da5c74

Browse files
committed
Add tests for types in impl statements (closes #7, implemented by #96)
1 parent d4a0a7f commit 3da5c74

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

spec/rust-spec.coffee

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,3 +652,20 @@ describe 'Rust grammar', ->
652652
expect(tokens[2]).toEqual value: 'priv', scopes: ['source.rust', 'invalid.deprecated.rust']
653653
expect(tokens[4]).toEqual value: '=', scopes: ['source.rust', 'keyword.operator.assignment.rust']
654654
expect(tokens[6]).toEqual value: '10', scopes: ['source.rust', 'constant.numeric.integer.decimal.rust']
655+
656+
it 'tokenizes types in `impl` statements correctly (issue \\#7)', ->
657+
tokens = grammar.tokenizeLines('''
658+
struct MyObject<'a> {
659+
mystr: &'a str
660+
}
661+
impl<'a> MyObject<'a> {
662+
fn print(&self) {}
663+
}
664+
impl<'a> Clone for MyObject<'a> {
665+
fn clone(&self) {}
666+
}
667+
''')
668+
expect(tokens[0][2]).toEqual value: 'MyObject', scopes: ['source.rust', 'entity.name.type.rust']
669+
expect(tokens[3][6]).toEqual value: 'MyObject', scopes: ['source.rust', 'entity.name.type.rust']
670+
expect(tokens[6][6]).toEqual value: 'Clone', scopes: ['source.rust', 'support.type.core.rust']
671+
expect(tokens[6][10]).toEqual value: 'MyObject', scopes: ['source.rust', 'entity.name.type.rust']

0 commit comments

Comments
 (0)