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

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

Issue 1505703003: extract StaticMemberContributor from PrefixedElementContributor (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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.invocation; 5 library test.services.completion.invocation;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/plugin/protocol/protocol.dart'; 9 import 'package:analysis_server/plugin/protocol/protocol.dart';
10 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart'; 10 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart';
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 .toList(); 54 .toList();
55 if (shouldBeShadowed) { 55 if (shouldBeShadowed) {
56 expect(suggestionsForX, hasLength(1)); 56 expect(suggestionsForX, hasLength(1));
57 expect(suggestionsForX[0].declaringType, 'Derived'); 57 expect(suggestionsForX[0].declaringType, 'Derived');
58 } else { 58 } else {
59 expect(suggestionsForX, hasLength(2)); 59 expect(suggestionsForX, hasLength(2));
60 } 60 }
61 }); 61 });
62 } 62 }
63 63
64 fail_enumConst_deprecated() {
65 addTestSource('@deprecated enum E { one, two } main() {E.^}');
66 return computeFull((bool result) {
67 assertNotSuggested('E');
68 // TODO(danrubel) Investigate why enum suggestion is not marked
69 // as deprecated if enum ast element is deprecated
70 assertSuggestEnumConst('one', isDeprecated: true);
71 assertSuggestEnumConst('two', isDeprecated: true);
72 assertNotSuggested('index');
73 assertSuggestField('values', 'List<E>', isDeprecated: true);
74 });
75 }
76
77 fail_test_PrefixedIdentifier_trailingStmt_const_untyped() { 64 fail_test_PrefixedIdentifier_trailingStmt_const_untyped() {
78 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 65 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
79 addTestSource('const g = "hello"; f() {g.^ int y = 0;}'); 66 addTestSource('const g = "hello"; f() {g.^ int y = 0;}');
80 computeFast(); 67 computeFast();
81 return computeFull((bool result) { 68 return computeFull((bool result) {
82 assertSuggestInvocationGetter('length', 'int'); 69 assertSuggestInvocationGetter('length', 'int');
83 }); 70 });
84 } 71 }
85 72
86 @override 73 @override
87 void setUpContributor() { 74 void setUpContributor() {
88 contributor = new PrefixedElementContributor(); 75 contributor = new PrefixedElementContributor();
89 } 76 }
90 77
91 test_enumConst() { 78 test_enumConst() {
92 addTestSource('enum E { one, two } main() {E.^}'); 79 addTestSource('enum E { one, two } main() {E.^}');
93 return computeFull((bool result) { 80 return computeFull((bool result) {
94 assertNotSuggested('E'); 81 assertNotSuggested('E');
95 assertSuggestEnumConst('one'); 82 // Suggested by StaticMemberContributor
96 assertSuggestEnumConst('two'); 83 assertNotSuggested('one');
84 assertNotSuggested('two');
97 assertNotSuggested('index'); 85 assertNotSuggested('index');
98 assertSuggestField('values', 'List<E>'); 86 assertNotSuggested('values');
99 }); 87 });
100 } 88 }
101 89
102 test_enumConst2() { 90 test_enumConst2() {
103 addTestSource('enum E { one, two } main() {E.o^}'); 91 addTestSource('enum E { one, two } main() {E.o^}');
104 return computeFull((bool result) { 92 return computeFull((bool result) {
105 assertNotSuggested('E'); 93 assertNotSuggested('E');
106 assertSuggestEnumConst('one'); 94 // Suggested by StaticMemberContributor
107 assertSuggestEnumConst('two'); 95 assertNotSuggested('one');
96 assertNotSuggested('two');
108 assertNotSuggested('index'); 97 assertNotSuggested('index');
109 assertSuggestField('values', 'List<E>'); 98 assertNotSuggested('values');
110 }); 99 });
111 } 100 }
112 101
113 test_enumConst3() { 102 test_enumConst3() {
114 addTestSource('enum E { one, two } main() {E.^ int g;}'); 103 addTestSource('enum E { one, two } main() {E.^ int g;}');
115 return computeFull((bool result) { 104 return computeFull((bool result) {
116 assertNotSuggested('E'); 105 assertNotSuggested('E');
117 assertSuggestEnumConst('one'); 106 // Suggested by StaticMemberContributor
118 assertSuggestEnumConst('two'); 107 assertNotSuggested('one');
108 assertNotSuggested('two');
119 assertNotSuggested('index'); 109 assertNotSuggested('index');
120 assertSuggestField('values', 'List<E>'); 110 assertNotSuggested('values');
121 }); 111 });
122 } 112 }
123 113
124 test_enumConst_index() { 114 test_enumConst_index() {
125 addTestSource('enum E { one, two } main() {E.one.^}'); 115 addTestSource('enum E { one, two } main() {E.one.^}');
126 return computeFull((bool result) { 116 return computeFull((bool result) {
127 assertNotSuggested('E'); 117 assertNotSuggested('E');
128 assertNotSuggested('one'); 118 assertNotSuggested('one');
129 assertNotSuggested('two'); 119 assertNotSuggested('two');
130 assertSuggestField('index', 'int'); 120 assertSuggestField('index', 'int');
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 // as a parmeter to it, and it will check the appropriate field in 203 // as a parmeter to it, and it will check the appropriate field in
214 // the suggestion object. 204 // the suggestion object.
215 CompletionSuggestion suggestion = assertSuggestSetter('t'); 205 CompletionSuggestion suggestion = assertSuggestSetter('t');
216 expect(suggestion.element.parameters, '(int value)'); 206 expect(suggestion.element.parameters, '(int value)');
217 }); 207 });
218 } 208 }
219 209
220 test_keyword() { 210 test_keyword() {
221 addTestSource('class C { static C get instance => null; } main() {C.in^}'); 211 addTestSource('class C { static C get instance => null; } main() {C.in^}');
222 return computeFull((bool result) { 212 return computeFull((bool result) {
223 assertSuggestGetter('instance', 'C'); 213 // Suggested by StaticMemberContributor
214 assertNotSuggested('instance');
224 }); 215 });
225 } 216 }
226 217
227 test_libraryPrefix() { 218 test_libraryPrefix() {
228 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 219 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
229 addTestSource('import "dart:async" as bar; foo() {bar.^}'); 220 addTestSource('import "dart:async" as bar; foo() {bar.^}');
230 return computeFull((bool result) { 221 return computeFull((bool result) {
231 assertSuggestClass('Future'); 222 assertSuggestClass('Future');
232 assertNotSuggested('loadLibrary'); 223 assertNotSuggested('loadLibrary');
233 }); 224 });
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 addTestSource(''' 465 addTestSource('''
475 class C { 466 class C {
476 int f1; 467 int f1;
477 static int f2; 468 static int f2;
478 m1() {} 469 m1() {}
479 static m2() {} 470 static m2() {}
480 } 471 }
481 void main() {C.^}'''); 472 void main() {C.^}''');
482 return computeFull((bool result) { 473 return computeFull((bool result) {
483 assertNotSuggested('f1'); 474 assertNotSuggested('f1');
484 assertSuggestInvocationField('f2', 'int'); 475 // Suggested by StaticMemberContributor
476 assertNotSuggested('f2');
485 assertNotSuggested('m1'); 477 assertNotSuggested('m1');
486 assertSuggestMethod('m2', 'C', null); 478 assertNotSuggested('m2');
487 }); 479 });
488 } 480 }
489 481
490 test_only_static2() { 482 test_only_static2() {
491 // SimpleIdentifier MethodInvocation ExpressionStatement 483 // SimpleIdentifier MethodInvocation ExpressionStatement
492 addTestSource(''' 484 addTestSource('''
493 class C { 485 class C {
494 int f1; 486 int f1;
495 static int f2; 487 static int f2;
496 m1() {} 488 m1() {}
497 static m2() {} 489 static m2() {}
498 } 490 }
499 void main() {C.^ print("something");}'''); 491 void main() {C.^ print("something");}''');
500 return computeFull((bool result) { 492 return computeFull((bool result) {
501 assertNotSuggested('f1'); 493 assertNotSuggested('f1');
502 assertSuggestInvocationField('f2', 'int'); 494 // Suggested by StaticMemberContributor
495 assertNotSuggested('f2');
503 assertNotSuggested('m1'); 496 assertNotSuggested('m1');
504 assertSuggestMethod('m2', 'C', null); 497 assertNotSuggested('m2');
505 }); 498 });
506 } 499 }
507 500
508 test_param() { 501 test_param() {
509 addTestSource('foo(String x) {x.^}'); 502 addTestSource('foo(String x) {x.^}');
510 return computeFull((bool result) { 503 return computeFull((bool result) {
511 assertSuggestGetter('length', 'int'); 504 assertSuggestGetter('length', 'int');
512 }); 505 });
513 } 506 }
514 507
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 assertNotSuggested('ms2'); 659 assertNotSuggested('ms2');
667 assertSuggestInvocationMethod('m', 'C2', null, 660 assertSuggestInvocationMethod('m', 'C2', null,
668 relevance: DART_RELEVANCE_HIGH); 661 relevance: DART_RELEVANCE_HIGH);
669 assertNotSuggested('fi3'); 662 assertNotSuggested('fi3');
670 assertNotSuggested('fs3'); 663 assertNotSuggested('fs3');
671 assertNotSuggested('mi3'); 664 assertNotSuggested('mi3');
672 assertNotSuggested('ms3'); 665 assertNotSuggested('ms3');
673 }); 666 });
674 } 667 }
675 } 668 }
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