| 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
|
| index 13a3c2efd536c607b67fc237877a2512045040b1..eed803e27a3a8cdd7f786a1bf52281ae3b7ba43b 100644
|
| --- a/pkg/analysis_server/test/services/search/search_engine2_test.dart
|
| +++ b/pkg/analysis_server/test/services/search/search_engine2_test.dart
|
| @@ -2,6 +2,8 @@
|
| // 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';
|
| @@ -138,6 +140,51 @@ T b;
|
| 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, 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,
|
|
|