Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Unified Diff: pkg/analysis_server/test/services/search/search_engine2_test.dart

Issue 1788673004: Index unqualified unresolved used names. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698