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

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

Issue 1000223003: include unimported sdk lib types as low priority suggestions (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 5 years, 9 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 bf924a941467765edbb1edc0b53304e1cd539c95..40d31a8ba801a0550efd424b01f748140e2c1b14 100644
--- a/pkg/analysis_server/test/services/completion/completion_test_util.dart
+++ b/pkg/analysis_server/test/services/completion/completion_test_util.dart
@@ -201,8 +201,9 @@ abstract class AbstractCompletionTest extends AbstractContextTest {
return cs;
}
- CompletionSuggestion assertSuggestConstructor(String name) {
- CompletionSuggestion cs = assertSuggest(name);
+ CompletionSuggestion assertSuggestConstructor(String name,
+ {int relevance: DART_RELEVANCE_DEFAULT}) {
+ CompletionSuggestion cs = assertSuggest(name, relevance: relevance);
protocol.Element element = cs.element;
expect(element, isNotNull);
expect(element.kind, equals(protocol.ElementKind.CONSTRUCTOR));
@@ -570,7 +571,8 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
}
}
- CompletionSuggestion assertSuggestImportedConstructor(String name) {
+ CompletionSuggestion assertSuggestImportedConstructor(String name,
+ {int relevance: DART_RELEVANCE_DEFAULT}) {
return assertNotSuggested(name);
}
@@ -826,8 +828,8 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(request.replacementOffset, completionOffset);
expect(request.replacementLength, 0);
assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
- assertSuggestLocalFunction(
- 'bar', 'String', kind: CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestLocalFunction('bar', 'String',
+ kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('hasLength', 'bool',
kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('identical', 'bool',
@@ -862,8 +864,8 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(request.replacementOffset, completionOffset);
expect(request.replacementLength, 0);
assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
- assertSuggestLocalFunction(
- 'bar', 'String', kind: CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestLocalFunction('bar', 'String',
+ kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('hasLength', 'bool',
kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('identical', 'bool',
@@ -953,8 +955,8 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(request.replacementOffset, completionOffset);
expect(request.replacementLength, 0);
assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
- assertSuggestLocalFunction(
- 'bar', 'String', kind: CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestLocalFunction('bar', 'String',
+ kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('hasLength', 'bool',
kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('identical', 'bool',
@@ -987,8 +989,8 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(request.replacementOffset, completionOffset);
expect(request.replacementLength, 0);
assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
- assertSuggestImportedFunction(
- 'hasLength', 'bool', kind: CompletionSuggestionKind.IDENTIFIER);
+ assertSuggestImportedFunction('hasLength', 'bool',
+ kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestImportedFunction('identical', 'bool',
kind: CompletionSuggestionKind.IDENTIFIER);
assertSuggestLocalClass('B', kind: CompletionSuggestionKind.IDENTIFIER);
@@ -1316,6 +1318,7 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
addSource('/testG.dart', 'class G { }');
addSource('/testH.dart', '''
class H { }
+ class D3 { }
int T3;
var _T4;'''); // not imported
addTestSource('''
@@ -1348,9 +1351,11 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
//assertSuggestImportedClass('C');
// hidden element suggested as low relevance
assertSuggestImportedClass('D', relevance: DART_RELEVANCE_LOW);
- assertSuggestImportedFunction(
- 'D1', null, deprecated: true, relevance: DART_RELEVANCE_LOW);
+ assertSuggestImportedFunction('D1', null,
+ deprecated: true, relevance: DART_RELEVANCE_LOW);
assertSuggestLocalFunction('D2', 'Z');
+ // unimported elements suggested with low relevance
+ assertSuggestImportedClass('D3', relevance: DART_RELEVANCE_LOW);
//assertSuggestImportedClass('EE');
// hidden element suggested as low relevance
//assertSuggestImportedClass('F', COMPLETION_RELEVANCE_LOW);
@@ -1433,6 +1438,18 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
});
}
+ test_Block_unimported() {
+ addSource('/testAB.dart', 'class Foo { }');
+ addTestSource('class C {foo(){F^}}');
+ computeFast();
+ return computeFull((bool result) {
+ expect(request.replacementOffset, completionOffset - 1);
+ expect(request.replacementLength, 1);
+ assertSuggestImportedClass('Foo', relevance: DART_RELEVANCE_LOW);
+ assertSuggestImportedClass('Future', relevance: DART_RELEVANCE_LOW);
+ });
+ }
+
test_CascadeExpression_selector1() {
// PropertyAccess CascadeExpression ExpressionStatement Block
addSource('/testB.dart', '''
@@ -2358,6 +2375,7 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
class A {A(this.x) { } int x;}''');
addTestSource('''
import "/testA.dart";
+ import "dart:async";
int T2;
F2() { }
class B {B(this.x, [String boo]) { } int x;}
@@ -2367,6 +2385,7 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
expect(request.replacementOffset, completionOffset);
expect(request.replacementLength, 0);
assertSuggestImportedConstructor('Object');
+ assertSuggestImportedConstructor('Future');
assertSuggestImportedConstructor('A');
assertSuggestLocalConstructor('B');
assertSuggestLocalConstructor('C');
@@ -2380,6 +2399,19 @@ abstract class AbstractSelectorSuggestionTest extends AbstractCompletionTest {
});
}
+ test_InstanceCreationExpression_unimported() {
+ // SimpleIdentifier TypeName ConstructorName InstanceCreationExpression
+ addSource('/testAB.dart', 'class Foo { }');
+ addTestSource('class C {foo(){new F^}}');
+ computeFast();
+ return computeFull((bool result) {
+ expect(request.replacementOffset, completionOffset - 1);
+ expect(request.replacementLength, 1);
+ assertSuggestImportedConstructor('Foo', relevance: DART_RELEVANCE_LOW);
+ assertSuggestImportedConstructor('Future', relevance: DART_RELEVANCE_LOW);
+ });
+ }
+
test_InterpolationExpression() {
// SimpleIdentifier InterpolationExpression StringInterpolation
addSource('/testA.dart', '''
« no previous file with comments | « pkg/analysis_server/test/mock_sdk.dart ('k') | pkg/analysis_server/test/services/completion/imported_computer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698