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

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

Issue 575613002: Issue 19697. Partial fix - don't search for subclasss members. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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/hierarchy_test.dart
diff --git a/pkg/analysis_server/test/services/search/hierarchy_test.dart b/pkg/analysis_server/test/services/search/hierarchy_test.dart
index 65820bf640aeae11ed0f3b681676593156e2e609..879d035c512314a2f91e8cd3ffe26654489b18e2 100644
--- a/pkg/analysis_server/test/services/search/hierarchy_test.dart
+++ b/pkg/analysis_server/test/services/search/hierarchy_test.dart
@@ -10,11 +10,12 @@ import 'package:analysis_server/src/services/index/index.dart';
import 'package:analysis_server/src/services/index/local_memory_index.dart';
import 'package:analysis_server/src/services/search/hierarchy.dart';
import 'package:analysis_server/src/services/search/search_engine_internal.dart';
-import '../../abstract_single_unit.dart';
-import '../../reflective_tests.dart';
import 'package:analyzer/src/generated/element.dart';
import 'package:unittest/unittest.dart';
+import '../../abstract_single_unit.dart';
+import '../../reflective_tests.dart';
+
main() {
groupSep = ' | ';
@@ -72,10 +73,12 @@ class B extends A {
ClassElement classB = findElement("B");
ClassMemberElement memberA = classA.constructors[0];
ClassMemberElement memberB = classB.constructors[0];
- var futureA = getHierarchyMembers(searchEngine, memberA).then((members) {
+ var futureA =
+ getHierarchyMembers(searchEngine, memberA, false).then((members) {
expect(members, unorderedEquals([memberA]));
});
- var futureB = getHierarchyMembers(searchEngine, memberB).then((members) {
+ var futureB =
+ getHierarchyMembers(searchEngine, memberB, false).then((members) {
expect(members, unorderedEquals([memberB]));
});
return Future.wait([futureA, futureB]);
@@ -105,16 +108,20 @@ class D {
ClassMemberElement memberB = classB.fields[0];
ClassMemberElement memberC = classC.fields[0];
ClassMemberElement memberD = classD.fields[0];
- var futureA = getHierarchyMembers(searchEngine, memberA).then((members) {
+ var futureA =
+ getHierarchyMembers(searchEngine, memberA, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberC]));
});
- var futureB = getHierarchyMembers(searchEngine, memberB).then((members) {
+ var futureB =
+ getHierarchyMembers(searchEngine, memberB, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberC]));
});
- var futureC = getHierarchyMembers(searchEngine, memberC).then((members) {
+ var futureC =
+ getHierarchyMembers(searchEngine, memberC, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberC]));
});
- var futureD = getHierarchyMembers(searchEngine, memberD).then((members) {
+ var futureD =
+ getHierarchyMembers(searchEngine, memberD, false).then((members) {
expect(members, unorderedEquals([memberD]));
});
return Future.wait([futureA, futureB, futureC, futureD]);
@@ -148,24 +155,62 @@ class E extends D {
ClassMemberElement memberC = classC.methods[0];
ClassMemberElement memberD = classD.methods[0];
ClassMemberElement memberE = classE.methods[0];
- var futureA = getHierarchyMembers(searchEngine, memberA).then((members) {
+ var futureA =
+ getHierarchyMembers(searchEngine, memberA, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberC]));
});
- var futureB = getHierarchyMembers(searchEngine, memberB).then((members) {
+ var futureB =
+ getHierarchyMembers(searchEngine, memberB, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberC]));
});
- var futureC = getHierarchyMembers(searchEngine, memberC).then((members) {
+ var futureC =
+ getHierarchyMembers(searchEngine, memberC, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberC]));
});
- var futureD = getHierarchyMembers(searchEngine, memberD).then((members) {
+ var futureD =
+ getHierarchyMembers(searchEngine, memberD, false).then((members) {
expect(members, unorderedEquals([memberD, memberE]));
});
- var futureE = getHierarchyMembers(searchEngine, memberE).then((members) {
+ var futureE =
+ getHierarchyMembers(searchEngine, memberE, false).then((members) {
expect(members, unorderedEquals([memberD, memberE]));
});
return Future.wait([futureA, futureB, futureC, futureD, futureE]);
}
+ Future test_getHierarchyMembers_methods_onlySuper() {
+ _indexTestUnit('''
+class A {
+ foo() {}
+}
+class B extends A {
+ foo() {}
+}
+class C extends B {
+ foo() {}
+}
+''');
+ ClassElement classA = findElement("A");
+ ClassElement classB = findElement("B");
+ ClassElement classC = findElement("C");
+ ClassMemberElement memberA = classA.methods[0];
+ ClassMemberElement memberB = classB.methods[0];
+ ClassMemberElement memberC = classC.methods[0];
+ var futureA =
+ getHierarchyMembers(searchEngine, memberA, true).then((members) {
+ expect(members, unorderedEquals([memberA]));
+ });
+ var futureB =
+ getHierarchyMembers(searchEngine, memberB, true).then((members) {
+ expect(members, unorderedEquals([memberA, memberB]));
+ });
+ var futureC =
+ getHierarchyMembers(searchEngine, memberC, true).then((members) {
+ expect(members, unorderedEquals([memberA, memberB, memberC]));
+ });
+ return Future.wait([futureA, futureB, futureC]);
+ }
+
Future test_getHierarchyMembers_withInterfaces() {
_indexTestUnit('''
class A {
@@ -191,13 +236,16 @@ class E {
ClassMemberElement memberA = classA.methods[0];
ClassMemberElement memberB = classB.methods[0];
ClassMemberElement memberD = classD.methods[0];
- var futureA = getHierarchyMembers(searchEngine, memberA).then((members) {
+ var futureA =
+ getHierarchyMembers(searchEngine, memberA, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberD]));
});
- var futureB = getHierarchyMembers(searchEngine, memberB).then((members) {
+ var futureB =
+ getHierarchyMembers(searchEngine, memberB, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberD]));
});
- var futureD = getHierarchyMembers(searchEngine, memberD).then((members) {
+ var futureD =
+ getHierarchyMembers(searchEngine, memberD, false).then((members) {
expect(members, unorderedEquals([memberA, memberB, memberD]));
});
return Future.wait([futureA, futureB, futureD]);

Powered by Google App Engine
This is Rietveld 408576698