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

Unified Diff: pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart

Issue 1533613004: extract InheritedReferenceContributor from imported reference contributor (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: include new tests in suite Created 5 years 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/analysis_server/test/services/completion/dart/completion_contributor_util.dart
diff --git a/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart b/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart
index f549d83c6a9a87e440fe2a80f24b8507d3818ec9..3b222303755f4aceef6d257cac1fcab689cc133e 100644
--- a/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart
+++ b/pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart
@@ -21,6 +21,7 @@ import 'package:analysis_server/src/services/index/index.dart';
import 'package:analysis_server/src/services/index/local_memory_index.dart';
import 'package:analysis_server/src/services/search/search_engine_internal.dart';
import 'package:analyzer/src/generated/source.dart';
+import 'package:analyzer/task/dart.dart';
import 'package:unittest/unittest.dart';
import '../../../abstract_context.dart';
@@ -43,6 +44,15 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
DartCompletionRequest request;
List<CompletionSuggestion> suggestions;
+ /**
+ * If `true` and `null` is specified as the suggestion's expected returnType
+ * then the actual suggestion is expected to have a `dynamic` returnType.
+ * Newer tests return `false` so that they can distinguish between
+ * `dynamic` and `null`.
+ * Eventually all tests should be converted and this getter removed.
+ */
+ bool get isNullExpectedReturnTypeConsideredDynamic => true;
+
void addTestSource(String content) {
expect(completionOffset, isNull, reason: 'Call addTestUnit exactly once');
completionOffset = content.indexOf('^');
@@ -142,6 +152,7 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
CompletionSuggestionKind kind: CompletionSuggestionKind.INVOCATION,
bool isDeprecated: false,
String elemFile,
+ String elemName,
int elemOffset}) {
CompletionSuggestion cs = assertSuggest(name,
csKind: kind,
@@ -153,7 +164,7 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.CLASS));
- expect(element.name, equals(name));
+ expect(element.name, equals(elemName ?? name));
expect(element.parameters, isNull);
expect(element.returnType, isNull);
assertHasNoParameterInfo(cs);
@@ -241,7 +252,13 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
relevance: relevance,
importUri: importUri,
isDeprecated: isDeprecated);
- expect(cs.returnType, returnType != null ? returnType : 'dynamic');
+ if (returnType != null) {
+ expect(cs.returnType, returnType);
+ } else if (isNullExpectedReturnTypeConsideredDynamic) {
+ expect(cs.returnType, 'dynamic');
+ } else {
+ expect(cs.returnType, isNull);
+ }
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.FUNCTION));
@@ -251,14 +268,20 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
expect(param, isNotNull);
expect(param[0], equals('('));
expect(param[param.length - 1], equals(')'));
- expect(element.returnType,
- equals(returnType != null ? returnType : 'dynamic'));
+ if (returnType != null) {
+ expect(element.returnType, returnType);
+ } else if (isNullExpectedReturnTypeConsideredDynamic) {
+ expect(element.returnType, 'dynamic');
+ } else {
+ expect(element.returnType, isNull);
+ }
assertHasParameterInfo(cs);
return cs;
}
CompletionSuggestion assertSuggestFunctionTypeAlias(
- String name, String returnType, {bool isDeprecated: false,
+ String name, String returnType,
+ {bool isDeprecated: false,
int relevance: DART_RELEVANCE_DEFAULT,
CompletionSuggestionKind kind: CompletionSuggestionKind.INVOCATION,
String importUri}) {
@@ -267,7 +290,13 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
relevance: relevance,
importUri: importUri,
isDeprecated: isDeprecated);
- expect(cs.returnType, returnType != null ? returnType : 'dynamic');
+ if (returnType != null) {
+ expect(cs.returnType, returnType);
+ } else if (isNullExpectedReturnTypeConsideredDynamic) {
+ expect(cs.returnType, 'dynamic');
+ } else {
+ expect(cs.returnType, isNull);
+ }
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.FUNCTION_TYPE_ALIAS));
@@ -363,13 +392,25 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
String importUri}) {
CompletionSuggestion cs = assertSuggest(name,
csKind: kind, relevance: relevance, importUri: importUri);
- expect(cs.returnType, returnType != null ? returnType : 'dynamic');
+ if (returnType != null) {
+ expect(cs.returnType, returnType);
+ } else if (isNullExpectedReturnTypeConsideredDynamic) {
+ expect(cs.returnType, 'dynamic');
+ } else {
+ expect(cs.returnType, isNull);
+ }
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.TOP_LEVEL_VARIABLE));
expect(element.name, equals(name));
expect(element.parameters, isNull);
- expect(element.returnType, returnType != null ? returnType : 'dynamic');
+ if (returnType != null) {
+ expect(element.returnType, returnType);
+ } else if (isNullExpectedReturnTypeConsideredDynamic) {
+ expect(element.returnType, 'dynamic');
+ } else {
+ expect(element.returnType, isNull);
+ }
assertHasNoParameterInfo(cs);
return cs;
}
@@ -486,6 +527,12 @@ abstract class DartCompletionContributorTest extends AbstractContextTest {
Duration.ZERO, () => performAnalysis(times - 1, completer));
}
+ void resolveSource(String path, String content) {
+ Source libSource = addSource(path, content);
+ var target = new LibrarySpecificUnit(libSource, libSource);
+ context.computeResult(target, RESOLVED_UNIT);
+ }
+
@override
void setUp() {
super.setUp();

Powered by Google App Engine
This is Rietveld 408576698