| Index: pkg/analyzer/test/src/context/context_test.dart
|
| diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart
|
| index f5b695f5b5c4128002d38fb3e84f5cf7bbddbd46..988db569fa3a0375ee004bc23552fba47fed4ad6 100644
|
| --- a/pkg/analyzer/test/src/context/context_test.dart
|
| +++ b/pkg/analyzer/test/src/context/context_test.dart
|
| @@ -487,6 +487,43 @@ class B {}
|
| expect(context.getErrors(a).errors, hasLength(0));
|
| }
|
|
|
| + void test_applyChanges_addNewImport_invalidateLibraryCycle() {
|
| + context.analysisOptions =
|
| + new AnalysisOptionsImpl.from(context.analysisOptions)
|
| + ..strongMode = true;
|
| + Source embedder = addSource(
|
| + '/a.dart',
|
| + r'''
|
| +library a;
|
| +import 'b.dart';
|
| +//import 'c.dart';
|
| +''');
|
| + addSource(
|
| + '/b.dart',
|
| + r'''
|
| +library b;
|
| +import 'a.dart';
|
| +''');
|
| + addSource(
|
| + '/c.dart',
|
| + r'''
|
| +library c;
|
| +import 'b.dart';
|
| +''');
|
| + _performPendingAnalysisTasks();
|
| + // Add a new import into a.dart, this should invalidate its library cycle.
|
| + // If it doesn't, we will get a task cycle exception.
|
| + context.setContents(
|
| + embedder,
|
| + r'''
|
| +library a;
|
| +import 'b.dart';
|
| +import 'c.dart';
|
| +''');
|
| + _performPendingAnalysisTasks();
|
| + expect(context.getCacheEntry(embedder).exception, isNull);
|
| + }
|
| +
|
| void test_cacheConsistencyValidator_computed_deleted() {
|
| CacheConsistencyValidator validator = context.cacheConsistencyValidator;
|
| var stat = PerformanceStatistics.cacheConsistencyValidationStatistics;
|
|
|