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

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

Issue 684183002: Refactor CompletionSuggestionKind (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 2 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/analysis_server/test/services/completion/completion_test_util.dart
diff --git a/pkg/analysis_server/test/services/completion/completion_test_util.dart b/pkg/analysis_server/test/services/completion/completion_test_util.dart
index 54929eceead416d7f83609dd759dd8e33885a41c..f499ab184c753c3078168e192480677b34c5fcd9 100644
--- a/pkg/analysis_server/test/services/completion/completion_test_util.dart
+++ b/pkg/analysis_server/test/services/completion/completion_test_util.dart
@@ -8,7 +8,7 @@ import 'dart:async';
import 'package:analysis_server/src/protocol.dart' as protocol show Element,
ElementKind;
-import 'package:analysis_server/src/protocol.dart' hide Element;
+import 'package:analysis_server/src/protocol.dart' hide Element, ElementKind;
import 'package:analysis_server/src/services/completion/dart_completion_manager.dart';
import 'package:analysis_server/src/services/completion/imported_computer.dart';
import 'package:analysis_server/src/services/completion/invocation_computer.dart';
@@ -72,25 +72,30 @@ class AbstractCompletionTest extends AbstractContextTest {
return null;
}
- CompletionSuggestion assertSuggest(CompletionSuggestionKind kind,
- String completion, [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
- bool isDeprecated = false, bool isPotential = false]) {
+ CompletionSuggestion assertSuggest(String completion,
+ {CompletionSuggestionKind csKind: CompletionSuggestionKind.INVOCATION,
+ CompletionRelevance relevance: CompletionRelevance.DEFAULT,
+ protocol.ElementKind elemKind: null, bool isDeprecated: false, bool isPotential:
+ false}) {
CompletionSuggestion cs;
request.suggestions.forEach((s) {
- if (s.completion == completion && s.kind == kind) {
- if (cs == null) {
- cs = s;
- } else {
- _failedCompletion(
- 'expected exactly one $completion',
- request.suggestions.where((s) => s.completion == completion));
+ if (s.completion == completion && s.kind == csKind) {
+ protocol.Element element = s.element;
+ if (elemKind == null || (element != null && elemKind == element.kind)) {
+ if (cs == null) {
+ cs = s;
+ } else {
+ _failedCompletion(
+ 'expected exactly one $completion',
+ request.suggestions.where((s) => s.completion == completion));
+ }
}
}
});
if (cs == null) {
- _failedCompletion('expected $completion $kind', request.suggestions);
+ _failedCompletion('expected $completion $csKind', request.suggestions);
}
- expect(cs.kind, equals(kind));
+ expect(cs.kind, equals(csKind));
expect(cs.relevance, equals(relevance));
expect(cs.selectionOffset, equals(completion.length));
expect(cs.selectionLength, equals(0));
@@ -100,9 +105,10 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestClass(String name,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.CLASS, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.CLASS));
@@ -113,9 +119,10 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestClassTypeAlias(String name,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.CLASS_ALIAS, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.CLASS_TYPE_ALIAS));
@@ -126,13 +133,13 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestFunction(String name, String returnType,
- bool isDeprecated, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ bool isDeprecated, [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
CompletionSuggestion cs = assertSuggest(
- CompletionSuggestionKind.FUNCTION,
name,
- relevance,
- isDeprecated);
+ csKind: kind,
+ relevance: relevance,
+ isDeprecated: isDeprecated);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -151,12 +158,13 @@ class AbstractCompletionTest extends AbstractContextTest {
CompletionSuggestion assertSuggestFunctionTypeAlias(String name,
String returnType, bool isDeprecated, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ CompletionRelevance.DEFAULT, CompletionSuggestionKind kind =
+ CompletionSuggestionKind.INVOCATION]) {
CompletionSuggestion cs = assertSuggest(
- CompletionSuggestionKind.FUNCTION_TYPE_ALIAS,
name,
- relevance,
- isDeprecated);
+ csKind: kind,
+ relevance: relevance,
+ isDeprecated: isDeprecated);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -176,9 +184,13 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestGetter(String name, String returnType,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
- CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.GETTER, name, relevance);
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
+ CompletionSuggestion cs = assertSuggest(
+ name,
+ csKind: kind,
+ relevance: relevance,
+ elemKind: protocol.ElementKind.GETTER);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -194,11 +206,12 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestLibraryPrefix(String prefix,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
// Library prefix should only be suggested by ImportedComputer
if (computer is ImportedComputer) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.LIBRARY_PREFIX, prefix, relevance);
+ assertSuggest(prefix, csKind: kind, relevance: relevance);
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.LIBRARY));
@@ -211,12 +224,12 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestLocalVariable(String name,
- String returnType, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ String returnType, [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
// Local variables should only be suggested by LocalComputer
if (computer is LocalComputer) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.LOCAL_VARIABLE, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -233,10 +246,10 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestMethod(String name, String declaringType,
- String returnType, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ String returnType, [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.METHOD, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
expect(cs.declaringType, equals(declaringType));
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
@@ -254,11 +267,11 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestNamedConstructor(String name,
- String returnType, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ String returnType, [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
if (computer is InvocationComputer) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.CONSTRUCTOR, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.CONSTRUCTOR));
@@ -275,11 +288,12 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestParameter(String name, String returnType,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
// Parameters should only be suggested by LocalComputer
if (computer is LocalComputer) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.PARAMETER, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -296,9 +310,13 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestSetter(String name,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
- CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.SETTER, name, relevance);
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
+ CompletionSuggestion cs = assertSuggest(
+ name,
+ csKind: kind,
+ relevance: relevance,
+ elemKind: protocol.ElementKind.SETTER);
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.SETTER));
@@ -310,9 +328,10 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestTopLevelVar(String name, String returnType,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
CompletionSuggestion cs =
- assertSuggest(CompletionSuggestionKind.TOP_LEVEL_VARIABLE, name, relevance);
+ assertSuggest(name, csKind: kind, relevance: relevance);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -447,9 +466,10 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
}
CompletionSuggestion assertSuggestImportedClass(String name,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
+ [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
if (computer is ImportedComputer) {
- return assertSuggestClass(name, relevance);
+ return assertSuggestClass(name, relevance, kind);
} else {
return assertNotSuggested(name);
}
@@ -457,9 +477,15 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
CompletionSuggestion assertSuggestImportedFunction(String name,
String returnType, [bool isDeprecated = false, CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ CompletionRelevance.DEFAULT, CompletionSuggestionKind kind =
+ CompletionSuggestionKind.INVOCATION]) {
if (computer is ImportedComputer) {
- return assertSuggestFunction(name, returnType, isDeprecated, relevance);
+ return assertSuggestFunction(
+ name,
+ returnType,
+ isDeprecated,
+ relevance,
+ kind);
} else {
return assertNotSuggested(name);
}
@@ -467,13 +493,15 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
CompletionSuggestion assertSuggestImportedFunctionTypeAlias(String name,
String returnType, [bool isDeprecated = false, CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ CompletionRelevance.DEFAULT, CompletionSuggestionKind kind =
+ CompletionSuggestionKind.INVOCATION]) {
if (computer is ImportedComputer) {
return assertSuggestFunctionTypeAlias(
name,
returnType,
isDeprecated,
- relevance);
+ relevance,
+ kind);
} else {
return assertNotSuggested(name);
}
@@ -500,10 +528,10 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
}
CompletionSuggestion assertSuggestImportedTopLevelVar(String name,
- String returnType, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ String returnType, [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
if (computer is ImportedComputer) {
- return assertSuggestTopLevelVar(name, returnType, relevance);
+ return assertSuggestTopLevelVar(name, returnType, relevance, kind);
} else {
return assertNotSuggested(name);
}
@@ -980,11 +1008,29 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
class X {}''');
computeFast();
return computeFull(true).then((_) {
- assertSuggestImportedClass('A');
- assertSuggestImportedClass('B');
- assertSuggestImportedClass('PB');
- assertSuggestImportedTopLevelVar('T1', null);
- assertSuggestImportedFunction('F1', 'PB');
+ assertSuggestImportedClass(
+ 'A',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedClass(
+ 'B',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedClass(
+ 'PB',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedTopLevelVar(
+ 'T1',
+ null,
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedFunction(
+ 'F1',
+ 'PB',
+ false,
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
assertNotSuggested('C');
assertNotSuggested('D');
assertNotSuggested('X');
@@ -1015,13 +1061,39 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
class X {}''');
computeFast();
return computeFull(true).then((_) {
- assertSuggestImportedClass('A');
- assertSuggestImportedClass('B');
- assertSuggestImportedClass('PB');
- assertSuggestImportedTopLevelVar('T1', null);
- assertSuggestImportedFunction('F1', 'PB');
- assertSuggestImportedClass('Clz');
- assertSuggestImportedFunctionTypeAlias('F2', null);
+ assertSuggestImportedClass(
+ 'A',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedClass(
+ 'B',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedClass(
+ 'PB',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedTopLevelVar(
+ 'T1',
+ null,
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedFunction(
+ 'F1',
+ 'PB',
+ false,
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedClass(
+ 'Clz',
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedFunctionTypeAlias(
+ 'F2',
+ null,
+ false,
+ CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind.IDENTIFIER);
assertNotSuggested('C');
assertNotSuggested('D');
assertNotSuggested('X');

Powered by Google App Engine
This is Rietveld 408576698