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

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

Issue 690793004: make deprecated elements have low suggestion relevance (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
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 f499ab184c753c3078168e192480677b34c5fcd9..e8500aa5225ad6baa3cc1816e449c2b416879ed7 100644
--- a/pkg/analysis_server/test/services/completion/completion_test_util.dart
+++ b/pkg/analysis_server/test/services/completion/completion_test_util.dart
@@ -96,7 +96,11 @@ class AbstractCompletionTest extends AbstractContextTest {
_failedCompletion('expected $completion $csKind', request.suggestions);
}
expect(cs.kind, equals(csKind));
- expect(cs.relevance, equals(relevance));
+ if (isDeprecated) {
+ expect(cs.relevance, equals(CompletionRelevance.LOW));
+ } else {
+ expect(cs.relevance, equals(relevance));
+ }
expect(cs.selectionOffset, equals(completion.length));
expect(cs.selectionLength, equals(0));
expect(cs.isDeprecated, equals(isDeprecated));
@@ -184,13 +188,15 @@ class AbstractCompletionTest extends AbstractContextTest {
}
CompletionSuggestion assertSuggestGetter(String name, String returnType,
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT,
- CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
+ {CompletionRelevance relevance: CompletionRelevance.DEFAULT,
+ CompletionSuggestionKind kind: CompletionSuggestionKind.INVOCATION,
+ bool isDeprecated: false}) {
CompletionSuggestion cs = assertSuggest(
name,
csKind: kind,
relevance: relevance,
- elemKind: protocol.ElementKind.GETTER);
+ elemKind: protocol.ElementKind.GETTER,
+ isDeprecated: isDeprecated);
expect(cs.returnType, equals(returnType));
protocol.Element element = cs.element;
expect(element, isNotNull);
@@ -511,7 +517,7 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
String returnType, [CompletionRelevance relevance =
CompletionRelevance.DEFAULT]) {
if (computer is ImportedComputer) {
- return assertSuggestGetter(name, returnType, relevance);
+ return assertSuggestGetter(name, returnType, relevance: relevance);
} else {
return assertNotSuggested(name);
}
@@ -547,10 +553,14 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
}
CompletionSuggestion assertSuggestInvocationGetter(String name,
- String returnType, [CompletionRelevance relevance =
- CompletionRelevance.DEFAULT]) {
+ String returnType, {CompletionRelevance relevance: CompletionRelevance.DEFAULT,
+ bool isDeprecated: false}) {
if (computer is InvocationComputer) {
- return assertSuggestGetter(name, returnType, relevance);
+ return assertSuggestGetter(
+ name,
+ returnType,
+ relevance: relevance,
+ isDeprecated: isDeprecated);
} else {
return assertNotSuggested(name);
}
@@ -630,7 +640,7 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
CompletionSuggestion assertSuggestLocalGetter(String name, String returnType,
[CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
if (computer is LocalComputer) {
- return assertSuggestGetter(name, returnType, relevance);
+ return assertSuggestGetter(name, returnType, relevance: relevance);
} else {
return assertNotSuggested(name);
}
@@ -660,14 +670,36 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
// ArgumentList MethodInvocation ExpressionStatement Block
addSource('/libA.dart', '''
library A;
+ bool hasLength(int expected) { }
+ void baz() { }''');
+ addTestSource('''
+ import '/libA.dart'
+ String bar() => true;
+ void main() {expect(^)}''');
+ computeFast();
+ return computeFull(true).then((_) {
+ assertSuggestLocalFunction('bar', 'String');
+ assertSuggestImportedFunction('hasLength', 'bool');
+ assertNotSuggested('main');
+ assertNotSuggested('baz');
+ });
+ }
+
+ test_ArgumentList_namedParam() {
+ // SimpleIdentifier NamedExpression ArgumentList MethodInvocation
+ // ExpressionStatement
+ addSource('/libA.dart', '''
+ library A;
bool hasLength(int expected) { }''');
addTestSource('''
import '/libA.dart'
- main() {expect(^)}''');
+ String bar() => true;
+ void main() {expect(foo: ^)}''');
computeFast();
return computeFull(true).then((_) {
- assertSuggestLocalFunction('main', null);
+ assertSuggestLocalFunction('bar', 'String');
assertSuggestImportedFunction('hasLength', 'bool');
+ assertNotSuggested('main');
});
}
@@ -793,7 +825,7 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
assertSuggestImportedClass('C');
// hidden element suggested as low relevance
assertSuggestImportedClass('D', CompletionRelevance.LOW);
- assertSuggestImportedFunction('D1', null, true);
+ assertSuggestImportedFunction('D1', null, true, CompletionRelevance.LOW);
assertSuggestLocalFunction('D2', 'Z');
assertSuggestImportedClass('EE');
// hidden element suggested as low relevance
@@ -913,6 +945,28 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
});
}
+ test_CascadeExpression_selector2_withTrailingReturn() {
+ // PropertyAccess CascadeExpression ExpressionStatement Block
+ addSource('/testB.dart', '''
+ class B { }''');
+ addTestSource('''
+ import "/testB.dart";
+ class A {var b; X _c;}
+ class X{}
+ main() {A a; a..^ return}''');
+ computeFast();
+ return computeFull(true).then((_) {
+ assertSuggestInvocationGetter('b', null);
+ assertSuggestInvocationGetter('_c', 'X');
+ assertNotSuggested('Object');
+ assertNotSuggested('A');
+ assertNotSuggested('B');
+ assertNotSuggested('X');
+ assertNotSuggested('z');
+ assertNotSuggested('==');
+ });
+ }
+
test_CascadeExpression_target() {
// SimpleIdentifier CascadeExpression ExpressionStatement
addTestSource('''
@@ -967,7 +1021,8 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
A T;''');
computeFast();
return computeFull(true).then((_) {
- CompletionSuggestion suggestionA = assertSuggestLocalClass('A');
+ CompletionSuggestion suggestionA =
+ assertSuggestLocalClass('A', CompletionRelevance.LOW);
if (suggestionA != null) {
expect(suggestionA.element.isDeprecated, isTrue);
expect(suggestionA.element.isPrivate, isFalse);
@@ -1466,7 +1521,8 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(methodA.element.isDeprecated, isFalse);
expect(methodA.element.isPrivate, isFalse);
}
- CompletionSuggestion getterF = assertSuggestLocalGetter('f', 'X');
+ CompletionSuggestion getterF =
+ assertSuggestLocalGetter('f', 'X', CompletionRelevance.LOW);
if (getterF != null) {
expect(getterF.element.isDeprecated, isTrue);
expect(getterF.element.isPrivate, isFalse);
@@ -1489,7 +1545,8 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(methodA.element.isDeprecated, isFalse);
expect(methodA.element.isPrivate, isTrue);
}
- CompletionSuggestion getterF = assertSuggestLocalGetter('f', 'X');
+ CompletionSuggestion getterF =
+ assertSuggestLocalGetter('f', 'X', CompletionRelevance.LOW);
if (getterF != null) {
expect(getterF.element.isDeprecated, isTrue);
expect(getterF.element.isPrivate, isFalse);
@@ -1508,7 +1565,8 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
addTestSource('class A {@deprecated Z a(X x, _, b, {y: boo}) {^}}');
computeFast();
return computeFull(true).then((_) {
- CompletionSuggestion methodA = assertSuggestLocalMethod('a', 'A', 'Z');
+ CompletionSuggestion methodA =
+ assertSuggestLocalMethod('a', 'A', 'Z', CompletionRelevance.LOW);
if (methodA != null) {
expect(methodA.element.isDeprecated, isTrue);
expect(methodA.element.isPrivate, isFalse);
@@ -1622,7 +1680,7 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
class I {X get f => new A();get _g => new A();}
class A implements I {
static const int sc = 12;
- var b; X _c;
+ @deprecated var b; X _c;
X get d => new A();get _e => new A();
set s1(I x) {} set _s2(I x) {}
m(X x) {} I _n(X x) {}}
@@ -1633,7 +1691,7 @@ class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
computeFast();
return computeFull(true).then((_) {
assertSuggestInvocationGetter('sc', 'int');
- assertSuggestInvocationGetter('b', null);
+ assertSuggestInvocationGetter('b', null, isDeprecated: true);
assertNotSuggested('_c');
assertSuggestInvocationGetter('d', 'X');
assertNotSuggested('_e');
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698