Skip to content

Commit 029393b

Browse files
committed
Tests for Go to definition
1 parent 5a89214 commit 029393b

File tree

1 file changed

+57
-1
lines changed

1 file changed

+57
-1
lines changed

pkgs/sass_language_services/test/features/go_to_definition/go_to_definition_test.dart

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,26 @@ void main() {
1515
ls.cache.clear();
1616
});
1717

18-
test('in a different document', () async {
18+
test('global in the same document', () async {
19+
var document = fs.createDocument(r'''
20+
$b: blue
21+
22+
.a
23+
color: $b
24+
25+
''', uri: 'styles.sass');
26+
var result = await ls.goToDefinition(document, at(line: 3, char: 10));
27+
28+
expect(result, isNotNull);
29+
expect(result!.range, StartsAtLine(0));
30+
expect(result.range, EndsAtLine(0));
31+
expect(result.range, StartsAtCharacter(0));
32+
expect(result.range, EndsAtCharacter(2));
33+
34+
expect(result.uri.toString(), endsWith('styles.sass'));
35+
});
36+
37+
test('global in a different document', () async {
1938
fs.createDocument(r'$b: #000;', uri: 'colors.scss');
2039

2140
var document = fs.createDocument(r'''
@@ -35,5 +54,42 @@ void main() {
3554

3655
expect(result.uri.toString(), endsWith('colors.scss'));
3756
});
57+
58+
test('scoped in the same document', () async {
59+
var document = fs.createDocument(r'''
60+
.a
61+
$b: blue
62+
color: $b
63+
64+
''', uri: 'styles.sass');
65+
var result = await ls.goToDefinition(document, at(line: 2, char: 10));
66+
67+
expect(result, isNotNull);
68+
expect(result!.range, StartsAtLine(1));
69+
expect(result.range, EndsAtLine(01));
70+
expect(result.range, StartsAtCharacter(2));
71+
expect(result.range, EndsAtCharacter(4));
72+
73+
expect(result.uri.toString(), endsWith('styles.sass'));
74+
});
75+
76+
test('no scoped in a different document', () async {
77+
fs.createDocument(r'''
78+
.a
79+
$b: blue
80+
color: $b
81+
''', uri: 'links.sass');
82+
83+
var document = fs.createDocument(r'''
84+
@use "links";
85+
86+
.a {
87+
color: $b;
88+
}
89+
''');
90+
var result = await ls.goToDefinition(document, at(line: 3, char: 10));
91+
92+
expect(result, isNull);
93+
});
3894
});
3995
}

0 commit comments

Comments
 (0)