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

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

Issue 1045113005: Use TaskInputBuilder to compute import/export source closures. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 9 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/lib/src/task/dart.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/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 ded196504233829ee5f5963b98d3624cb0f36b70..c87a7e6db953722c4c4a390bda2af56d9609019c 100644
--- a/pkg/analyzer/test/src/task/dart_test.dart
+++ b/pkg/analyzer/test/src/task/dart_test.dart
@@ -35,7 +35,7 @@ main() {
runReflectiveTests(BuildCompilationUnitElementTaskTest);
runReflectiveTests(BuildDirectiveElementsTaskTest);
runReflectiveTests(BuildEnumMemberElementsTaskTest);
- runReflectiveTests(BuildExportSourceClosureTaskTest);
+ runReflectiveTests(BuildSourceClosuresTaskTest);
runReflectiveTests(BuildExportNamespaceTaskTest);
runReflectiveTests(BuildFunctionTypeAliasesTaskTest);
runReflectiveTests(BuildLibraryConstructorsTaskTest);
@@ -618,48 +618,6 @@ int topLevelB;
}
@reflectiveTest
-class BuildExportSourceClosureTaskTest extends _AbstractDartTaskTest {
- test_perform() {
- Source sourceA = _newSource('/a.dart', '''
-library lib_a;
-export 'b.dart';
-''');
- Source sourceB = _newSource('/b.dart', '''
-library lib_b;
-export 'b.dart';
-''');
- Source sourceC = _newSource('/c.dart', '''
-library lib_c;
-export 'a.dart';
-''');
- Source sourceD = _newSource('/d.dart', '''
-library lib_d;
-''');
- // a.dart
- {
- _computeResult(sourceA, EXPORT_SOURCE_CLOSURE);
- expect(task, new isInstanceOf<BuildExportSourceClosureTask>());
- List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE];
- expect(closure, unorderedEquals([sourceA, sourceB]));
- }
- // c.dart
- {
- _computeResult(sourceC, EXPORT_SOURCE_CLOSURE);
- expect(task, new isInstanceOf<BuildExportSourceClosureTask>());
- List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE];
- expect(closure, unorderedEquals([sourceA, sourceB, sourceC]));
- }
- // d.dart
- {
- _computeResult(sourceD, EXPORT_SOURCE_CLOSURE);
- expect(task, new isInstanceOf<BuildExportSourceClosureTask>());
- List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE];
- expect(closure, unorderedEquals([sourceD]));
- }
- }
-}
-
-@reflectiveTest
class BuildFunctionTypeAliasesTaskTest extends _AbstractDartTaskTest {
test_perform() {
Source source = _newSource('/test.dart', '''
@@ -1061,6 +1019,95 @@ d() {}
}
@reflectiveTest
+class BuildSourceClosuresTaskTest extends _AbstractDartTaskTest {
+ test_perform_exportClosure() {
+ Source sourceA = _newSource('/a.dart', '''
+library lib_a;
+export 'b.dart';
+''');
+ Source sourceB = _newSource('/b.dart', '''
+library lib_b;
+export 'c.dart';
+''');
+ Source sourceC = _newSource('/c.dart', '''
+library lib_c;
+export 'a.dart';
+''');
+ Source sourceD = _newSource('/d.dart', '''
+library lib_d;
+''');
+ // a.dart
+ {
+ _computeResult(sourceA, EXPORT_SOURCE_CLOSURE);
+ expect(task, new isInstanceOf<BuildSourceClosuresTask>());
+ List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE];
+ expect(closure, unorderedEquals([sourceA, sourceB, sourceC]));
+ }
+ // c.dart
+ {
+ _computeResult(sourceC, EXPORT_SOURCE_CLOSURE);
+ expect(task, new isInstanceOf<BuildSourceClosuresTask>());
+ List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE];
+ expect(closure, unorderedEquals([sourceA, sourceB, sourceC]));
+ }
+ // d.dart
+ {
+ _computeResult(sourceD, EXPORT_SOURCE_CLOSURE);
+ expect(task, new isInstanceOf<BuildSourceClosuresTask>());
+ List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE];
+ expect(closure, unorderedEquals([sourceD]));
+ }
+ }
+
+ test_perform_importClosure() {
+ Source sourceA = _newSource('/a.dart', '''
+library lib_a;
+import 'b.dart';
+''');
+ Source sourceB = _newSource('/b.dart', '''
+library lib_b;
+import 'c.dart';
+''');
+ Source sourceC = _newSource('/c.dart', '''
+library lib_c;
+import 'a.dart';
+''');
+ Source sourceD = _newSource('/d.dart', '''
+library lib_d;
+''');
+ Source coreSource = context.sourceFactory.resolveUri(null, 'dart:core');
+ // a.dart
+ {
+ _computeResult(sourceA, IMPORT_SOURCE_CLOSURE);
+ expect(task, new isInstanceOf<BuildSourceClosuresTask>());
+ List<Source> closure = outputs[IMPORT_SOURCE_CLOSURE];
+ expect(closure, contains(sourceA));
+ expect(closure, contains(sourceB));
+ expect(closure, contains(sourceC));
+ expect(closure, contains(coreSource));
+ }
+ // c.dart
+ {
+ _computeResult(sourceC, IMPORT_SOURCE_CLOSURE);
+ expect(task, new isInstanceOf<BuildSourceClosuresTask>());
+ List<Source> closure = outputs[IMPORT_SOURCE_CLOSURE];
+ expect(closure, contains(sourceA));
+ expect(closure, contains(sourceB));
+ expect(closure, contains(sourceC));
+ expect(closure, contains(coreSource));
+ }
+ // d.dart
+ {
+ _computeResult(sourceD, IMPORT_SOURCE_CLOSURE);
+ expect(task, new isInstanceOf<BuildSourceClosuresTask>());
+ List<Source> closure = outputs[IMPORT_SOURCE_CLOSURE];
+ expect(closure, contains(sourceD));
+ expect(closure, contains(coreSource));
+ }
+ }
+}
+
+@reflectiveTest
class BuildTypeProviderTaskTest extends _AbstractDartTaskTest {
test_perform() {
_computeResult(AnalysisContextTarget.request, TYPE_PROVIDER);
@@ -1574,7 +1621,7 @@ class _AbstractDartTaskTest extends EngineTestCase {
taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR);
- taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR);
+ taskManager.addTaskDescriptor(BuildSourceClosuresTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR);
« no previous file with comments | « pkg/analyzer/lib/src/task/dart.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698