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

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

Issue 2231473002: Revert 6ad38498c8673f1fbe3e12c49b1cf590305676dd (PARSED_UNIT). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 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
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 bc26a3816f84a2c7c4b2ca3a284224e98b64c4bd..c274834f21eb82be4032781a5b44118dbd4b3b86 100644
--- a/pkg/analyzer/test/src/task/dart_test.dart
+++ b/pkg/analyzer/test/src/task/dart_test.dart
@@ -67,7 +67,6 @@ main() {
runReflectiveTests(PropagateVariableTypesInUnitTaskTest);
runReflectiveTests(PropagateVariableTypeTaskTest);
runReflectiveTests(ReferencedNamesBuilderTest);
- runReflectiveTests(ResolveDirectivesTaskTest);
runReflectiveTests(ResolveDirectiveElementsTaskTest);
runReflectiveTests(ResolveInstanceFieldsInUnitTaskTest);
runReflectiveTests(ResolveLibraryTaskTest);
@@ -136,8 +135,6 @@ isInstanceOf isPropagateVariableTypeTask =
new isInstanceOf<PropagateVariableTypeTask>();
isInstanceOf isResolveDirectiveElementsTask =
new isInstanceOf<ResolveDirectiveElementsTask>();
-isInstanceOf isResolveDirectivesTask =
- new isInstanceOf<ResolveDirectivesTask>();
isInstanceOf isResolveLibraryReferencesTask =
new isInstanceOf<ResolveLibraryReferencesTask>();
isInstanceOf isResolveLibraryTask = new isInstanceOf<ResolveLibraryTask>();
@@ -3220,14 +3217,21 @@ class ParseDartTaskTest extends _AbstractDartTaskTest {
Source source;
test_perform() {
- _performTask(r'''
+ _performParseTask(r'''
part of lib;
class B {}''');
- expect(outputs, hasLength(4));
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(0));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 1);
+ expect(outputs[INCLUDED_PARTS], hasLength(0));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
expect(outputs[PARSE_ERRORS], hasLength(0));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(2));
expect(outputs[SOURCE_KIND], SourceKind.PART);
+ expect(outputs[UNITS], hasLength(1));
}
test_perform_computeSourceKind_noDirectives_hasContainingLibrary() {
@@ -3239,110 +3243,160 @@ class B {}''');
library lib;
part 'test.dart';
'''),
- PARSED_UNIT1);
+ PARSED_UNIT);
// If there are no the "part of" directive, then it is not a part.
- _performTask('');
+ _performParseTask('');
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
}
test_perform_computeSourceKind_noDirectives_noContainingLibrary() {
- _performTask('');
+ _performParseTask('');
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
}
test_perform_doesNotExist() {
- _performTask(null);
- expect(outputs, hasLength(4));
+ _performParseTask(null);
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(0));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 1);
+ expect(outputs[INCLUDED_PARTS], hasLength(0));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
expect(outputs[PARSE_ERRORS], hasLength(0));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(2));
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
+ expect(outputs[UNITS], hasLength(1));
}
test_perform_enableAsync_false() {
AnalysisOptionsImpl options = new AnalysisOptionsImpl();
options.enableAsync = false;
prepareAnalysisContext(options);
- _performTask(r'''
+ _performParseTask(r'''
import 'dart:async';
class B {void foo() async {}}''');
- expect(outputs, hasLength(4));
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
+ expect(outputs[INCLUDED_PARTS], hasLength(0));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
expect(outputs[PARSE_ERRORS], hasLength(1));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(3));
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
+ expect(outputs[UNITS], hasLength(1));
}
test_perform_enableAsync_true() {
- _performTask(r'''
+ _performParseTask(r'''
import 'dart:async';
class B {void foo() async {}}''');
- expect(outputs, hasLength(4));
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
+ expect(outputs[INCLUDED_PARTS], hasLength(0));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
expect(outputs[PARSE_ERRORS], hasLength(0));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(3));
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
+ expect(outputs[UNITS], hasLength(1));
}
test_perform_flushTokenStream() {
- _performTask(r'''
+ _performParseTask(r'''
class Test {}
''');
expect(analysisCache.getState(source, TOKEN_STREAM), CacheState.FLUSHED);
}
test_perform_invalidDirectives() {
- _performTask(r'''
+ _performParseTask(r'''
library lib;
import '/does/not/exist.dart';
import '://invaliduri.dart';
export '${a}lib3.dart';
part 'part.dart';
class A {}''');
- expect(outputs, hasLength(4));
- expect(outputs[PARSE_ERRORS], hasLength(0));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
+ expect(outputs[INCLUDED_PARTS], hasLength(1));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(2));
+ expect(outputs[PARSE_ERRORS], hasLength(2));
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(4));
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
+ expect(outputs[UNITS], hasLength(2));
}
test_perform_library() {
- _performTask(r'''
+ _performParseTask(r'''
library lib;
import 'lib2.dart';
export 'lib3.dart';
part 'part.dart';
class A {''');
- expect(outputs, hasLength(4));
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(1));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
+ expect(outputs[INCLUDED_PARTS], hasLength(1));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(2));
expect(outputs[PARSE_ERRORS], hasLength(1));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(5));
expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
+ expect(outputs[UNITS], hasLength(2));
+ }
+
+ test_perform_library_selfReferenceAsPart() {
+ _performParseTask(r'''
+library lib;
+part 'test.dart';
+''');
+ expect(outputs[INCLUDED_PARTS], unorderedEquals(<Source>[source]));
}
test_perform_part() {
- _performTask(r'''
+ _performParseTask(r'''
part of lib;
class B {}''');
- expect(outputs, hasLength(4));
+ expect(outputs, hasLength(11));
+ expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(0));
+ expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
+ _assertHasCore(outputs[IMPORTED_LIBRARIES], 1);
+ expect(outputs[INCLUDED_PARTS], hasLength(0));
+ expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
expect(outputs[PARSE_ERRORS], hasLength(0));
- expect(outputs[PARSED_UNIT1], isNotNull);
+ expect(outputs[PARSED_UNIT], isNotNull);
expect(outputs[REFERENCED_NAMES], isNotNull);
+ expect(outputs[REFERENCED_SOURCES], hasLength(2));
expect(outputs[SOURCE_KIND], SourceKind.PART);
+ expect(outputs[UNITS], hasLength(1));
}
- void _performTask(String content) {
+ void _performParseTask(String content) {
if (content == null) {
source = resourceProvider.getFile('/test.dart').createSource();
} else {
source = newSource('/test.dart', content);
}
- computeResult(source, PARSED_UNIT1, matcher: isParseDartTask);
+ computeResult(source, PARSED_UNIT, matcher: isParseDartTask);
}
- static void _assertHasCore(dynamic sourceList, int length) {
+ static void _assertHasCore(dynamic sourceList, int lenght) {
List<Source> sources = sourceList as List<Source>;
- expect(sources, hasLength(length));
+ expect(sources, hasLength(lenght));
expect(sources, contains(predicate((Source s) {
return s.fullName.endsWith('core.dart');
})));
@@ -3490,7 +3544,6 @@ class C {
SimpleIdentifier reference = statement.expression;
expect(reference.staticElement, isResolved ? isNotNull : isNull);
}
-
//
// The reference to 'A' in 'f1' should not be resolved.
//
@@ -4168,163 +4221,6 @@ library libC;
}
@reflectiveTest
-class ResolveDirectivesTaskTest extends _AbstractDartTaskTest {
- Source source;
-
- test_perform() {
- _performTask(r'''
-part of lib;
-class B {}''');
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(0));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 1);
- expect(outputs[INCLUDED_PARTS], hasLength(0));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(2));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(0));
- expect(outputs[UNITS], hasLength(1));
- }
-
- test_perform_doesNotExist() {
- _performTask(null);
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(0));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 1);
- expect(outputs[INCLUDED_PARTS], hasLength(0));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(2));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(0));
- expect(outputs[UNITS], hasLength(1));
- }
-
- test_perform_enableAsync_false() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableAsync = false;
- prepareAnalysisContext(options);
- _performTask(r'''
-import 'dart:async';
-class B {void foo() async {}}''');
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
- expect(outputs[INCLUDED_PARTS], hasLength(0));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(3));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(0));
- expect(outputs[UNITS], hasLength(1));
- }
-
- test_perform_enableAsync_true() {
- _performTask(r'''
-import 'dart:async';
-class B {void foo() async {}}''');
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
- expect(outputs[INCLUDED_PARTS], hasLength(0));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(3));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(0));
- expect(outputs[UNITS], hasLength(1));
- }
-
- test_perform_flushParsedUnit1() {
- _performTask(r'''
-class Test {}
-''');
- expect(analysisCache.getState(source, PARSED_UNIT1), CacheState.FLUSHED);
- }
-
- test_perform_invalidDirectives() {
- _performTask(r'''
-library lib;
-import '/does/not/exist.dart';
-import '://invaliduri.dart';
-export '${a}lib3.dart';
-part 'part.dart';
-class A {}''');
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
- expect(outputs[INCLUDED_PARTS], hasLength(1));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(2));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(4));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(2));
- expect(outputs[UNITS], hasLength(2));
- }
-
- test_perform_library() {
- _performTask(r'''
-library lib;
-import 'lib2.dart';
-export 'lib3.dart';
-part 'part.dart';
-class A {''');
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(1));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
- expect(outputs[INCLUDED_PARTS], hasLength(1));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(2));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(5));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(0));
- expect(outputs[UNITS], hasLength(2));
- }
-
- test_perform_library_selfReferenceAsPart() {
- _performTask(r'''
-library lib;
-part 'test.dart';
-''');
- expect(outputs[INCLUDED_PARTS], unorderedEquals(<Source>[source]));
- }
-
- test_perform_part() {
- _performTask(r'''
-part of lib;
-class B {}''');
- expect(outputs, hasLength(9));
- expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(0));
- expect(outputs[EXPORTED_LIBRARIES], hasLength(0));
- _assertHasCore(outputs[IMPORTED_LIBRARIES], 1);
- expect(outputs[INCLUDED_PARTS], hasLength(0));
- expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(1));
- expect(outputs[PARSED_UNIT], isNotNull);
- expect(outputs[REFERENCED_SOURCES], hasLength(2));
- expect(outputs[RESOLVE_DIRECTIVES_ERRORS], hasLength(0));
- expect(outputs[UNITS], hasLength(1));
- }
-
- void _performTask(String content) {
- if (content == null) {
- source = resourceProvider.getFile('/test.dart').createSource();
- } else {
- source = newSource('/test.dart', content);
- }
- computeResult(source, PARSED_UNIT, matcher: isResolveDirectivesTask);
- }
-
- static void _assertHasCore(dynamic sourceList, int length) {
- List<Source> sources = sourceList as List<Source>;
- expect(sources, hasLength(length));
- expect(sources, contains(predicate((Source s) {
- return s.fullName.endsWith('core.dart');
- })));
- }
-}
-
-@reflectiveTest
class ResolveInstanceFieldsInUnitTaskTest extends _AbstractDartTaskTest {
@override
void setUp() {
@@ -5889,7 +5785,6 @@ class _AbstractDartTaskTest extends AbstractContextTest {
matcher: matcher);
return outputs[result];
}
-
return sources.map(compute).toList();
}
@@ -5900,7 +5795,6 @@ class _AbstractDartTaskTest extends AbstractContextTest {
computeResult(source, result, matcher: matcher);
return outputs;
}
-
return sources.map(compute).toList();
}
« no previous file with comments | « pkg/analyzer/test/src/context/context_test.dart ('k') | pkg/analyzer/test/src/task/dart_work_manager_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698