@@ -220,6 +220,48 @@ nav ul {
220
220
setUp (() {
221
221
ls.cache.clear ();
222
222
});
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
+ });
223
265
});
224
266
225
267
group ('css variables' , () {
0 commit comments