Skip to content

Commit c8b21d4

Browse files
committed
Test go to function definition
1 parent c76e2a0 commit c8b21d4

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

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

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,48 @@ nav ul {
220220
setUp(() {
221221
ls.cache.clear();
222222
});
223+
224+
test('in the same document', () async {
225+
var document = fs.createDocument(r'''
226+
@function multiply($a, $b)
227+
@return $a * $b
228+
229+
.a
230+
font-size: #{multiply(16, 1)}px
231+
''', uri: 'styles.sass');
232+
var result = await ls.goToDefinition(document, at(line: 4, char: 16));
233+
234+
expect(result, isNotNull);
235+
expect(result!.range, StartsAtLine(0));
236+
expect(result.range, EndsAtLine(0));
237+
expect(result.range, StartsAtCharacter(10));
238+
expect(result.range, EndsAtCharacter(18));
239+
240+
expect(result.uri.toString(), endsWith('styles.sass'));
241+
});
242+
243+
test('in a different document', () async {
244+
fs.createDocument(r'''
245+
@function multiply($a, $b)
246+
@return $a * $b
247+
''', uri: '_utils.sass');
248+
249+
var document = fs.createDocument(r'''
250+
@use "utils"
251+
252+
.a
253+
font-size: #{utils.multiply(16, 1)}px
254+
''', uri: 'styles.sass');
255+
var result = await ls.goToDefinition(document, at(line: 3, char: 22));
256+
257+
expect(result, isNotNull);
258+
expect(result!.range, StartsAtLine(0));
259+
expect(result.range, EndsAtLine(0));
260+
expect(result.range, StartsAtCharacter(10));
261+
expect(result.range, EndsAtCharacter(18));
262+
263+
expect(result.uri.toString(), endsWith('_utils.sass'));
264+
});
223265
});
224266

225267
group('css variables', () {

0 commit comments

Comments
 (0)