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 |
deleted file mode 100644 |
index 1ad67ca172f003c6608aaac4ce031f6723f71ef5..0000000000000000000000000000000000000000 |
--- a/pkg/analysis_server/test/services/search/search_engine2_test.dart |
+++ /dev/null |
@@ -1,297 +0,0 @@ |
-// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-import 'dart:async'; |
- |
-import 'package:analysis_server/src/services/search/search_engine.dart'; |
-import 'package:analysis_server/src/services/search/search_engine_internal2.dart'; |
-import 'package:analyzer/dart/element/element.dart'; |
-import 'package:analyzer/file_system/file_system.dart'; |
-import 'package:analyzer/file_system/memory_file_system.dart'; |
-import 'package:analyzer/src/dart/analysis/driver.dart'; |
-import 'package:analyzer/src/dart/analysis/file_state.dart'; |
-import 'package:analyzer/src/generated/engine.dart'; |
-import 'package:analyzer/src/generated/sdk.dart'; |
-import 'package:analyzer/src/generated/source.dart'; |
-import 'package:front_end/src/base/performace_logger.dart'; |
-import 'package:front_end/src/incremental/byte_store.dart'; |
-import 'package:test/test.dart'; |
-import 'package:test_reflective_loader/test_reflective_loader.dart'; |
- |
-import '../../mock_sdk.dart'; |
- |
-main() { |
- defineReflectiveSuite(() { |
- defineReflectiveTests(SearchEngineImpl2Test); |
- }); |
-} |
- |
-@reflectiveTest |
-class SearchEngineImpl2Test { |
- final MemoryResourceProvider provider = new MemoryResourceProvider(); |
- DartSdk sdk; |
- final ByteStore byteStore = new MemoryByteStore(); |
- final FileContentOverlay contentOverlay = new FileContentOverlay(); |
- |
- final StringBuffer logBuffer = new StringBuffer(); |
- PerformanceLog logger; |
- |
- AnalysisDriverScheduler scheduler; |
- |
- void setUp() { |
- sdk = new MockSdk(resourceProvider: provider); |
- logger = new PerformanceLog(logBuffer); |
- scheduler = new AnalysisDriverScheduler(logger); |
- scheduler.start(); |
- } |
- |
- test_searchAllSubtypes() async { |
- var p = _p('/test.dart'); |
- |
- provider.newFile( |
- p, |
- ''' |
-class T {} |
-class A extends T {} |
-class B extends A {} |
-class C implements B {} |
-'''); |
- |
- var driver = _newDriver(); |
- driver.addFile(p); |
- |
- var resultA = await driver.getResult(p); |
- ClassElement element = resultA.unit.element.types[0]; |
- |
- var searchEngine = new SearchEngineImpl2([driver]); |
- Set<ClassElement> subtypes = await searchEngine.searchAllSubtypes(element); |
- expect(subtypes, hasLength(3)); |
- expect(subtypes, contains(predicate((ClassElement e) => e.name == 'A'))); |
- expect(subtypes, contains(predicate((ClassElement e) => e.name == 'B'))); |
- expect(subtypes, contains(predicate((ClassElement e) => e.name == 'C'))); |
- } |
- |
- test_searchAllSubtypes_acrossDrivers() async { |
- var a = _p('/test/a.dart'); |
- var b = _p('/test/b.dart'); |
- |
- provider.newFile( |
- a, |
- ''' |
-class T {} |
-class A extends T {} |
-'''); |
- provider.newFile( |
- b, |
- ''' |
-import 'a.dart'; |
-class B extends A {} |
-class C extends B {} |
-'''); |
- |
- var driver1 = _newDriver(); |
- var driver2 = _newDriver(); |
- |
- driver1.addFile(a); |
- driver2.addFile(b); |
- |
- var resultA = await driver1.getResult(a); |
- ClassElement element = resultA.unit.element.types[0]; |
- |
- var searchEngine = new SearchEngineImpl2([driver1, driver2]); |
- Set<ClassElement> subtypes = await searchEngine.searchAllSubtypes(element); |
- expect(subtypes, hasLength(3)); |
- expect(subtypes, contains(predicate((ClassElement e) => e.name == 'A'))); |
- expect(subtypes, contains(predicate((ClassElement e) => e.name == 'B'))); |
- expect(subtypes, contains(predicate((ClassElement e) => e.name == 'C'))); |
- } |
- |
- test_searchMemberDeclarations() async { |
- var a = _p('/test/a.dart'); |
- var b = _p('/test/b.dart'); |
- |
- var codeA = ''' |
-class A { |
- int test; // 1 |
- int testTwo; |
-} |
-'''; |
- var codeB = ''' |
-class B { |
- void test() {} // 2 |
- void testTwo() {} |
-} |
-int test; |
-'''; |
- |
- provider.newFile(a, codeA); |
- provider.newFile(b, codeB); |
- |
- var driver1 = _newDriver(); |
- var driver2 = _newDriver(); |
- |
- driver1.addFile(a); |
- driver2.addFile(b); |
- |
- while (scheduler.isAnalyzing) { |
- await new Future.delayed(new Duration(milliseconds: 1)); |
- } |
- |
- var searchEngine = new SearchEngineImpl2([driver1, driver2]); |
- List<SearchMatch> matches = |
- await searchEngine.searchMemberDeclarations('test'); |
- expect(matches, hasLength(2)); |
- |
- void assertHasElement(String name, int nameOffset) { |
- expect( |
- matches, |
- contains(predicate((SearchMatch m) => |
- m.kind == MatchKind.DECLARATION && |
- m.element.name == name && |
- m.element.nameOffset == nameOffset))); |
- } |
- |
- assertHasElement('test', codeA.indexOf('test; // 1')); |
- assertHasElement('test', codeB.indexOf('test() {} // 2')); |
- } |
- |
- test_searchMemberReferences() async { |
- var a = _p('/test/a.dart'); |
- var b = _p('/test/b.dart'); |
- |
- provider.newFile( |
- a, |
- ''' |
-class A { |
- int test; |
-} |
-foo(p) { |
- p.test; |
-} |
-'''); |
- provider.newFile( |
- b, |
- ''' |
-import 'a.dart'; |
-bar(p) { |
- p.test = 1; |
-} |
-'''); |
- |
- var driver1 = _newDriver(); |
- var driver2 = _newDriver(); |
- |
- driver1.addFile(a); |
- driver2.addFile(b); |
- |
- var searchEngine = new SearchEngineImpl2([driver1, driver2]); |
- List<SearchMatch> matches = |
- await searchEngine.searchMemberReferences('test'); |
- expect(matches, hasLength(2)); |
- expect( |
- matches, |
- contains(predicate((SearchMatch m) => |
- m.element.name == 'foo' || m.kind == MatchKind.READ))); |
- expect( |
- matches, |
- contains(predicate((SearchMatch m) => |
- m.element.name == 'bar' || m.kind == MatchKind.WRITE))); |
- } |
- |
- test_searchReferences() async { |
- var a = _p('/test/a.dart'); |
- var b = _p('/test/b.dart'); |
- |
- provider.newFile( |
- a, |
- ''' |
-class T {} |
-T a; |
-'''); |
- provider.newFile( |
- b, |
- ''' |
-import 'a.dart'; |
-T b; |
-'''); |
- |
- var driver1 = _newDriver(); |
- var driver2 = _newDriver(); |
- |
- driver1.addFile(a); |
- driver2.addFile(b); |
- |
- var resultA = await driver1.getResult(a); |
- ClassElement element = resultA.unit.element.types[0]; |
- |
- var searchEngine = new SearchEngineImpl2([driver1, driver2]); |
- List<SearchMatch> matches = await searchEngine.searchReferences(element); |
- expect(matches, hasLength(2)); |
- expect( |
- matches, contains(predicate((SearchMatch m) => m.element.name == 'a'))); |
- expect( |
- matches, contains(predicate((SearchMatch m) => m.element.name == 'b'))); |
- } |
- |
- test_searchTopLevelDeclarations() async { |
- var a = _p('/test/a.dart'); |
- var b = _p('/test/b.dart'); |
- |
- provider.newFile( |
- a, |
- ''' |
-class A {} |
-int a; |
-'''); |
- provider.newFile( |
- b, |
- ''' |
-class B {} |
-get b => 42; |
-'''); |
- |
- var driver1 = _newDriver(); |
- var driver2 = _newDriver(); |
- |
- driver1.addFile(a); |
- driver2.addFile(b); |
- |
- while (scheduler.isAnalyzing) { |
- await new Future.delayed(new Duration(milliseconds: 1)); |
- } |
- |
- var searchEngine = new SearchEngineImpl2([driver1, driver2]); |
- List<SearchMatch> matches = |
- await searchEngine.searchTopLevelDeclarations('.*'); |
- expect( |
- matches.where((match) => !match.libraryElement.isInSdk), hasLength(4)); |
- |
- void assertHasElement(String name) { |
- expect( |
- matches, |
- contains(predicate((SearchMatch m) => |
- m.kind == MatchKind.DECLARATION && m.element.name == name))); |
- } |
- |
- assertHasElement('A'); |
- assertHasElement('a'); |
- assertHasElement('B'); |
- assertHasElement('b'); |
- } |
- |
- AnalysisDriver _newDriver() => new AnalysisDriver( |
- scheduler, |
- logger, |
- provider, |
- byteStore, |
- contentOverlay, |
- null, |
- new SourceFactory( |
- [new DartUriResolver(sdk), new ResourceUriResolver(provider)], |
- null, |
- provider), |
- new AnalysisOptionsImpl()..strongMode = true); |
- |
- String _p(String path) => provider.convertPath(path); |
-} |