| Index: pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| index 6b4231e490ec7c327ce4c1ba063430e9e270cf38..d4f773dbaeaae3bd50678dc2230ff147a21ae77c 100644
|
| --- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| +++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| @@ -16,6 +16,7 @@ import 'package:analyzer/src/dart/analysis/byte_store.dart';
|
| import 'package:analyzer/src/dart/analysis/driver.dart';
|
| import 'package:analyzer/src/dart/analysis/file_state.dart';
|
| import 'package:analyzer/src/dart/analysis/status.dart';
|
| +import 'package:analyzer/src/dart/analysis/top_level_declaration.dart';
|
| import 'package:analyzer/src/error/codes.dart';
|
| import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
|
| import 'package:analyzer/src/generated/source.dart';
|
| @@ -733,6 +734,39 @@ var A2 = B1;
|
| expect(result1.unit, isNotNull);
|
| }
|
|
|
| + test_getTopLevelNameDeclarations() async {
|
| + var a = _p('/test/lib/a.dart');
|
| + var b = _p('/test/lib/b.dart');
|
| + var c = _p('/test/lib/c.dart');
|
| + var d = _p('/test/lib/d.dart');
|
| +
|
| + provider.newFile(a, 'class A {}');
|
| + provider.newFile(b, 'export "a.dart", class B {}');
|
| + provider.newFile(c, 'import "d.dart"; class C {}');
|
| + provider.newFile(d, 'class D {}');
|
| +
|
| + driver.addFile(a);
|
| + driver.addFile(b);
|
| + driver.addFile(c);
|
| + // Don't add d.dart, it is referenced implicitly.
|
| +
|
| + void assertLibraryPaths(
|
| + List<TopLevelDeclarationInSource> declarations, List<String> expected) {
|
| + expect(declarations.map((l) => l.source.fullName),
|
| + unorderedEquals(expected));
|
| + }
|
| +
|
| + assertLibraryPaths(await driver.getTopLevelNameDeclarations('A'), [a, b]);
|
| +
|
| + assertLibraryPaths(await driver.getTopLevelNameDeclarations('B'), [b]);
|
| +
|
| + assertLibraryPaths(await driver.getTopLevelNameDeclarations('C'), [c]);
|
| +
|
| + assertLibraryPaths(await driver.getTopLevelNameDeclarations('D'), [d]);
|
| +
|
| + assertLibraryPaths(await driver.getTopLevelNameDeclarations('X'), []);
|
| + }
|
| +
|
| test_knownFiles() async {
|
| var a = _p('/test/lib/a.dart');
|
| var b = _p('/test/lib/b.dart');
|
|
|