Chromium Code Reviews| 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 4f3b2afd6e9bd4786f969a30d4fa53e4f05c9490..1043c7b4dc94199575bc6d21f808f4cbf561c04f 100644 |
| --- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart |
| +++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart |
| @@ -27,6 +27,7 @@ import 'package:analyzer/src/generated/resolver.dart' show ResolverErrorCode; |
| import 'package:analyzer/src/generated/sdk.dart'; |
| import 'package:analyzer/src/generated/source.dart'; |
| import 'package:analyzer/src/summary/idl.dart'; |
| +import 'package:analyzer/src/summary/package_bundle_reader.dart'; |
| import 'package:convert/convert.dart'; |
| import 'package:crypto/crypto.dart'; |
| import 'package:test/test.dart'; |
| @@ -988,6 +989,43 @@ part 'foo.dart'; |
| expect(errors[0].errorCode, CompileTimeErrorCode.URI_DOES_NOT_EXIST); |
| } |
| + solo_test_externalSummaries() async { |
|
Brian Wilkerson
2017/04/21 16:19:39
Remove "solo_"
|
| + var a = _p('/a.dart'); |
| + var b = _p('/b.dart'); |
| + provider.newFile( |
| + a, |
| + r''' |
| +class A {} |
| +'''); |
| + provider.newFile( |
| + b, |
| + r''' |
| +import 'a.dart'; |
| +var a = new A(); |
| +'''); |
| + |
| + // Prepare the store with a.dart and everything it needs. |
| + SummaryDataStore summaryStore = |
| + createAnalysisDriver().test.getSummaryStore(a); |
| + |
| + // There are at least a.dart and dart:core libraries. |
| + String aUri = 'file://$a'; |
| + expect(summaryStore.unlinkedMap.keys, contains(aUri)); |
| + expect(summaryStore.linkedMap.keys, contains(aUri)); |
| + expect(summaryStore.unlinkedMap.keys, contains('dart:core')); |
| + expect(summaryStore.linkedMap.keys, contains('dart:core')); |
| + |
| + // Remove a.dart from the file system. |
| + provider.deleteFile(a); |
| + |
| + // We don't need a.dart file when we analyze with the summary store. |
| + // Still no analysis errors. |
| + AnalysisDriver driver = |
| + createAnalysisDriver(externalSummaries: summaryStore); |
| + AnalysisResult result = await driver.getResult(b); |
| + expect(result.errors, isEmpty); |
| + } |
| + |
| test_generatedFile() async { |
| Uri uri = Uri.parse('package:aaa/foo.dart'); |
| String templatePath = _p('/aaa/lib/foo.dart'); |