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 1aec98956ae6f1147dcd2bb6734087f2001c9a80..70e76f97260613aa096368c431a3716fc3d0beca 100644 |
--- a/pkg/analyzer/test/src/task/dart_test.dart |
+++ b/pkg/analyzer/test/src/task/dart_test.dart |
@@ -33,9 +33,12 @@ main() { |
runReflectiveTests(BuildLibraryElementTaskTest); |
runReflectiveTests(BuildPublicNamespaceTaskTest); |
runReflectiveTests(BuildTypeProviderTaskTest); |
+ runReflectiveTests(ContainingLibrariesTaskTest); |
+ runReflectiveTests(DartErrorsTaskTest); |
runReflectiveTests(GatherUsedImportedElementsTaskTest); |
runReflectiveTests(GatherUsedLocalElementsTaskTest); |
runReflectiveTests(GenerateHintsTaskTest); |
+ runReflectiveTests(LibraryUnitErrorsTaskTest); |
runReflectiveTests(ParseDartTaskTest); |
runReflectiveTests(ResolveUnitTypeNamesTaskTest); |
runReflectiveTests(ResolveLibraryTypeNamesTaskTest); |
@@ -1184,6 +1187,148 @@ class BuildTypeProviderTaskTest extends _AbstractDartTaskTest { |
} |
@reflectiveTest |
+class ContainingLibrariesTaskTest extends _AbstractDartTaskTest { |
+ test_buildInputs() { |
+ Map<String, TaskInput> inputs = |
+ ContainingLibrariesTask.buildInputs(emptySource); |
+ expect(inputs, isNotNull); |
+ expect(inputs, isEmpty); |
+ } |
+ |
+ test_constructor() { |
+ ContainingLibrariesTask task = |
+ new ContainingLibrariesTask(context, emptySource); |
+ expect(task, isNotNull); |
+ expect(task.context, context); |
+ expect(task.target, emptySource); |
+ } |
+ |
+ test_createTask() { |
+ ContainingLibrariesTask task = |
+ ContainingLibrariesTask.createTask(context, emptySource); |
+ expect(task, isNotNull); |
+ expect(task.context, context); |
+ expect(task.target, emptySource); |
+ } |
+ |
+ test_description() { |
+ ContainingLibrariesTask task = |
+ new ContainingLibrariesTask(null, emptySource); |
+ expect(task.description, isNotNull); |
+ } |
+ |
+ test_descriptor() { |
+ TaskDescriptor descriptor = ContainingLibrariesTask.DESCRIPTOR; |
+ expect(descriptor, isNotNull); |
+ } |
+ |
+ test_perform_definingCompilationUnit() { |
+ AnalysisTarget library = newSource('/test.dart', 'library test;'); |
+ _computeResult(library, INCLUDED_PARTS); |
+ _computeResult(library, CONTAINING_LIBRARIES); |
+ expect(task, new isInstanceOf<ContainingLibrariesTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<Source> containingLibraries = outputs[CONTAINING_LIBRARIES]; |
+ expect(containingLibraries, unorderedEquals([library])); |
+ } |
+ |
+ test_perform_partInMultipleLibraries() { |
+ AnalysisTarget library1 = |
+ newSource('/lib1.dart', 'library test; part "part.dart";'); |
+ AnalysisTarget library2 = |
+ newSource('/lib2.dart', 'library test; part "part.dart";'); |
+ AnalysisTarget part = newSource('/part.dart', 'part of test;'); |
+ _computeResult(library1, INCLUDED_PARTS); |
+ _computeResult(library2, INCLUDED_PARTS); |
+ _computeResult(part, SOURCE_KIND); |
+ _computeResult(part, CONTAINING_LIBRARIES); |
+ expect(task, new isInstanceOf<ContainingLibrariesTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<Source> containingLibraries = outputs[CONTAINING_LIBRARIES]; |
+ expect(containingLibraries, unorderedEquals([library1, library2])); |
+ } |
+ |
+ test_perform_partInSingleLibrary() { |
+ AnalysisTarget library = |
+ newSource('/lib.dart', 'library test; part "part.dart";'); |
+ AnalysisTarget part = newSource('/part.dart', 'part of test;'); |
+ _computeResult(library, INCLUDED_PARTS); |
+ _computeResult(part, SOURCE_KIND); |
+ _computeResult(part, CONTAINING_LIBRARIES); |
+ expect(task, new isInstanceOf<ContainingLibrariesTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<Source> containingLibraries = outputs[CONTAINING_LIBRARIES]; |
+ expect(containingLibraries, unorderedEquals([library])); |
+ } |
+} |
+ |
+@reflectiveTest |
+class DartErrorsTaskTest extends _AbstractDartTaskTest { |
+ test_buildInputs() { |
+ Map<String, TaskInput> inputs = DartErrorsTask.buildInputs(emptySource); |
+ expect(inputs, isNotNull); |
+ expect(inputs.keys, unorderedEquals([ |
+ DartErrorsTask.BUILD_DIRECTIVES_ERRORS_INPUT, |
+ DartErrorsTask.BUILD_LIBRARY_ERRORS_INPUT, |
+ DartErrorsTask.PARSE_ERRORS_INPUT, |
+ DartErrorsTask.SCAN_ERRORS_INPUT, |
+ DartErrorsTask.LIBRARY_UNIT_ERRORS_INPUT |
+ ])); |
+ } |
+ |
+ test_constructor() { |
+ DartErrorsTask task = new DartErrorsTask(context, emptySource); |
+ expect(task, isNotNull); |
+ expect(task.context, context); |
+ expect(task.target, emptySource); |
+ } |
+ |
+ test_createTask() { |
+ DartErrorsTask task = DartErrorsTask.createTask(context, emptySource); |
+ expect(task, isNotNull); |
+ expect(task.context, context); |
+ expect(task.target, emptySource); |
+ } |
+ |
+ test_description() { |
+ DartErrorsTask task = new DartErrorsTask(null, emptySource); |
+ expect(task.description, isNotNull); |
+ } |
+ |
+ test_descriptor() { |
+ TaskDescriptor descriptor = DartErrorsTask.DESCRIPTOR; |
+ expect(descriptor, isNotNull); |
+ } |
+ |
+ test_perform_definingCompilationUnit() { |
+ AnalysisTarget library = |
+ newSource('/test.dart', 'library test; import "dart:math";'); |
+ _computeResult(library, INCLUDED_PARTS); |
+ _computeResult(library, DART_ERRORS); |
+ expect(task, new isInstanceOf<DartErrorsTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<AnalysisError> errors = outputs[DART_ERRORS]; |
+ expect(errors, hasLength(1)); |
+ } |
+ |
+ test_perform_partInSingleLibrary() { |
+ AnalysisTarget library = newSource( |
+ '/lib.dart', 'library test; import "dart:math"; part "part.dart";'); |
+ AnalysisTarget part = |
+ newSource('/part.dart', 'part of test; class A extends A {}'); |
+ _computeResult(library, INCLUDED_PARTS); |
+ _computeResult(library, DART_ERRORS); |
+ _computeResult(part, DART_ERRORS); |
+ expect(task, new isInstanceOf<DartErrorsTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<AnalysisError> errors = outputs[DART_ERRORS]; |
+ // This should contain only the errors in the part file, not the ones in the |
+ // library. |
+ expect(errors, hasLength(1)); |
+ } |
+} |
+ |
+@reflectiveTest |
class GatherUsedImportedElementsTaskTest extends _AbstractDartTaskTest { |
UsedImportedElements usedElements; |
Set<String> usedElementNames; |
@@ -1459,6 +1604,70 @@ f(A a) { |
} |
@reflectiveTest |
+class LibraryUnitErrorsTaskTest extends _AbstractDartTaskTest { |
+ test_buildInputs() { |
+ Map<String, TaskInput> inputs = LibraryUnitErrorsTask |
+ .buildInputs(new LibrarySpecificUnit(emptySource, emptySource)); |
+ expect(inputs, isNotNull); |
+ expect(inputs.keys, unorderedEquals([ |
+ LibraryUnitErrorsTask.BUILD_FUNCTION_TYPE_ALIASES_ERRORS_INPUT, |
+ LibraryUnitErrorsTask.HINTS_INPUT, |
+ LibraryUnitErrorsTask.RESOLVE_REFERENCES_ERRORS_INPUT, |
+ LibraryUnitErrorsTask.RESOLVE_TYPE_NAMES_ERRORS_INPUT, |
+ LibraryUnitErrorsTask.VERIFY_ERRORS_INPUT |
+ ])); |
+ } |
+ |
+ test_constructor() { |
+ LibraryUnitErrorsTask task = |
+ new LibraryUnitErrorsTask(context, emptySource); |
+ expect(task, isNotNull); |
+ expect(task.context, context); |
+ expect(task.target, emptySource); |
+ } |
+ |
+ test_createTask() { |
+ LibraryUnitErrorsTask task = |
+ LibraryUnitErrorsTask.createTask(context, emptySource); |
+ expect(task, isNotNull); |
+ expect(task.context, context); |
+ expect(task.target, emptySource); |
+ } |
+ |
+ test_description() { |
+ LibraryUnitErrorsTask task = new LibraryUnitErrorsTask(null, emptySource); |
+ expect(task.description, isNotNull); |
+ } |
+ |
+ test_descriptor() { |
+ TaskDescriptor descriptor = LibraryUnitErrorsTask.DESCRIPTOR; |
+ expect(descriptor, isNotNull); |
+ } |
+ |
+ test_perform_definingCompilationUnit() { |
+ AnalysisTarget library = |
+ newSource('/test.dart', 'library test; import "dart:math";'); |
+ _computeResult( |
+ new LibrarySpecificUnit(library, library), LIBRARY_UNIT_ERRORS); |
+ expect(task, new isInstanceOf<LibraryUnitErrorsTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<AnalysisError> errors = outputs[LIBRARY_UNIT_ERRORS]; |
+ expect(errors, hasLength(1)); |
+ } |
+ |
+ test_perform_partInSingleLibrary() { |
+ AnalysisTarget library = |
+ newSource('/lib.dart', 'library test; part "part.dart";'); |
+ AnalysisTarget part = newSource('/part.dart', 'part of test;'); |
+ _computeResult(new LibrarySpecificUnit(library, part), LIBRARY_UNIT_ERRORS); |
+ expect(task, new isInstanceOf<LibraryUnitErrorsTask>()); |
+ expect(outputs, hasLength(1)); |
+ List<AnalysisError> errors = outputs[LIBRARY_UNIT_ERRORS]; |
+ expect(errors, hasLength(0)); |
+ } |
+} |
+ |
+@reflectiveTest |
class ParseDartTaskTest extends _AbstractDartTaskTest { |
test_buildInputs() { |
Map<String, TaskInput> inputs = ParseDartTask.buildInputs(emptySource); |