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

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

Issue 2939803002: Convert more tests to use the new driver (Closed)
Patch Set: Created 3 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/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);
-}

Powered by Google App Engine
This is Rietveld 408576698