Chromium Code Reviews| 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'); |
| +//} |