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

Unified Diff: pkg/analyzer/test/src/task/dart_test.dart

Issue 1486663003: Ensure that a complete library element has constants evaluated (issue 24890) (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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
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 8b2bae5512988c865be34a2c9c0ec83df0b11018..9862ed0e5ddef32e8fe923f22667b47fc43c2b42 100644
--- a/pkg/analyzer/test/src/task/dart_test.dart
+++ b/pkg/analyzer/test/src/task/dart_test.dart
@@ -63,6 +63,7 @@ main() {
runReflectiveTests(PropagateVariableTypesInUnitTaskTest);
runReflectiveTests(PropagateVariableTypeTaskTest);
runReflectiveTests(ResolveInstanceFieldsInUnitTaskTest);
+ runReflectiveTests(ResolveLibraryTaskTest);
runReflectiveTests(ResolveLibraryTypeNamesTaskTest);
runReflectiveTests(ResolveUnitTaskTest);
runReflectiveTests(ResolveUnitTypeNamesTaskTest);
@@ -125,6 +126,7 @@ isInstanceOf isPropagateVariableTypesInUnitTask =
new isInstanceOf<PropagateVariableTypesInUnitTask>();
isInstanceOf isPropagateVariableTypeTask =
new isInstanceOf<PropagateVariableTypeTask>();
+isInstanceOf isResolveLibraryTask = new isInstanceOf<ResolveLibraryTask>();
isInstanceOf isResolveLibraryTypeNamesTask =
new isInstanceOf<ResolveLibraryTypeNamesTask>();
isInstanceOf isResolveUnitTask = new isInstanceOf<ResolveUnitTask>();
@@ -3448,6 +3450,32 @@ class ResolveInstanceFieldsInUnitTaskTest extends _AbstractDartTaskTest {
}
@reflectiveTest
+class ResolveLibraryTaskTest extends _AbstractDartTaskTest {
+ test_perform() {
+ Source sourceLib = newSource(
+ '/my_lib.dart',
+ '''
+library my_lib;
+const a = new A();
+class A {
+ const A();
+}
+@a
+class C {}
+''');
+ computeResult(sourceLib, LIBRARY_ELEMENT, matcher: isResolveLibraryTask);
+ // validate
+ LibraryElement library = outputs[LIBRARY_ELEMENT];
+ ClassElement classC = library.getType('C');
+ List<ElementAnnotation> metadata = classC.metadata;
+ expect(metadata, hasLength(1));
+ ElementAnnotation annotation = metadata[0];
+ expect(annotation, isNotNull);
+ expect((annotation as ElementAnnotationImpl).evaluationResult, isNotNull);
+ }
+}
+
+@reflectiveTest
class ResolveLibraryTypeNamesTaskTest extends _AbstractDartTaskTest {
test_perform() {
Source sourceLib = newSource(

Powered by Google App Engine
This is Rietveld 408576698