Index: pkg/analysis_server/test/services/search/search_engine2_test.dart |
diff --git a/pkg/analysis_server/test/services/search/search_engine2_test.dart b/pkg/analysis_server/test/services/search/search_engine2_test.dart |
index cca59020801477dff66e75d061994002e648c1d2..80a9b421a911e388730769e91ca4e6874b5d0b3d 100644 |
--- a/pkg/analysis_server/test/services/search/search_engine2_test.dart |
+++ b/pkg/analysis_server/test/services/search/search_engine2_test.dart |
@@ -116,34 +116,79 @@ class B { |
_assertMatches(matches, expected); |
} |
- test_searchMemberReferences() async { |
+ test_searchMemberReferences_qualified_resolved() async { |
_indexTestUnit(''' |
-class A { |
- var test; // A |
- mainA() { |
- test(); // a-inv-r-nq |
- test = 1; // a-ref-r-nq |
- test += 2; // a-ref-r-nq |
- print(test); // a-ref-r-nq |
+class C { |
+ var test; |
+} |
+main(C c) { |
+ print(c.test); |
+ c.test = 1; |
+ c.test += 2; |
+ c.test(); |
+} |
+'''); |
+ List<SearchMatch> matches = |
+ await searchEngine.searchMemberReferences('test'); |
+ expect(matches, isEmpty); |
} |
+ |
+ test_searchMemberReferences_qualified_unresolved() async { |
+ _indexTestUnit(''' |
+main(p) { |
+ print(p.test); |
+ p.test = 1; |
+ p.test += 2; |
+ p.test(); |
} |
-main(A a, p) { |
- print(a.test); // r |
- a.test = 1; // r |
- a.test += 2; // r |
- a.test(); // r |
- print(p.test); // ur |
- p.test = 1; // ur |
- p.test += 2; // ur |
- p.test(); // ur |
+'''); |
+ Element main = findElement('main'); |
+ var expected = [ |
+ _expectIdQU(main, MatchKind.READ, 'test);'), |
+ _expectIdQU(main, MatchKind.WRITE, 'test = 1;'), |
+ _expectIdQU(main, MatchKind.READ_WRITE, 'test += 2;'), |
+ _expectIdQU(main, MatchKind.INVOCATION, 'test();'), |
+ ]; |
+ List<SearchMatch> matches = |
+ await searchEngine.searchMemberReferences('test'); |
+ _assertMatches(matches, expected); |
+ } |
+ |
+ test_searchMemberReferences_unqualified_resolved() async { |
+ _indexTestUnit(''' |
+class C { |
+ var test; |
+ main() { |
+ print(test); |
+ test = 1; |
+ test += 2; |
+ test(); |
+ } |
+} |
+'''); |
+ List<SearchMatch> matches = |
+ await searchEngine.searchMemberReferences('test'); |
+ expect(matches, isEmpty); |
+ } |
+ |
+ test_searchMemberReferences_unqualified_unresolved() async { |
+ verifyNoTestUnitErrors = false; |
+ _indexTestUnit(''' |
+class C { |
+ main() { |
+ print(test); |
+ test = 1; |
+ test += 2; |
+ test(); |
+ } |
} |
'''); |
Element main = findElement('main'); |
var expected = [ |
- _expectIdQU(main, MatchKind.READ, 'test); // ur'), |
- _expectIdQU(main, MatchKind.WRITE, 'test = 1; // ur'), |
- _expectIdQU(main, MatchKind.READ_WRITE, 'test += 2; // ur'), |
- _expectIdQU(main, MatchKind.INVOCATION, 'test(); // ur'), |
+ _expectIdU(main, MatchKind.READ, 'test);'), |
+ _expectIdU(main, MatchKind.WRITE, 'test = 1;'), |
+ _expectIdU(main, MatchKind.READ_WRITE, 'test += 2;'), |
+ _expectIdU(main, MatchKind.INVOCATION, 'test();'), |
]; |
List<SearchMatch> matches = |
await searchEngine.searchMemberReferences('test'); |
@@ -756,6 +801,15 @@ class NoMatchABCDE {} |
isQualified: true, isResolved: false, length: length); |
} |
+ /** |
+ * Create [ExpectedMatch] for a unqualified and unresolved match. |
+ */ |
+ ExpectedMatch _expectIdU(Element element, MatchKind kind, String search, |
+ {int length}) { |
+ return _expectId(element, kind, search, |
+ isQualified: false, isResolved: false, length: length); |
+ } |
+ |
void _indexTestUnit(String code) { |
resolveTestUnit(code); |
index.indexUnit(testUnit); |