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

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

Issue 1051313002: Task: gather elements used in a unit. (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 4dd1675da55c067884f77cccfd494ec1484d6a26..9788bd4bc698e320044d6f446cabb1fb84e20789 100644
--- a/pkg/analyzer/test/src/task/dart_test.dart
+++ b/pkg/analyzer/test/src/task/dart_test.dart
@@ -42,6 +42,7 @@ main() {
runReflectiveTests(BuildLibraryElementTaskTest);
runReflectiveTests(BuildPublicNamespaceTaskTest);
runReflectiveTests(BuildTypeProviderTaskTest);
+ runReflectiveTests(GatherUsedElementsTaskTest);
runReflectiveTests(GenerateHintsTaskTest);
runReflectiveTests(ParseDartTaskTest);
runReflectiveTests(ResolveUnitTypeNamesTaskTest);
@@ -1122,6 +1123,52 @@ class BuildTypeProviderTaskTest extends _AbstractDartTaskTest {
}
@reflectiveTest
+class GatherUsedElementsTaskTest extends _AbstractDartTaskTest {
+ UsedElements usedElements;
+ Set<String> usedElementNames;
+
+ test_perform_localVariable() {
+ Source source = _newSource('/test.dart', r'''
+main() {
+ var v1 = 1;
+ var v2 = 2;
+ print(v2);
+}''');
+ _computeUsedElements(source);
+ // validate
+ expect(usedElementNames, unorderedEquals(['v2']));
+ }
+
+ test_perform_method() {
+ Source source = _newSource('/test.dart', r'''
+class A {
+ _m1() {}
+ _m2() {}
+}
+
+main(A a, p) {
+ a._m2();
+ p._m3();
+}
+''');
+ _computeUsedElements(source);
+ // validate
+ print(usedElementNames);
+ print(usedElements.members);
+ expect(usedElementNames, unorderedEquals(['A', 'a', 'p', '_m2']));
+ expect(usedElements.members, unorderedEquals(['_m2', '_m3']));
+ }
+
+ void _computeUsedElements(Source source) {
+ LibraryUnitTarget target = new LibraryUnitTarget(source, source);
+ _computeResult(target, USED_ELEMENTS);
+ expect(task, new isInstanceOf<GatherUsedElementsTask>());
+ usedElements = outputs[USED_ELEMENTS];
+ usedElementNames = usedElements.elements.map((e) => e.name).toSet();
+ }
+}
+
+@reflectiveTest
class GenerateHintsTaskTest extends _AbstractDartTaskTest {
test_perform_bestPractices_missingReturn() {
Source source = _newSource('/test.dart', '''
@@ -1665,6 +1712,7 @@ class _AbstractDartTaskTest extends EngineTestCase {
taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR);
taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR);
+ taskManager.addTaskDescriptor(GatherUsedElementsTask.DESCRIPTOR);
taskManager.addTaskDescriptor(GenerateHintsTask.DESCRIPTOR);
taskManager.addTaskDescriptor(ResolveUnitTypeNamesTask.DESCRIPTOR);
taskManager.addTaskDescriptor(ResolveLibraryTypeNamesTask.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