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

Unified Diff: pkg/analysis_server/test/domain_search_test.dart

Issue 346963006: Index Dart/HTML units after analysis. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 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/domain_search_test.dart
diff --git a/pkg/analysis_server/test/domain_search_test.dart b/pkg/analysis_server/test/domain_search_test.dart
index 8366fbdea4252ab558ade454748ad325e7aca5cd..a57de60dba51cd0acfd6ed915163ef09830d5ec1 100644
--- a/pkg/analysis_server/test/domain_search_test.dart
+++ b/pkg/analysis_server/test/domain_search_test.dart
@@ -4,64 +4,121 @@
library test.domain.search;
-import 'package:analysis_server/src/analysis_server.dart';
-import 'package:analysis_server/src/constants.dart';
-import 'package:analysis_server/src/domain_search.dart';
-import 'package:analysis_server/src/protocol.dart';
-import 'package:analysis_server/src/resource.dart';
import 'package:unittest/unittest.dart';
+import 'reflective_tests.dart';
-import 'mocks.dart';
+import 'analysis_abstract.dart';
+import 'dart:async';
+import 'package:analyzer/src/generated/index.dart';
+import 'package:analysis_server/src/index/index.dart';
+import 'index/store/memory_node_manager.dart';
main() {
groupSep = ' | ';
-
- MockServerChannel serverChannel;
- MemoryResourceProvider resourceProvider;
- AnalysisServer server;
- SearchDomainHandler handler;
-
- setUp(() {
- serverChannel = new MockServerChannel();
- resourceProvider = new MemoryResourceProvider();
- server = new AnalysisServer(
- serverChannel, resourceProvider, new MockPackageMapProvider());
- server.defaultSdk = new MockSdk();
- handler = new SearchDomainHandler(server);
+ group('SearchDomainHandler', () {
+ runReflectiveTests(_SearchDomainTest);
});
- group('SearchDomainHandler', () {
- test('findElementReferences', () {
- var request = new Request('0', SEARCH_FIND_ELEMENT_REFERENCES);
- request.setParameter(FILE, null);
- request.setParameter(OFFSET, null);
- var response = handler.handleRequest(request);
- // TODO(brianwilkerson) implement
- //expect(response, isNull);
- });
+// MockServerChannel serverChannel;
Brian Wilkerson 2014/06/25 20:57:18 I'm confused. Why did you comment out this code, a
scheglov 2014/06/25 21:13:38 I started to implement it and found out that it is
+// MemoryResourceProvider resourceProvider;
+// AnalysisServer server;
+// SearchDomainHandler handler;
+//
+// setUp(() {
+// serverChannel = new MockServerChannel();
+// resourceProvider = new MemoryResourceProvider();
+// server = new AnalysisServer(
+// serverChannel, resourceProvider, new MockPackageMapProvider(), null);
+// server.defaultSdk = new MockSdk();
+// handler = new SearchDomainHandler(server);
+// });
+//
+// group('SearchDomainHandler', () {
+// test('findElementReferences', () {
+// var request = new Request('0', SEARCH_FIND_ELEMENT_REFERENCES);
+// request.setParameter(FILE, null);
+// request.setParameter(OFFSET, null);
+// var response = handler.handleRequest(request);
+// // TODO(brianwilkerson) implement
+// //expect(response, isNull);
+// });
+//
+// test('findMemberDeclarations', () {
+// var request = new Request('0', SEARCH_FIND_MEMBER_DECLARATIONS);
+// request.setParameter(NAME, null);
+// var response = handler.handleRequest(request);
+// // TODO(brianwilkerson) implement
+// //expect(response, isNull);
+// });
+//
+// test('findMemberReferences', () {
+// var request = new Request('0', SEARCH_FIND_MEMBER_REFERENCES);
+// request.setParameter(NAME, null);
+// var response = handler.handleRequest(request);
+// // TODO(brianwilkerson) implement
+// //expect(response, isNull);
+// });
+//
+// test('findTopLevelDeclarations', () {
+// var request = new Request('0', SEARCH_FIND_TOP_LEVEL_DECLARATIONS);
+// request.setParameter(PATTERN, null);
+// var response = handler.handleRequest(request);
+// // TODO(brianwilkerson) implement
+// //expect(response, isNull);
+// });
+// });
+}
- test('findMemberDeclarations', () {
- var request = new Request('0', SEARCH_FIND_MEMBER_DECLARATIONS);
- request.setParameter(NAME, null);
- var response = handler.handleRequest(request);
- // TODO(brianwilkerson) implement
- //expect(response, isNull);
- });
+@ReflectiveTestCase()
+class _SearchDomainTest extends AbstractAnalysisTest {
+ LocalIndex index;
- test('findMemberReferences', () {
- var request = new Request('0', SEARCH_FIND_MEMBER_REFERENCES);
- request.setParameter(NAME, null);
- var response = handler.handleRequest(request);
- // TODO(brianwilkerson) implement
- //expect(response, isNull);
- });
+ @override
+ void setUp() {
+ super.setUp();
+ index = server.index;
+ createProject();
+ }
- test('findTopLevelDeclarations', () {
- var request = new Request('0', SEARCH_FIND_TOP_LEVEL_DECLARATIONS);
- request.setParameter(PATTERN, null);
- var response = handler.handleRequest(request);
- // TODO(brianwilkerson) implement
- //expect(response, isNull);
+ Future test_findTopLevelDeclarations() {
+ // TODO(scheglov) replace this temporary Index test with an actual
+ // SearchEngine and SearchDomainHandler test.
+ addTestFile('''
+class AAA {
+ AAA() {}
+}
+''');
+ return waitForTasksFinished().then((_) {
+ return index.getRelationshipsAsync(UniverseElement.INSTANCE,
+ IndexConstants.DEFINES_CLASS).then((List<Location> locations) {
+ bool hasClassFunction = false;
+ bool hasClassAAA = false;
+ for (var location in locations) {
+ if (location.element.name == 'Function') {
+ hasClassFunction = true;
+ }
+ if (location.element.name == 'AAA') {
+ hasClassAAA = true;
+ }
+ }
+ expect(hasClassFunction, isTrue, reason: locations.toString());
+ expect(hasClassAAA, isTrue, reason: locations.toString());
+ });
});
- });
+ }
+
+ @override
+ Index createIndex() {
+ return new LocalIndex(new MemoryNodeManager());
+ }
}
+
+
+//Location assertHasLocation(List<Location> locations,
+// String enclosingElementName, {int offset, int length}) {
+// for (var location in locations) {
+// if (location.element.n)
+// }
+// fail('Expected to find Location in '
+// '$enclosingElementName at @offset with length $length in\n$locations');
+//}

Powered by Google App Engine
This is Rietveld 408576698