| Index: pkg/analyzer/test/src/task/dart_test.dart
|
| diff --git a/pkg/analyzer/test/src/task/dart_test.dart b/pkg/analyzer/test/src/task/dart_test.dart
|
| index f71c6ffe729c60cdc85ee88ec6dfddbcc3813aaf..9892d3fbc2ad5647fc68cffb10ace4f1863926b3 100644
|
| --- a/pkg/analyzer/test/src/task/dart_test.dart
|
| +++ b/pkg/analyzer/test/src/task/dart_test.dart
|
| @@ -1573,6 +1573,7 @@ import 'my_lib2.dart';
|
| AnalysisTarget lib1Target = new LibrarySpecificUnit(lib1Source, lib1Source);
|
| AnalysisTarget lib2Target = new LibrarySpecificUnit(lib2Source, lib2Source);
|
| AnalysisTarget lib3Target = new LibrarySpecificUnit(lib3Source, lib3Source);
|
| +
|
| computeResult(lib1Target, LIBRARY_CYCLE);
|
| expect(outputs[LIBRARY_CYCLE], hasLength(1));
|
| computeResult(lib2Target, LIBRARY_CYCLE);
|
| @@ -1580,13 +1581,17 @@ import 'my_lib2.dart';
|
| computeResult(lib3Target, LIBRARY_CYCLE);
|
| expect(outputs[LIBRARY_CYCLE], hasLength(1));
|
|
|
| - // complete the cycle
|
| + // create a cycle
|
| context.setContents(
|
| lib1Source,
|
| '''
|
| library my_lib1;
|
| import 'my_lib3.dart';
|
| ''');
|
| + _expectInvalid(lib1Target);
|
| + _expectInvalid(lib2Target);
|
| + _expectInvalid(lib3Target);
|
| +
|
| computeResult(lib1Target, LIBRARY_CYCLE);
|
| expect(outputs[LIBRARY_CYCLE], hasLength(3));
|
| computeResult(lib2Target, LIBRARY_CYCLE);
|
| @@ -1600,6 +1605,10 @@ import 'my_lib3.dart';
|
| '''
|
| library my_lib1;
|
| ''');
|
| + _expectInvalid(lib1Target);
|
| + _expectInvalid(lib2Target);
|
| + _expectInvalid(lib3Target);
|
| +
|
| computeResult(lib1Target, LIBRARY_CYCLE);
|
| expect(outputs[LIBRARY_CYCLE], hasLength(1));
|
| computeResult(lib2Target, LIBRARY_CYCLE);
|
| @@ -1630,6 +1639,7 @@ import 'my_lib2.dart';
|
| AnalysisTarget lib1Target = new LibrarySpecificUnit(lib1Source, lib1Source);
|
| AnalysisTarget lib2Target = new LibrarySpecificUnit(lib2Source, lib2Source);
|
| AnalysisTarget lib3Target = new LibrarySpecificUnit(lib3Source, lib3Source);
|
| +
|
| computeResult(lib1Target, LIBRARY_CYCLE);
|
| expect(outputs[LIBRARY_CYCLE], hasLength(1));
|
| computeResult(lib2Target, LIBRARY_CYCLE);
|
| @@ -1644,6 +1654,10 @@ import 'my_lib2.dart';
|
| library my_lib1;
|
| import 'my_lib3.dart';
|
| ''');
|
| + _expectInvalid(lib1Target);
|
| + _expectInvalid(lib2Target);
|
| + _expectInvalid(lib3Target);
|
| +
|
| // Ensure that invalidation correctly invalidated everything reachable
|
| // through lib3
|
| computeResult(lib1Target, LIBRARY_CYCLE);
|
| @@ -1763,6 +1777,9 @@ library my_lib1;
|
| import 'my_lib3.dart';
|
| var foo = 123;
|
| ''');
|
| + _expectInvalid(lib1Target);
|
| + _expectInvalid(lib2Target);
|
| + _expectInvalid(lib3Target);
|
|
|
| computeResult(lib1Target, RESOLVED_UNIT);
|
| computeResult(lib2Target, RESOLVED_UNIT);
|
| @@ -1999,6 +2016,11 @@ import 'dart:core';
|
| expect(dep6, hasLength(5)); // dart:core, a.dart, aa.dart, ab.dart, b.dart
|
| expect(dep7, hasLength(5)); // dart:core, a.dart, aa.dart, ab.dart, b.dart
|
| }
|
| +
|
| + void _expectInvalid(LibrarySpecificUnit target) {
|
| + CacheEntry entry = context.getCacheEntry(target);
|
| + expect(entry.getState(LIBRARY_CYCLE), CacheState.INVALID);
|
| + }
|
| }
|
|
|
| @reflectiveTest
|
|
|