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

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

Issue 972933002: add arguments to constructor completions (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix tests Created 5 years, 10 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/imported_computer_test.dart
diff --git a/pkg/analysis_server/test/services/completion/imported_computer_test.dart b/pkg/analysis_server/test/services/completion/imported_computer_test.dart
index d1cb250fad3483dc1ab39967df739a4f53975cb6..bc806e25bc83b921bde22b2f2bc0e32812681b38 100644
--- a/pkg/analysis_server/test/services/completion/imported_computer_test.dart
+++ b/pkg/analysis_server/test/services/completion/imported_computer_test.dart
@@ -100,6 +100,11 @@ class ImportedComputerTest extends AbstractSelectorSuggestionTest {
}
@override
+ CompletionSuggestion assertSuggestImportedConstructor(String name) {
+ return assertSuggestConstructor(name);
+ }
+
+ @override
CompletionSuggestion assertSuggestImportedField(String name, String type,
{int relevance: DART_RELEVANCE_INHERITED_FIELD}) {
return assertSuggestField(name, type, relevance: relevance);
@@ -347,6 +352,53 @@ class B extends A {
});
}
+ test_InstanceCreationExpression() {
+ addSource('/testA.dart', '''
+class A {foo(){var f; {var x;}}}
+class B {B(this.x, [String boo]) { } int x;}
+class C {C.bar({boo: 'hoo', int z: 0}) { } }''');
+ addTestSource('''
+import "/testA.dart";
+main() {new ^ String x = "hello";}''');
+ computeFast();
+ return computeFull((bool result) {
+ CompletionSuggestion suggestion;
+
+ suggestion = assertSuggestImportedConstructor('Object');
+ expect(suggestion.element.parameters, '()');
+ expect(suggestion.parameterNames, hasLength(0));
+ expect(suggestion.requiredParameterCount, 0);
+ expect(suggestion.hasNamedParameters, false);
+
+ suggestion = assertSuggestImportedConstructor('A');
+ expect(suggestion.element.parameters, '()');
+ expect(suggestion.parameterNames, hasLength(0));
+ expect(suggestion.requiredParameterCount, 0);
+ expect(suggestion.hasNamedParameters, false);
+
+ suggestion = assertSuggestImportedConstructor('B');
+ expect(suggestion.element.parameters, '(int x, [String boo])');
+ expect(suggestion.parameterNames, hasLength(2));
+ expect(suggestion.parameterNames[0], 'x');
+ expect(suggestion.parameterTypes[0], 'int');
+ expect(suggestion.parameterNames[1], 'boo');
+ expect(suggestion.parameterTypes[1], 'String');
+ expect(suggestion.requiredParameterCount, 1);
+ expect(suggestion.hasNamedParameters, false);
+
+ suggestion = assertSuggestImportedConstructor('C.bar');
+ expect(
+ suggestion.element.parameters, "({dynamic boo: 'hoo'}, {int z: 0})");
+ expect(suggestion.parameterNames, hasLength(2));
+ expect(suggestion.parameterNames[0], 'boo');
+ expect(suggestion.parameterTypes[0], 'dynamic');
+ expect(suggestion.parameterNames[1], 'z');
+ expect(suggestion.parameterTypes[1], 'int');
+ expect(suggestion.requiredParameterCount, 0);
+ expect(suggestion.hasNamedParameters, true);
+ });
+ }
+
test_method_parameters_mixed_required_and_named() {
addSource('/libA.dart', '''
class A {

Powered by Google App Engine
This is Rietveld 408576698