| Index: pkg/analyzer/test/src/dart/analysis/file_state_test.dart
|
| diff --git a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
|
| index 7869d5a42321dbeb79428648a98825c70cba1c9a..7308a02e793dbff5f85cf80acc6c7573290edb51 100644
|
| --- a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
|
| +++ b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
|
| @@ -314,6 +314,22 @@ class A2 {}
|
| expect(file.unlinked.classes, isEmpty);
|
| }
|
|
|
| + test_getFileForPath_emptyUri() {
|
| + String path = _p('/test.dart');
|
| + provider.newFile(
|
| + path,
|
| + r'''
|
| +import '';
|
| +export '';
|
| +part '';
|
| +''');
|
| +
|
| + FileState file = fileSystemState.getFileForPath(path);
|
| + _assertIsUnresolvedFile(file.importedFiles[0]);
|
| + _assertIsUnresolvedFile(file.exportedFiles[0]);
|
| + _assertIsUnresolvedFile(file.partedFiles[0]);
|
| + }
|
| +
|
| test_getFileForPath_hasLibraryDirective_hasPartOfDirective() {
|
| String a = _p('/test/lib/a.dart');
|
| provider.newFile(
|
| @@ -326,7 +342,7 @@ part of L;
|
| expect(file.isPart, isFalse);
|
| }
|
|
|
| - test_getFileForPath_import_invalidUri() {
|
| + test_getFileForPath_invalidUri() {
|
| String a = _p('/aaa/lib/a.dart');
|
| String a1 = _p('/aaa/lib/a1.dart');
|
| String a2 = _p('/aaa/lib/a2.dart');
|
| @@ -335,8 +351,8 @@ part of L;
|
| import 'package:aaa/a1.dart';
|
| import '[invalid uri]';
|
|
|
| -export '[invalid uri]';
|
| export 'package:aaa/a2.dart';
|
| +export '[invalid uri]';
|
|
|
| part 'a3.dart';
|
| part '[invalid uri]';
|
| @@ -345,20 +361,23 @@ part '[invalid uri]';
|
|
|
| FileState file = fileSystemState.getFileForPath(a);
|
|
|
| - expect(_excludeSdk(file.importedFiles), hasLength(1));
|
| + expect(_excludeSdk(file.importedFiles), hasLength(2));
|
| expect(file.importedFiles[0].path, a1);
|
| expect(file.importedFiles[0].uri, Uri.parse('package:aaa/a1.dart'));
|
| expect(file.importedFiles[0].source, isNotNull);
|
| + _assertIsUnresolvedFile(file.importedFiles[1]);
|
|
|
| - expect(_excludeSdk(file.exportedFiles), hasLength(1));
|
| + expect(_excludeSdk(file.exportedFiles), hasLength(2));
|
| expect(file.exportedFiles[0].path, a2);
|
| expect(file.exportedFiles[0].uri, Uri.parse('package:aaa/a2.dart'));
|
| expect(file.exportedFiles[0].source, isNotNull);
|
| + _assertIsUnresolvedFile(file.exportedFiles[1]);
|
|
|
| - expect(_excludeSdk(file.partedFiles), hasLength(1));
|
| + expect(_excludeSdk(file.partedFiles), hasLength(2));
|
| expect(file.partedFiles[0].path, a3);
|
| expect(file.partedFiles[0].uri, Uri.parse('package:aaa/a3.dart'));
|
| expect(file.partedFiles[0].source, isNotNull);
|
| + _assertIsUnresolvedFile(file.partedFiles[1]);
|
| }
|
|
|
| test_getFileForPath_library() {
|
| @@ -789,6 +808,12 @@ set _V3(_) {}
|
| expect(_excludeSdk(actual), unorderedEquals(expected));
|
| }
|
|
|
| + void _assertIsUnresolvedFile(FileState file) {
|
| + expect(file.path, isNull);
|
| + expect(file.uri, isNull);
|
| + expect(file.source, isNull);
|
| + }
|
| +
|
| void _assertTransitiveFiles(FileState file, List<FileState> expected) {
|
| expect(_excludeSdk(file.transitiveFiles), unorderedEquals(expected));
|
| }
|
| @@ -796,7 +821,7 @@ set _V3(_) {}
|
| List<T> _excludeSdk<T>(Iterable<T> files) {
|
| return files.where((Object file) {
|
| if (file is FileState) {
|
| - return file.uri.scheme != 'dart';
|
| + return file.uri?.scheme != 'dart';
|
| } else {
|
| return !(file as String).startsWith(_p('/sdk'));
|
| }
|
|
|