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 988db569fa3a0375ee004bc23552fba47fed4ad6..63c6703daff07c0dec86245a095ca296b5e4e215 100644 |
--- a/pkg/analyzer/test/src/context/context_test.dart |
+++ b/pkg/analyzer/test/src/context/context_test.dart |
@@ -155,6 +155,43 @@ class AnalysisContextImplTest extends AbstractContextTest { |
expect(entry.explicitlyAdded, isTrue); |
} |
+ 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); |
+ } |
+ |
Future test_applyChanges_change() { |
SourcesChangedListener listener = new SourcesChangedListener(); |
context.onSourcesChanged.listen(listener.onData); |
@@ -487,43 +524,6 @@ 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; |
@@ -2299,7 +2299,7 @@ library expectedToFindSemicolon |
Source librarySource = event.target; |
libraryElementUris.add(librarySource.uri.toString()); |
}); |
- context.onResultChanged(PARSED_UNIT).listen((event) { |
+ context.onResultChanged(PARSED_UNIT1).listen((event) { |
expect(event.wasComputed, isTrue); |
expect(event.wasInvalidated, isFalse); |
Source source = event.target; |
@@ -3750,6 +3750,7 @@ main() { |
MethodInvocation invocation = statement.expression; |
return invocation.argumentList.arguments[0]; |
} |
+ |
{ |
Expression argument = find42(); |
expect(argument.staticParameterElement, isNull); |
@@ -4983,6 +4984,8 @@ class A { |
void _assertValidForAnyLibrary(Source source) { |
// Source results. |
_assertValidTaskResults(source, ScanDartTask.DESCRIPTOR); |
+ _assertValidTaskResults(source, ParseDartTask.DESCRIPTOR); |
+ _assertValidTaskResults(source, ResolveDirectivesTask.DESCRIPTOR); |
// Library results. |
_assertValidTaskResults(source, BuildLibraryElementTask.DESCRIPTOR); |
_assertValidTaskResults(source, BuildDirectiveElementsTask.DESCRIPTOR); |