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

Unified Diff: pkg/analysis_server/test/search/type_hierarchy_test.dart

Issue 492563002: Make more use of generated classes in analysis server. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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/search/type_hierarchy_test.dart
diff --git a/pkg/analysis_server/test/search/type_hierarchy_test.dart b/pkg/analysis_server/test/search/type_hierarchy_test.dart
index 2382e5dd060dec4ee70814983a7c08e967358db2..a5f5f1a9c156ec639cf43e9d06147748d9d5e898 100644
--- a/pkg/analysis_server/test/search/type_hierarchy_test.dart
+++ b/pkg/analysis_server/test/search/type_hierarchy_test.dart
@@ -6,12 +6,12 @@ library test.analysis.get_type_hierarhy;
import 'dart:async';
-import 'package:analysis_server/src/constants.dart';
import 'package:analysis_server/src/protocol.dart';
import 'package:analysis_server/src/protocol2.dart';
import 'package:analysis_server/src/search/search_domain.dart';
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/json.dart';
import 'package:analysis_testing/reflective_tests.dart';
import 'package:unittest/unittest.dart';
@@ -46,8 +46,8 @@ main() {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('main() {').then((jsons) {
- expect(jsons, isNull);
+ return _getTypeHierarchy('main() {').then((items) {
+ expect(items, isNull);
});
});
}
@@ -60,8 +60,8 @@ class B extends A {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('B extends A').then((jsons) {
- expect(jsons, [{
+ return _getTypeHierarchy('B extends A').then((items) {
+ expect(objectToJson(items), [{
'classElement': {
'kind': 'CLASS',
'name': 'B',
@@ -96,12 +96,12 @@ class B extends A<int> {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('B extends').then((jsons) {
- var jsonB = jsons[0];
- var jsonA = jsons[jsonB[SUPERCLASS]];
- expect(jsonA[CLASS_ELEMENT][NAME], 'A');
- expect(jsonB[CLASS_ELEMENT][NAME], 'B');
- expect(jsonA[DISPLAY_NAME], 'A<int>');
+ return _getTypeHierarchy('B extends').then((items) {
+ var itemB = items[0];
+ var itemA = items[itemB.superclass];
+ expect(itemA.classElement.name, 'A');
+ expect(itemB.classElement.name, 'B');
+ expect(itemA.displayName, 'A<int>');
});
});
}
@@ -115,8 +115,8 @@ class C extends B {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('A {}').then((jsons) {
- expect(jsons, [{
+ return _getTypeHierarchy('A {}').then((items) {
+ expect(objectToJson(items), [{
'classElement': {
'kind': 'CLASS',
'name': 'A',
@@ -174,8 +174,8 @@ class C extends B {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('B extends').then((jsons) {
- expect(jsons, [{
+ return _getTypeHierarchy('B extends').then((items) {
+ expect(objectToJson(items), [{
'classElement': {
'kind': 'CLASS',
'name': 'B',
@@ -233,8 +233,8 @@ class C extends B {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('C extends').then((jsons) {
- expect(jsons, [{
+ return _getTypeHierarchy('C extends').then((items) {
+ expect(objectToJson(items), [{
'classElement': {
'kind': 'CLASS',
'name': 'C',
@@ -292,8 +292,8 @@ class T implements MA, MB {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('T implements').then((jsons) {
- expect(jsons, [{
+ return _getTypeHierarchy('T implements').then((items) {
+ expect(objectToJson(items), [{
'classElement': {
'kind': 'CLASS',
'name': 'T',
@@ -351,8 +351,8 @@ class T extends Object with MA, MB {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('T extends Object').then((jsons) {
- expect(jsons, [{
+ return _getTypeHierarchy('T extends Object').then((items) {
+ expect(objectToJson(items), [{
'classElement': {
'kind': 'CLASS',
'name': 'T',
@@ -415,24 +415,24 @@ class D extends C {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('test => null; // in B').then((jsons) {
- Map jsonB = jsons[0];
- Map jsonA = jsons[jsonB[SUPERCLASS]];
- Map jsonC = jsons[jsonB[SUBCLASSES][0]];
- Map jsonD = jsons[jsonC[SUBCLASSES][0]];
- expect(jsonA[CLASS_ELEMENT][NAME], 'A');
- expect(jsonB[CLASS_ELEMENT][NAME], 'B');
- expect(jsonC[CLASS_ELEMENT][NAME], 'C');
- expect(jsonD[CLASS_ELEMENT][NAME], 'D');
+ return _getTypeHierarchy('test => null; // in B').then((items) {
+ TypeHierarchyItem itemB = items[0];
+ TypeHierarchyItem itemA = items[itemB.superclass];
+ TypeHierarchyItem itemC = items[itemB.subclasses[0]];
+ TypeHierarchyItem itemD = items[itemC.subclasses[0]];
+ expect(itemA.classElement.name, 'A');
+ expect(itemB.classElement.name, 'B');
+ expect(itemC.classElement.name, 'C');
+ expect(itemD.classElement.name, 'D');
expect(
- jsonA[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemA.memberElement.location.offset,
findOffset('test => null; // in A'));
expect(
- jsonB[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemB.memberElement.location.offset,
findOffset('test => null; // in B'));
- expect(jsonC['memberElement'], isNull);
+ expect(itemC.memberElement, isNull);
expect(
- jsonD[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemD.memberElement.location.offset,
findOffset('test => null; // in D'));
});
});
@@ -453,24 +453,24 @@ class D extends C {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('test() {} // in B').then((jsons) {
- var jsonB = jsons[0];
- var jsonA = jsons[jsonB[SUPERCLASS]];
- var jsonC = jsons[jsonB[SUBCLASSES][0]];
- var jsonD = jsons[jsonC[SUBCLASSES][0]];
- expect(jsonA[CLASS_ELEMENT][NAME], 'A');
- expect(jsonB[CLASS_ELEMENT][NAME], 'B');
- expect(jsonC[CLASS_ELEMENT][NAME], 'C');
- expect(jsonD[CLASS_ELEMENT][NAME], 'D');
+ return _getTypeHierarchy('test() {} // in B').then((items) {
+ var itemB = items[0];
+ var itemA = items[itemB.superclass];
+ var itemC = items[itemB.subclasses[0]];
+ var itemD = items[itemC.subclasses[0]];
+ expect(itemA.classElement.name, 'A');
+ expect(itemB.classElement.name, 'B');
+ expect(itemC.classElement.name, 'C');
+ expect(itemD.classElement.name, 'D');
expect(
- jsonA[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemA.memberElement.location.offset,
findOffset('test() {} // in A'));
expect(
- jsonB[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemB.memberElement.location.offset,
findOffset('test() {} // in B'));
- expect(jsonC['memberElement'], isNull);
+ expect(itemC.memberElement, isNull);
expect(
- jsonD[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemD.memberElement.location.offset,
findOffset('test() {} // in D'));
});
});
@@ -491,24 +491,24 @@ class D extends C {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('==(x) => null; // in B').then((jsons) {
- var jsonB = jsons[0];
- var jsonA = jsons[jsonB[SUPERCLASS]];
- var jsonC = jsons[jsonB[SUBCLASSES][0]];
- var jsonD = jsons[jsonC[SUBCLASSES][0]];
- expect(jsonA[CLASS_ELEMENT][NAME], 'A');
- expect(jsonB[CLASS_ELEMENT][NAME], 'B');
- expect(jsonC[CLASS_ELEMENT][NAME], 'C');
- expect(jsonD[CLASS_ELEMENT][NAME], 'D');
+ return _getTypeHierarchy('==(x) => null; // in B').then((items) {
+ var itemB = items[0];
+ var itemA = items[itemB.superclass];
+ var itemC = items[itemB.subclasses[0]];
+ var itemD = items[itemC.subclasses[0]];
+ expect(itemA.classElement.name, 'A');
+ expect(itemB.classElement.name, 'B');
+ expect(itemC.classElement.name, 'C');
+ expect(itemD.classElement.name, 'D');
expect(
- jsonA[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemA.memberElement.location.offset,
findOffset('==(x) => null; // in A'));
expect(
- jsonB[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemB.memberElement.location.offset,
findOffset('==(x) => null; // in B'));
- expect(jsonC['memberElement'], isNull);
+ expect(itemC.memberElement, isNull);
expect(
- jsonD[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemD.memberElement.location.offset,
findOffset('==(x) => null; // in D'));
});
});
@@ -529,24 +529,24 @@ class D extends C {
}
''');
return waitForTasksFinished().then((_) {
- return _getTypeHierarchy('test(x) {} // in B').then((jsons) {
- var jsonB = jsons[0];
- var jsonA = jsons[jsonB[SUPERCLASS]];
- var jsonC = jsons[jsonB[SUBCLASSES][0]];
- var jsonD = jsons[jsonC[SUBCLASSES][0]];
- expect(jsonA[CLASS_ELEMENT][NAME], 'A');
- expect(jsonB[CLASS_ELEMENT][NAME], 'B');
- expect(jsonC[CLASS_ELEMENT][NAME], 'C');
- expect(jsonD[CLASS_ELEMENT][NAME], 'D');
+ return _getTypeHierarchy('test(x) {} // in B').then((items) {
+ var itemB = items[0];
+ var itemA = items[itemB.superclass];
+ var itemC = items[itemB.subclasses[0]];
+ var itemD = items[itemC.subclasses[0]];
+ expect(itemA.classElement.name, 'A');
+ expect(itemB.classElement.name, 'B');
+ expect(itemC.classElement.name, 'C');
+ expect(itemD.classElement.name, 'D');
expect(
- jsonA[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemA.memberElement.location.offset,
findOffset('test(x) {} // in A'));
expect(
- jsonB[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemB.memberElement.location.offset,
findOffset('test(x) {} // in B'));
- expect(jsonC['memberElement'], isNull);
+ expect(itemC.memberElement, isNull);
expect(
- jsonD[MEMBER_ELEMENT][LOCATION][OFFSET],
+ itemD.memberElement.location.offset,
findOffset('test(x) {} // in D'));
});
});
@@ -557,10 +557,10 @@ class D extends C {
findOffset(search)).toRequest(requestId);
}
- Future<List<Map<String, Object>>> _getTypeHierarchy(String search) {
+ Future<List<TypeHierarchyItem>> _getTypeHierarchy(String search) {
Request request = _createGetTypeHierarchyRequest(search);
return serverChannel.sendRequest(request).then((Response response) {
- return response.getResult(HIERARCHY_ITEMS) as List<Map<String, Object>>;
+ return new SearchGetTypeHierarchyResult.fromResponse(response).hierarchyItems;
});
}
}

Powered by Google App Engine
This is Rietveld 408576698