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

Unified Diff: pkg/analyzer/test/src/dart/analysis/driver_test.dart

Issue 2829253002: Add support for external summaries bundle in AnalysisDriver. (Closed)
Patch Set: Fixes for review comments. Created 3 years, 8 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
« no previous file with comments | « pkg/analyzer/test/src/dart/analysis/base.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..4ad47252f983a7987eb1b3bf70af8c2b7573fbd7 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);
}
+ test_externalSummaries() async {
+ 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');
« no previous file with comments | « pkg/analyzer/test/src/dart/analysis/base.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698