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

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

Issue 1521753002: extract LocalConstructorContributor from local reference contributor (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: merge Created 5 years 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
« no previous file with comments | « pkg/analysis_server/test/services/completion/dart/test_all.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.dart.local; 5 library test.services.completion.dart.local;
6 6
7 import 'package:analysis_server/plugin/protocol/protocol.dart' as protocol 7 import 'package:analysis_server/plugin/protocol/protocol.dart' as protocol
8 show Element, ElementKind; 8 show Element, ElementKind;
9 import 'package:analysis_server/plugin/protocol/protocol.dart' 9 import 'package:analysis_server/plugin/protocol/protocol.dart'
10 hide Element, ElementKind; 10 hide Element, ElementKind;
(...skipping 27 matching lines...) Expand all
38 relevance: relevance); 38 relevance: relevance);
39 } 39 }
40 40
41 @override 41 @override
42 CompletionSuggestion assertSuggestLocalClassTypeAlias(String name, 42 CompletionSuggestion assertSuggestLocalClassTypeAlias(String name,
43 {int relevance: DART_RELEVANCE_DEFAULT}) { 43 {int relevance: DART_RELEVANCE_DEFAULT}) {
44 return assertSuggestClassTypeAlias(name, relevance); 44 return assertSuggestClassTypeAlias(name, relevance);
45 } 45 }
46 46
47 @override 47 @override
48 CompletionSuggestion assertSuggestLocalConstructor(String name,
49 {int elemOffset}) {
50 return assertSuggestConstructor(name, elemOffset: elemOffset);
51 }
52
53 @override
54 CompletionSuggestion assertSuggestLocalField(String name, String type, 48 CompletionSuggestion assertSuggestLocalField(String name, String type,
55 {int relevance: DART_RELEVANCE_LOCAL_FIELD, bool deprecated: false}) { 49 {int relevance: DART_RELEVANCE_LOCAL_FIELD, bool deprecated: false}) {
56 return assertSuggestField(name, type, 50 return assertSuggestField(name, type,
57 relevance: relevance, isDeprecated: deprecated); 51 relevance: relevance, isDeprecated: deprecated);
58 } 52 }
59 53
60 @override 54 @override
61 CompletionSuggestion assertSuggestLocalFunction( 55 CompletionSuggestion assertSuggestLocalFunction(
62 String name, String returnType, 56 String name, String returnType,
63 {CompletionSuggestionKind kind: CompletionSuggestionKind.INVOCATION, 57 {CompletionSuggestionKind kind: CompletionSuggestionKind.INVOCATION,
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 } 630 }
637 631
638 test_InstanceCreationExpression() { 632 test_InstanceCreationExpression() {
639 addTestSource(''' 633 addTestSource('''
640 class A {foo(){var f; {var x;}}} 634 class A {foo(){var f; {var x;}}}
641 class B {B(this.x, [String boo]) { } int x;} 635 class B {B(this.x, [String boo]) { } int x;}
642 class C {C.bar({boo: 'hoo', int z: 0}) { } } 636 class C {C.bar({boo: 'hoo', int z: 0}) { } }
643 main() {new ^ String x = "hello";}'''); 637 main() {new ^ String x = "hello";}''');
644 computeFast(); 638 computeFast();
645 return computeFull((bool result) { 639 return computeFull((bool result) {
646 CompletionSuggestion suggestion; 640 // Suggested by ConstructorContributor
647 641 assertNotSuggested('A');
648 suggestion = assertSuggestLocalConstructor('A', elemOffset: -1); 642 assertNotSuggested('B');
649 expect(suggestion.element.parameters, '()'); 643 assertNotSuggested('C.bar');
650 expect(suggestion.element.returnType, 'A');
651 expect(suggestion.declaringType, 'A');
652 expect(suggestion.parameterNames, hasLength(0));
653 expect(suggestion.requiredParameterCount, 0);
654 expect(suggestion.hasNamedParameters, false);
655
656 suggestion = assertSuggestLocalConstructor('B');
657 expect(suggestion.element.parameters, '(int x, [String boo])');
658 expect(suggestion.element.returnType, 'B');
659 expect(suggestion.declaringType, 'B');
660 expect(suggestion.parameterNames, hasLength(2));
661 expect(suggestion.parameterNames[0], 'x');
662 expect(suggestion.parameterTypes[0], 'int');
663 expect(suggestion.parameterNames[1], 'boo');
664 expect(suggestion.parameterTypes[1], 'String');
665 expect(suggestion.requiredParameterCount, 1);
666 expect(suggestion.hasNamedParameters, false);
667
668 suggestion = assertSuggestLocalConstructor('C.bar');
669 expect(suggestion.element.parameters, '({dynamic boo, int z})');
670 expect(suggestion.element.returnType, 'C');
671 expect(suggestion.declaringType, 'C');
672 expect(suggestion.parameterNames, hasLength(2));
673 expect(suggestion.parameterNames[0], 'boo');
674 expect(suggestion.parameterTypes[0], 'dynamic');
675 expect(suggestion.parameterNames[1], 'z');
676 expect(suggestion.parameterTypes[1], 'int');
677 expect(suggestion.requiredParameterCount, 0);
678 expect(suggestion.hasNamedParameters, true);
679 }); 644 });
680 } 645 }
681 646
682 test_method_parameters_mixed_required_and_named() { 647 test_method_parameters_mixed_required_and_named() {
683 addTestSource(''' 648 addTestSource('''
684 class A { 649 class A {
685 void m(x, {int y}) {} 650 void m(x, {int y}) {}
686 } 651 }
687 class B extends A { 652 class B extends A {
688 main() {^} 653 main() {^}
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 assertSuggestLocalVariable('ab', null); 804 assertSuggestLocalVariable('ab', null);
840 assertSuggestLocalVariable('_ab', null, relevance: DART_RELEVANCE_DEFAULT); 805 assertSuggestLocalVariable('_ab', null, relevance: DART_RELEVANCE_DEFAULT);
841 } 806 }
842 807
843 test_shadowed_name() { 808 test_shadowed_name() {
844 addTestSource('var a; class A { var a; m() { ^ } }'); 809 addTestSource('var a; class A { var a; m() { ^ } }');
845 expect(computeFast(), isTrue); 810 expect(computeFast(), isTrue);
846 assertSuggestLocalField('a', null); 811 assertSuggestLocalField('a', null);
847 } 812 }
848 } 813 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/services/completion/dart/test_all.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698