Skip to content

Commit 72caf3d

Browse files
committed
Tests for mixins
1 parent 61f6f29 commit 72caf3d

File tree

1 file changed

+76
-4
lines changed

1 file changed

+76
-4
lines changed

pkgs/sass_language_services/test/features/find_references/find_references_test.dart

Lines changed: 76 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,16 +421,88 @@ $map: (
421421
ls.cache.clear();
422422
});
423423

424-
test('finds references in the same document', () async {
425-
// TODO
424+
test('finds global references', () async {
425+
var document = fs.createDocument(r'''
426+
@mixin hello()
427+
content: 'hello'
428+
429+
.a::after
430+
@include hello
431+
''', uri: 'styles.sass');
432+
var result =
433+
await ls.findReferences(document, at(line: 0, char: 8), context);
434+
435+
expect(result, hasLength(2));
436+
437+
var [first, second] = result;
438+
expect(first.range, StartsAtLine(0));
439+
expect(first.range, EndsAtLine(0));
440+
expect(first.range, StartsAtCharacter(7));
441+
expect(first.range, EndsAtCharacter(12));
442+
443+
expect(second.range, StartsAtLine(4));
444+
expect(second.range, EndsAtLine(4));
445+
expect(second.range, StartsAtCharacter(11));
446+
expect(second.range, EndsAtCharacter(16));
426447
});
427448

428449
test('finds references across workspace', () async {
429-
// TODO
450+
fs.createDocument(r'''
451+
@mixin hello()
452+
content: 'hello'
453+
''', uri: 'shared.sass');
454+
var document = fs.createDocument(r'''
455+
@use "shared"
456+
457+
.a::after
458+
@include shared.hello()
459+
''', uri: 'styles.sass');
460+
var result =
461+
await ls.findReferences(document, at(line: 3, char: 19), context);
462+
463+
expect(result, hasLength(2));
464+
465+
var [first, second] = result;
466+
467+
expect(first.uri.toString(), endsWith('styles.sass'));
468+
expect(first.range, StartsAtLine(3));
469+
expect(first.range, EndsAtLine(3));
470+
expect(first.range, StartsAtCharacter(18));
471+
expect(first.range, EndsAtCharacter(23));
472+
473+
expect(second.uri.toString(), endsWith('shared.sass'));
474+
expect(second.range, StartsAtLine(0));
475+
expect(second.range, EndsAtLine(0));
476+
expect(second.range, StartsAtCharacter(7));
477+
expect(second.range, EndsAtCharacter(12));
430478
});
431479

432480
test('finds references in visibility modifier', () async {
433-
// TODO
481+
fs.createDocument(r'''
482+
@mixin hello()
483+
content: 'hello'
484+
''', uri: 'shared.sass');
485+
var document = fs.createDocument(r'''
486+
@forward "shared" hide hello;
487+
''', uri: 'styles.scss');
488+
var result =
489+
await ls.findReferences(document, at(line: 0, char: 24), context);
490+
491+
expect(result, hasLength(2));
492+
493+
var [first, second] = result;
494+
495+
expect(first.uri.toString(), endsWith('styles.scss'));
496+
expect(first.range, StartsAtLine(0));
497+
expect(first.range, EndsAtLine(0));
498+
expect(first.range, StartsAtCharacter(23));
499+
expect(first.range, EndsAtCharacter(28));
500+
501+
expect(second.uri.toString(), endsWith('shared.sass'));
502+
expect(second.range, StartsAtLine(0));
503+
expect(second.range, EndsAtLine(0));
504+
expect(second.range, StartsAtCharacter(7));
505+
expect(second.range, EndsAtCharacter(12));
434506
});
435507
});
436508

0 commit comments

Comments
 (0)