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

Side by Side Diff: pkg/analysis_server/test/services/completion/imported_computer_test.dart

Issue 972193002: include library prefix suggestions when suggesting constructors (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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/analysis_server/test/services/completion/completion_test_util.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.services.completion.toplevel; 5 library test.services.completion.toplevel;
6 6
7 import 'package:analysis_server/src/protocol.dart'; 7 import 'package:analysis_server/src/protocol.dart' as protocol
8 show Element, ElementKind;
9 import 'package:analysis_server/src/protocol.dart' hide Element, ElementKind;
8 import 'package:analysis_server/src/services/completion/completion_manager.dart' ; 10 import 'package:analysis_server/src/services/completion/completion_manager.dart' ;
9 import 'package:analysis_server/src/services/completion/dart_completion_cache.da rt'; 11 import 'package:analysis_server/src/services/completion/dart_completion_cache.da rt';
10 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart'; 12 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart';
11 import 'package:analysis_server/src/services/completion/imported_computer.dart'; 13 import 'package:analysis_server/src/services/completion/imported_computer.dart';
12 import 'package:analyzer/src/generated/ast.dart'; 14 import 'package:analyzer/src/generated/ast.dart';
13 import 'package:analyzer/src/generated/element.dart'; 15 import 'package:analyzer/src/generated/element.dart';
14 import 'package:analyzer/src/generated/engine.dart'; 16 import 'package:analyzer/src/generated/engine.dart';
15 import 'package:analyzer/src/generated/source.dart'; 17 import 'package:analyzer/src/generated/source.dart';
16 import 'package:unittest/unittest.dart'; 18 import 'package:unittest/unittest.dart';
17 19
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 {int relevance: DART_RELEVANCE_INHERITED_METHOD}) { 123 {int relevance: DART_RELEVANCE_INHERITED_METHOD}) {
122 return assertSuggestMethod(name, declaringType, returnType, 124 return assertSuggestMethod(name, declaringType, returnType,
123 relevance: relevance); 125 relevance: relevance);
124 } 126 }
125 127
126 CompletionSuggestion assertSuggestImportedSetter(String name, 128 CompletionSuggestion assertSuggestImportedSetter(String name,
127 {int relevance: DART_RELEVANCE_INHERITED_ACCESSOR}) { 129 {int relevance: DART_RELEVANCE_INHERITED_ACCESSOR}) {
128 return assertSuggestSetter(name, relevance); 130 return assertSuggestSetter(name, relevance);
129 } 131 }
130 132
133 @override
134 CompletionSuggestion assertSuggestLibraryPrefix(String prefix,
135 [int relevance = DART_RELEVANCE_DEFAULT,
136 CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION]) {
137 CompletionSuggestion cs =
138 assertSuggest(prefix, csKind: kind, relevance: relevance);
139 protocol.Element element = cs.element;
140 expect(element, isNotNull);
141 expect(element.kind, equals(protocol.ElementKind.LIBRARY));
142 expect(element.parameters, isNull);
143 expect(element.returnType, isNull);
144 assertHasNoParameterInfo(cs);
145 return cs;
146 }
147
131 bool isCached(List<CompletionSuggestion> suggestions, String completion) => 148 bool isCached(List<CompletionSuggestion> suggestions, String completion) =>
132 suggestions.any((CompletionSuggestion s) => s.completion == completion); 149 suggestions.any((CompletionSuggestion s) => s.completion == completion);
133 150
134 @override 151 @override
135 void setUpComputer() { 152 void setUpComputer() {
136 computer = new ImportedComputer(shouldWaitForLowPrioritySuggestions: true); 153 computer = new ImportedComputer(shouldWaitForLowPrioritySuggestions: true);
137 } 154 }
138 155
139 @override 156 @override
140 test_ArgumentList() { 157 test_ArgumentList() {
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 }); 369 });
353 } 370 }
354 371
355 test_InstanceCreationExpression() { 372 test_InstanceCreationExpression() {
356 addSource('/testA.dart', ''' 373 addSource('/testA.dart', '''
357 class A {foo(){var f; {var x;}}} 374 class A {foo(){var f; {var x;}}}
358 class B {B(this.x, [String boo]) { } int x;} 375 class B {B(this.x, [String boo]) { } int x;}
359 class C {C.bar({boo: 'hoo', int z: 0}) { } }'''); 376 class C {C.bar({boo: 'hoo', int z: 0}) { } }''');
360 addTestSource(''' 377 addTestSource('''
361 import "/testA.dart"; 378 import "/testA.dart";
379 import "dart:math" as math;
362 main() {new ^ String x = "hello";}'''); 380 main() {new ^ String x = "hello";}''');
363 computeFast(); 381 computeFast();
364 return computeFull((bool result) { 382 return computeFull((bool result) {
365 CompletionSuggestion suggestion; 383 CompletionSuggestion suggestion;
366 384
367 suggestion = assertSuggestImportedConstructor('Object'); 385 suggestion = assertSuggestImportedConstructor('Object');
368 expect(suggestion.element.parameters, '()'); 386 expect(suggestion.element.parameters, '()');
369 expect(suggestion.parameterNames, hasLength(0)); 387 expect(suggestion.parameterNames, hasLength(0));
370 expect(suggestion.requiredParameterCount, 0); 388 expect(suggestion.requiredParameterCount, 0);
371 expect(suggestion.hasNamedParameters, false); 389 expect(suggestion.hasNamedParameters, false);
(...skipping 17 matching lines...) Expand all
389 suggestion = assertSuggestImportedConstructor('C.bar'); 407 suggestion = assertSuggestImportedConstructor('C.bar');
390 expect( 408 expect(
391 suggestion.element.parameters, "({dynamic boo: 'hoo'}, {int z: 0})"); 409 suggestion.element.parameters, "({dynamic boo: 'hoo'}, {int z: 0})");
392 expect(suggestion.parameterNames, hasLength(2)); 410 expect(suggestion.parameterNames, hasLength(2));
393 expect(suggestion.parameterNames[0], 'boo'); 411 expect(suggestion.parameterNames[0], 'boo');
394 expect(suggestion.parameterTypes[0], 'dynamic'); 412 expect(suggestion.parameterTypes[0], 'dynamic');
395 expect(suggestion.parameterNames[1], 'z'); 413 expect(suggestion.parameterNames[1], 'z');
396 expect(suggestion.parameterTypes[1], 'int'); 414 expect(suggestion.parameterTypes[1], 'int');
397 expect(suggestion.requiredParameterCount, 0); 415 expect(suggestion.requiredParameterCount, 0);
398 expect(suggestion.hasNamedParameters, true); 416 expect(suggestion.hasNamedParameters, true);
417
418 assertSuggestLibraryPrefix('math');
399 }); 419 });
400 } 420 }
401 421
402 test_method_parameters_mixed_required_and_named() { 422 test_method_parameters_mixed_required_and_named() {
403 addSource('/libA.dart', ''' 423 addSource('/libA.dart', '''
404 class A { 424 class A {
405 void m(x, {int y}) {} 425 void m(x, {int y}) {}
406 } 426 }
407 '''); 427 ''');
408 addTestSource(''' 428 addTestSource('''
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 } 702 }
683 703
684 @override 704 @override
685 test_partFile_TypeName2() { 705 test_partFile_TypeName2() {
686 return super.test_partFile_TypeName2().then((_) { 706 return super.test_partFile_TypeName2().then((_) {
687 expect(request.cache.importKey, 707 expect(request.cache.importKey,
688 'library libA;import "/testB.dart";part "/testA.dart";'); 708 'library libA;import "/testB.dart";part "/testA.dart";');
689 }); 709 });
690 } 710 }
691 } 711 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/services/completion/completion_test_util.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698