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

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

Issue 2975253002: Format analyzer, analysis_server, analyzer_plugin, front_end and kernel with the latest dartfmt. (Closed)
Patch Set: Created 3 years, 5 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analysis_server/src/provisional/completion/dart/completion_dart. dart'; 7 import 'package:analysis_server/src/provisional/completion/dart/completion_dart. dart';
8 import 'package:analysis_server/src/services/completion/dart/type_member_contrib utor.dart'; 8 import 'package:analysis_server/src/services/completion/dart/type_member_contrib utor.dart';
9 import 'package:analyzer_plugin/protocol/protocol_common.dart'; 9 import 'package:analyzer_plugin/protocol/protocol_common.dart';
10 import 'package:test/test.dart'; 10 import 'package:test/test.dart';
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 106
107 void main() {new A().f^}'''); 107 void main() {new A().f^}''');
108 await computeSuggestions(); 108 await computeSuggestions();
109 109
110 assertSuggestMethod('foo', 'A', 'bool', 110 assertSuggestMethod('foo', 'A', 'bool',
111 defaultArgListString: 'bar, baz: null'); 111 defaultArgListString: 'bar, baz: null');
112 } 112 }
113 113
114 test_ArgumentList() async { 114 test_ArgumentList() async {
115 // ArgumentList MethodInvocation ExpressionStatement Block 115 // ArgumentList MethodInvocation ExpressionStatement Block
116 addSource( 116 addSource('/libA.dart', '''
117 '/libA.dart',
118 '''
119 library A; 117 library A;
120 bool hasLength(int expected) { } 118 bool hasLength(int expected) { }
121 void baz() { }'''); 119 void baz() { }''');
122 addTestSource(''' 120 addTestSource('''
123 import '/libA.dart'; 121 import '/libA.dart';
124 class B { } 122 class B { }
125 String bar() => true; 123 String bar() => true;
126 void main() {expect(^)}'''); 124 void main() {expect(^)}''');
127 await computeSuggestions(); 125 await computeSuggestions();
128 expect(replacementOffset, completionOffset); 126 expect(replacementOffset, completionOffset);
129 expect(replacementLength, 0); 127 expect(replacementLength, 0);
130 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 128 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
131 assertNotSuggested('bar'); 129 assertNotSuggested('bar');
132 assertNotSuggested('hasLength'); 130 assertNotSuggested('hasLength');
133 assertNotSuggested('identical'); 131 assertNotSuggested('identical');
134 assertNotSuggested('B'); 132 assertNotSuggested('B');
135 assertNotSuggested('Object'); 133 assertNotSuggested('Object');
136 assertNotSuggested('main'); 134 assertNotSuggested('main');
137 assertNotSuggested('baz'); 135 assertNotSuggested('baz');
138 assertNotSuggested('print'); 136 assertNotSuggested('print');
139 } 137 }
140 138
141 test_ArgumentList_imported_function() async { 139 test_ArgumentList_imported_function() async {
142 // ArgumentList MethodInvocation ExpressionStatement Block 140 // ArgumentList MethodInvocation ExpressionStatement Block
143 addSource( 141 addSource('/libA.dart', '''
144 '/libA.dart',
145 '''
146 library A; 142 library A;
147 bool hasLength(int expected) { } 143 bool hasLength(int expected) { }
148 expect(arg) { } 144 expect(arg) { }
149 void baz() { }'''); 145 void baz() { }''');
150 addTestSource(''' 146 addTestSource('''
151 import '/libA.dart' 147 import '/libA.dart'
152 class B { } 148 class B { }
153 String bar() => true; 149 String bar() => true;
154 void main() {expect(^)}'''); 150 void main() {expect(^)}''');
155 await computeSuggestions(); 151 await computeSuggestions();
156 expect(replacementOffset, completionOffset); 152 expect(replacementOffset, completionOffset);
157 expect(replacementLength, 0); 153 expect(replacementLength, 0);
158 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 154 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
159 assertNotSuggested('bar'); 155 assertNotSuggested('bar');
160 assertNotSuggested('hasLength'); 156 assertNotSuggested('hasLength');
161 assertNotSuggested('identical'); 157 assertNotSuggested('identical');
162 assertNotSuggested('B'); 158 assertNotSuggested('B');
163 assertNotSuggested('Object'); 159 assertNotSuggested('Object');
164 assertNotSuggested('main'); 160 assertNotSuggested('main');
165 assertNotSuggested('baz'); 161 assertNotSuggested('baz');
166 assertNotSuggested('print'); 162 assertNotSuggested('print');
167 } 163 }
168 164
169 test_ArgumentList_InstanceCreationExpression_functionalArg() async { 165 test_ArgumentList_InstanceCreationExpression_functionalArg() async {
170 // ArgumentList InstanceCreationExpression ExpressionStatement Block 166 // ArgumentList InstanceCreationExpression ExpressionStatement Block
171 addSource( 167 addSource('/libA.dart', '''
172 '/libA.dart',
173 '''
174 library A; 168 library A;
175 class A { A(f()) { } } 169 class A { A(f()) { } }
176 bool hasLength(int expected) { } 170 bool hasLength(int expected) { }
177 void baz() { }'''); 171 void baz() { }''');
178 addTestSource(''' 172 addTestSource('''
179 import 'dart:async'; 173 import 'dart:async';
180 import '/libA.dart'; 174 import '/libA.dart';
181 class B { } 175 class B { }
182 String bar() => true; 176 String bar() => true;
183 void main() {new A(^)}'''); 177 void main() {new A(^)}''');
184 await computeSuggestions(); 178 await computeSuggestions();
185 expect(replacementOffset, completionOffset); 179 expect(replacementOffset, completionOffset);
186 expect(replacementLength, 0); 180 expect(replacementLength, 0);
187 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 181 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
188 assertNotSuggested('bar'); 182 assertNotSuggested('bar');
189 assertNotSuggested('hasLength'); 183 assertNotSuggested('hasLength');
190 assertNotSuggested('identical'); 184 assertNotSuggested('identical');
191 assertNotSuggested('B'); 185 assertNotSuggested('B');
192 assertNotSuggested('A'); 186 assertNotSuggested('A');
193 assertNotSuggested('Object'); 187 assertNotSuggested('Object');
194 assertNotSuggested('main'); 188 assertNotSuggested('main');
195 assertNotSuggested('baz'); 189 assertNotSuggested('baz');
196 assertNotSuggested('print'); 190 assertNotSuggested('print');
197 } 191 }
198 192
199 test_ArgumentList_InstanceCreationExpression_typedefArg() async { 193 test_ArgumentList_InstanceCreationExpression_typedefArg() async {
200 // ArgumentList InstanceCreationExpression ExpressionStatement Block 194 // ArgumentList InstanceCreationExpression ExpressionStatement Block
201 addSource( 195 addSource('/libA.dart', '''
202 '/libA.dart',
203 '''
204 library A; 196 library A;
205 typedef Funct(); 197 typedef Funct();
206 class A { A(Funct f) { } } 198 class A { A(Funct f) { } }
207 bool hasLength(int expected) { } 199 bool hasLength(int expected) { }
208 void baz() { }'''); 200 void baz() { }''');
209 addTestSource(''' 201 addTestSource('''
210 import 'dart:async'; 202 import 'dart:async';
211 import '/libA.dart'; 203 import '/libA.dart';
212 class B { } 204 class B { }
213 String bar() => true; 205 String bar() => true;
214 void main() {new A(^)}'''); 206 void main() {new A(^)}''');
215 await computeSuggestions(); 207 await computeSuggestions();
216 expect(replacementOffset, completionOffset); 208 expect(replacementOffset, completionOffset);
217 expect(replacementLength, 0); 209 expect(replacementLength, 0);
218 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 210 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
219 assertNotSuggested('bar'); 211 assertNotSuggested('bar');
220 assertNotSuggested('hasLength'); 212 assertNotSuggested('hasLength');
221 assertNotSuggested('identical'); 213 assertNotSuggested('identical');
222 assertNotSuggested('B'); 214 assertNotSuggested('B');
223 assertNotSuggested('A'); 215 assertNotSuggested('A');
224 assertNotSuggested('Object'); 216 assertNotSuggested('Object');
225 assertNotSuggested('main'); 217 assertNotSuggested('main');
226 assertNotSuggested('baz'); 218 assertNotSuggested('baz');
227 assertNotSuggested('print'); 219 assertNotSuggested('print');
228 } 220 }
229 221
230 test_ArgumentList_local_function() async { 222 test_ArgumentList_local_function() async {
231 // ArgumentList MethodInvocation ExpressionStatement Block 223 // ArgumentList MethodInvocation ExpressionStatement Block
232 addSource( 224 addSource('/libA.dart', '''
233 '/libA.dart',
234 '''
235 library A; 225 library A;
236 bool hasLength(int expected) { } 226 bool hasLength(int expected) { }
237 void baz() { }'''); 227 void baz() { }''');
238 addTestSource(''' 228 addTestSource('''
239 import '/libA.dart' 229 import '/libA.dart'
240 expect(arg) { } 230 expect(arg) { }
241 class B { } 231 class B { }
242 String bar() => true; 232 String bar() => true;
243 void main() {expect(^)}'''); 233 void main() {expect(^)}''');
244 await computeSuggestions(); 234 await computeSuggestions();
245 expect(replacementOffset, completionOffset); 235 expect(replacementOffset, completionOffset);
246 expect(replacementLength, 0); 236 expect(replacementLength, 0);
247 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 237 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
248 assertNotSuggested('bar'); 238 assertNotSuggested('bar');
249 assertNotSuggested('hasLength'); 239 assertNotSuggested('hasLength');
250 assertNotSuggested('identical'); 240 assertNotSuggested('identical');
251 assertNotSuggested('B'); 241 assertNotSuggested('B');
252 assertNotSuggested('Object'); 242 assertNotSuggested('Object');
253 assertNotSuggested('main'); 243 assertNotSuggested('main');
254 assertNotSuggested('baz'); 244 assertNotSuggested('baz');
255 assertNotSuggested('print'); 245 assertNotSuggested('print');
256 } 246 }
257 247
258 test_ArgumentList_local_method() async { 248 test_ArgumentList_local_method() async {
259 // ArgumentList MethodInvocation ExpressionStatement Block 249 // ArgumentList MethodInvocation ExpressionStatement Block
260 addSource( 250 addSource('/libA.dart', '''
261 '/libA.dart',
262 '''
263 library A; 251 library A;
264 bool hasLength(int expected) { } 252 bool hasLength(int expected) { }
265 void baz() { }'''); 253 void baz() { }''');
266 addTestSource(''' 254 addTestSource('''
267 import '/libA.dart' 255 import '/libA.dart'
268 class B { 256 class B {
269 expect(arg) { } 257 expect(arg) { }
270 void foo() {expect(^)}} 258 void foo() {expect(^)}}
271 String bar() => true;'''); 259 String bar() => true;''');
272 await computeSuggestions(); 260 await computeSuggestions();
273 expect(replacementOffset, completionOffset); 261 expect(replacementOffset, completionOffset);
274 expect(replacementLength, 0); 262 expect(replacementLength, 0);
275 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 263 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
276 assertNotSuggested('bar'); 264 assertNotSuggested('bar');
277 assertNotSuggested('hasLength'); 265 assertNotSuggested('hasLength');
278 assertNotSuggested('identical'); 266 assertNotSuggested('identical');
279 assertNotSuggested('B'); 267 assertNotSuggested('B');
280 assertNotSuggested('Object'); 268 assertNotSuggested('Object');
281 assertNotSuggested('main'); 269 assertNotSuggested('main');
282 assertNotSuggested('baz'); 270 assertNotSuggested('baz');
283 assertNotSuggested('print'); 271 assertNotSuggested('print');
284 } 272 }
285 273
286 test_ArgumentList_MethodInvocation_functionalArg() async { 274 test_ArgumentList_MethodInvocation_functionalArg() async {
287 // ArgumentList MethodInvocation ExpressionStatement Block 275 // ArgumentList MethodInvocation ExpressionStatement Block
288 addSource( 276 addSource('/libA.dart', '''
289 '/libA.dart',
290 '''
291 library A; 277 library A;
292 class A { A(f()) { } } 278 class A { A(f()) { } }
293 bool hasLength(int expected) { } 279 bool hasLength(int expected) { }
294 void baz() { }'''); 280 void baz() { }''');
295 addTestSource(''' 281 addTestSource('''
296 import 'dart:async'; 282 import 'dart:async';
297 import '/libA.dart'; 283 import '/libA.dart';
298 class B { } 284 class B { }
299 String bar(f()) => true; 285 String bar(f()) => true;
300 void main() {bar(^);}'''); 286 void main() {bar(^);}''');
301 await computeSuggestions(); 287 await computeSuggestions();
302 expect(replacementOffset, completionOffset); 288 expect(replacementOffset, completionOffset);
303 expect(replacementLength, 0); 289 expect(replacementLength, 0);
304 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 290 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
305 assertNotSuggested('bar'); 291 assertNotSuggested('bar');
306 assertNotSuggested('hasLength'); 292 assertNotSuggested('hasLength');
307 assertNotSuggested('identical'); 293 assertNotSuggested('identical');
308 assertNotSuggested('B'); 294 assertNotSuggested('B');
309 assertNotSuggested('A'); 295 assertNotSuggested('A');
310 assertNotSuggested('Object'); 296 assertNotSuggested('Object');
311 assertNotSuggested('main'); 297 assertNotSuggested('main');
312 assertNotSuggested('baz'); 298 assertNotSuggested('baz');
313 assertNotSuggested('print'); 299 assertNotSuggested('print');
314 } 300 }
315 301
316 test_ArgumentList_MethodInvocation_methodArg() async { 302 test_ArgumentList_MethodInvocation_methodArg() async {
317 // ArgumentList MethodInvocation ExpressionStatement Block 303 // ArgumentList MethodInvocation ExpressionStatement Block
318 addSource( 304 addSource('/libA.dart', '''
319 '/libA.dart',
320 '''
321 library A; 305 library A;
322 class A { A(f()) { } } 306 class A { A(f()) { } }
323 bool hasLength(int expected) { } 307 bool hasLength(int expected) { }
324 void baz() { }'''); 308 void baz() { }''');
325 addTestSource(''' 309 addTestSource('''
326 import 'dart:async'; 310 import 'dart:async';
327 import '/libA.dart'; 311 import '/libA.dart';
328 class B { String bar(f()) => true; } 312 class B { String bar(f()) => true; }
329 void main() {new B().bar(^);}'''); 313 void main() {new B().bar(^);}''');
330 await computeSuggestions(); 314 await computeSuggestions();
331 expect(replacementOffset, completionOffset); 315 expect(replacementOffset, completionOffset);
332 expect(replacementLength, 0); 316 expect(replacementLength, 0);
333 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST); 317 assertNoSuggestions(kind: CompletionSuggestionKind.ARGUMENT_LIST);
334 assertNotSuggested('hasLength'); 318 assertNotSuggested('hasLength');
335 assertNotSuggested('identical'); 319 assertNotSuggested('identical');
336 assertNotSuggested('B'); 320 assertNotSuggested('B');
337 assertNotSuggested('A'); 321 assertNotSuggested('A');
338 assertNotSuggested('Object'); 322 assertNotSuggested('Object');
339 assertNotSuggested('main'); 323 assertNotSuggested('main');
340 assertNotSuggested('baz'); 324 assertNotSuggested('baz');
341 assertNotSuggested('print'); 325 assertNotSuggested('print');
342 } 326 }
343 327
344 test_ArgumentList_namedParam() async { 328 test_ArgumentList_namedParam() async {
345 // SimpleIdentifier NamedExpression ArgumentList MethodInvocation 329 // SimpleIdentifier NamedExpression ArgumentList MethodInvocation
346 // ExpressionStatement 330 // ExpressionStatement
347 addSource( 331 addSource('/libA.dart', '''
348 '/libA.dart',
349 '''
350 library A; 332 library A;
351 bool hasLength(int expected) { }'''); 333 bool hasLength(int expected) { }''');
352 addTestSource(''' 334 addTestSource('''
353 import '/libA.dart' 335 import '/libA.dart'
354 String bar() => true; 336 String bar() => true;
355 void main() {expect(foo: ^)}'''); 337 void main() {expect(foo: ^)}''');
356 await computeSuggestions(); 338 await computeSuggestions();
357 expect(replacementOffset, completionOffset); 339 expect(replacementOffset, completionOffset);
358 expect(replacementLength, 0); 340 expect(replacementLength, 0);
359 assertNotSuggested('bar'); 341 assertNotSuggested('bar');
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 expect(replacementOffset, completionOffset); 498 expect(replacementOffset, completionOffset);
517 expect(replacementLength, 0); 499 expect(replacementLength, 0);
518 assertNotSuggested('a'); 500 assertNotSuggested('a');
519 assertNotSuggested('Object'); 501 assertNotSuggested('Object');
520 assertNotSuggested('b'); 502 assertNotSuggested('b');
521 assertNotSuggested('=='); 503 assertNotSuggested('==');
522 } 504 }
523 505
524 test_Block() async { 506 test_Block() async {
525 // Block BlockFunctionBody MethodDeclaration 507 // Block BlockFunctionBody MethodDeclaration
526 addSource( 508 addSource('/testAB.dart', '''
527 '/testAB.dart',
528 '''
529 export "dart:math" hide max; 509 export "dart:math" hide max;
530 class A {int x;} 510 class A {int x;}
531 @deprecated D1() {int x;} 511 @deprecated D1() {int x;}
532 class _B {boo() { partBoo() {}} }'''); 512 class _B {boo() { partBoo() {}} }''');
533 addSource( 513 addSource('/testCD.dart', '''
534 '/testCD.dart',
535 '''
536 String T1; 514 String T1;
537 var _T2; 515 var _T2;
538 class C { } 516 class C { }
539 class D { }'''); 517 class D { }''');
540 addSource( 518 addSource('/testEEF.dart', '''
541 '/testEEF.dart',
542 '''
543 class EE { } 519 class EE { }
544 class F { }'''); 520 class F { }''');
545 addSource('/testG.dart', 'class G { }'); 521 addSource('/testG.dart', 'class G { }');
546 addSource( 522 addSource('/testH.dart', '''
547 '/testH.dart',
548 '''
549 class H { } 523 class H { }
550 int T3; 524 int T3;
551 var _T4;'''); // not imported 525 var _T4;'''); // not imported
552 addTestSource(''' 526 addTestSource('''
553 import "testAB.dart"; 527 import "testAB.dart";
554 import "testCD.dart" hide D; 528 import "testCD.dart" hide D;
555 import "testEEF.dart" show EE; 529 import "testEEF.dart" show EE;
556 import "testG.dart" as g; 530 import "testG.dart" as g;
557 int T5; 531 int T5;
558 var _T6; 532 var _T6;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 assertNotSuggested('blog'); 590 assertNotSuggested('blog');
617 // TODO (danrubel) suggest HtmlElement as low relevance 591 // TODO (danrubel) suggest HtmlElement as low relevance
618 assertNotSuggested('HtmlElement'); 592 assertNotSuggested('HtmlElement');
619 assertNotSuggested('Uri'); 593 assertNotSuggested('Uri');
620 assertNotSuggested('parseIPv6Address'); 594 assertNotSuggested('parseIPv6Address');
621 assertNotSuggested('parseHex'); 595 assertNotSuggested('parseHex');
622 } 596 }
623 597
624 test_Block_final() async { 598 test_Block_final() async {
625 // Block BlockFunctionBody MethodDeclaration 599 // Block BlockFunctionBody MethodDeclaration
626 addSource( 600 addSource('/testAB.dart', '''
627 '/testAB.dart',
628 '''
629 export "dart:math" hide max; 601 export "dart:math" hide max;
630 class A {int x;} 602 class A {int x;}
631 @deprecated D1() {int x;} 603 @deprecated D1() {int x;}
632 class _B {boo() { partBoo() {}} }'''); 604 class _B {boo() { partBoo() {}} }''');
633 addSource( 605 addSource('/testCD.dart', '''
634 '/testCD.dart',
635 '''
636 String T1; 606 String T1;
637 var _T2; 607 var _T2;
638 class C { } 608 class C { }
639 class D { }'''); 609 class D { }''');
640 addSource( 610 addSource('/testEEF.dart', '''
641 '/testEEF.dart',
642 '''
643 class EE { } 611 class EE { }
644 class F { }'''); 612 class F { }''');
645 addSource('/testG.dart', 'class G { }'); 613 addSource('/testG.dart', 'class G { }');
646 addSource( 614 addSource('/testH.dart', '''
647 '/testH.dart',
648 '''
649 class H { } 615 class H { }
650 int T3; 616 int T3;
651 var _T4;'''); // not imported 617 var _T4;'''); // not imported
652 addTestSource(''' 618 addTestSource('''
653 import "testAB.dart"; 619 import "testAB.dart";
654 import "testCD.dart" hide D; 620 import "testCD.dart" hide D;
655 import "testEEF.dart" show EE; 621 import "testEEF.dart" show EE;
656 import "testG.dart" as g; 622 import "testG.dart" as g;
657 int T5; 623 int T5;
658 var _T6; 624 var _T6;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
736 702
737 test_Block_final3() async { 703 test_Block_final3() async {
738 addTestSource('main() {final ^ v;}'); 704 addTestSource('main() {final ^ v;}');
739 await computeSuggestions(); 705 await computeSuggestions();
740 706
741 assertNotSuggested('String'); 707 assertNotSuggested('String');
742 } 708 }
743 709
744 test_Block_final_final() async { 710 test_Block_final_final() async {
745 // Block BlockFunctionBody MethodDeclaration 711 // Block BlockFunctionBody MethodDeclaration
746 addSource( 712 addSource('/testAB.dart', '''
747 '/testAB.dart',
748 '''
749 export "dart:math" hide max; 713 export "dart:math" hide max;
750 class A {int x;} 714 class A {int x;}
751 @deprecated D1() {int x;} 715 @deprecated D1() {int x;}
752 class _B {boo() { partBoo() {}} }'''); 716 class _B {boo() { partBoo() {}} }''');
753 addSource( 717 addSource('/testCD.dart', '''
754 '/testCD.dart',
755 '''
756 String T1; 718 String T1;
757 var _T2; 719 var _T2;
758 class C { } 720 class C { }
759 class D { }'''); 721 class D { }''');
760 addSource( 722 addSource('/testEEF.dart', '''
761 '/testEEF.dart',
762 '''
763 class EE { } 723 class EE { }
764 class F { }'''); 724 class F { }''');
765 addSource('/testG.dart', 'class G { }'); 725 addSource('/testG.dart', 'class G { }');
766 addSource( 726 addSource('/testH.dart', '''
767 '/testH.dart',
768 '''
769 class H { } 727 class H { }
770 int T3; 728 int T3;
771 var _T4;'''); // not imported 729 var _T4;'''); // not imported
772 addTestSource(''' 730 addTestSource('''
773 import "testAB.dart"; 731 import "testAB.dart";
774 import "testCD.dart" hide D; 732 import "testCD.dart" hide D;
775 import "testEEF.dart" show EE; 733 import "testEEF.dart" show EE;
776 import "testG.dart" as g; 734 import "testG.dart" as g;
777 int T5; 735 int T5;
778 var _T6; 736 var _T6;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 assertNotSuggested('blog'); 800 assertNotSuggested('blog');
843 // TODO (danrubel) suggest HtmlElement as low relevance 801 // TODO (danrubel) suggest HtmlElement as low relevance
844 assertNotSuggested('HtmlElement'); 802 assertNotSuggested('HtmlElement');
845 assertNotSuggested('Uri'); 803 assertNotSuggested('Uri');
846 assertNotSuggested('parseIPv6Address'); 804 assertNotSuggested('parseIPv6Address');
847 assertNotSuggested('parseHex'); 805 assertNotSuggested('parseHex');
848 } 806 }
849 807
850 test_Block_final_var() async { 808 test_Block_final_var() async {
851 // Block BlockFunctionBody MethodDeclaration 809 // Block BlockFunctionBody MethodDeclaration
852 addSource( 810 addSource('/testAB.dart', '''
853 '/testAB.dart',
854 '''
855 export "dart:math" hide max; 811 export "dart:math" hide max;
856 class A {int x;} 812 class A {int x;}
857 @deprecated D1() {int x;} 813 @deprecated D1() {int x;}
858 class _B {boo() { partBoo() {}} }'''); 814 class _B {boo() { partBoo() {}} }''');
859 addSource( 815 addSource('/testCD.dart', '''
860 '/testCD.dart',
861 '''
862 String T1; 816 String T1;
863 var _T2; 817 var _T2;
864 class C { } 818 class C { }
865 class D { }'''); 819 class D { }''');
866 addSource( 820 addSource('/testEEF.dart', '''
867 '/testEEF.dart',
868 '''
869 class EE { } 821 class EE { }
870 class F { }'''); 822 class F { }''');
871 addSource('/testG.dart', 'class G { }'); 823 addSource('/testG.dart', 'class G { }');
872 addSource( 824 addSource('/testH.dart', '''
873 '/testH.dart',
874 '''
875 class H { } 825 class H { }
876 int T3; 826 int T3;
877 var _T4;'''); // not imported 827 var _T4;'''); // not imported
878 addTestSource(''' 828 addTestSource('''
879 import "testAB.dart"; 829 import "testAB.dart";
880 import "testCD.dart" hide D; 830 import "testCD.dart" hide D;
881 import "testEEF.dart" show EE; 831 import "testEEF.dart" show EE;
882 import "testG.dart" as g; 832 import "testG.dart" as g;
883 int T5; 833 int T5;
884 var _T6; 834 var _T6;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 assertNotSuggested('clog'); 897 assertNotSuggested('clog');
948 assertNotSuggested('blog'); 898 assertNotSuggested('blog');
949 // TODO (danrubel) suggest HtmlElement as low relevance 899 // TODO (danrubel) suggest HtmlElement as low relevance
950 assertNotSuggested('HtmlElement'); 900 assertNotSuggested('HtmlElement');
951 assertNotSuggested('Uri'); 901 assertNotSuggested('Uri');
952 assertNotSuggested('parseIPv6Address'); 902 assertNotSuggested('parseIPv6Address');
953 assertNotSuggested('parseHex'); 903 assertNotSuggested('parseHex');
954 } 904 }
955 905
956 test_Block_identifier_partial() async { 906 test_Block_identifier_partial() async {
957 addSource( 907 addSource('/testAB.dart', '''
958 '/testAB.dart',
959 '''
960 export "dart:math" hide max; 908 export "dart:math" hide max;
961 class A {int x;} 909 class A {int x;}
962 @deprecated D1() {int x;} 910 @deprecated D1() {int x;}
963 class _B { }'''); 911 class _B { }''');
964 addSource( 912 addSource('/testCD.dart', '''
965 '/testCD.dart',
966 '''
967 String T1; 913 String T1;
968 var _T2; 914 var _T2;
969 class C { } 915 class C { }
970 class D { }'''); 916 class D { }''');
971 addSource( 917 addSource('/testEEF.dart', '''
972 '/testEEF.dart',
973 '''
974 class EE { } 918 class EE { }
975 class F { }'''); 919 class F { }''');
976 addSource('/testG.dart', 'class G { }'); 920 addSource('/testG.dart', 'class G { }');
977 addSource( 921 addSource('/testH.dart', '''
978 '/testH.dart',
979 '''
980 class H { } 922 class H { }
981 class D3 { } 923 class D3 { }
982 int T3; 924 int T3;
983 var _T4;'''); // not imported 925 var _T4;'''); // not imported
984 addTestSource(''' 926 addTestSource('''
985 import "testAB.dart"; 927 import "testAB.dart";
986 import "testCD.dart" hide D; 928 import "testCD.dart" hide D;
987 import "testEEF.dart" show EE; 929 import "testEEF.dart" show EE;
988 import "testG.dart" as g; 930 import "testG.dart" as g;
989 int T5; 931 int T5;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1034 assertNotSuggested('_T4'); 976 assertNotSuggested('_T4');
1035 //assertNotSuggested('T5'); 977 //assertNotSuggested('T5');
1036 //assertNotSuggested('_T6'); 978 //assertNotSuggested('_T6');
1037 assertNotSuggested('=='); 979 assertNotSuggested('==');
1038 // TODO (danrubel) suggest HtmlElement as low relevance 980 // TODO (danrubel) suggest HtmlElement as low relevance
1039 assertNotSuggested('HtmlElement'); 981 assertNotSuggested('HtmlElement');
1040 } 982 }
1041 983
1042 test_Block_inherited_imported() async { 984 test_Block_inherited_imported() async {
1043 // Block BlockFunctionBody MethodDeclaration ClassDeclaration 985 // Block BlockFunctionBody MethodDeclaration ClassDeclaration
1044 addSource( 986 addSource('/testB.dart', '''
1045 '/testB.dart',
1046 '''
1047 lib B; 987 lib B;
1048 class F { var f1; f2() { } get f3 => 0; set f4(fx) { } var _pf; } 988 class F { var f1; f2() { } get f3 => 0; set f4(fx) { } var _pf; }
1049 class E extends F { var e1; e2() { } } 989 class E extends F { var e1; e2() { } }
1050 class I { int i1; i2() { } } 990 class I { int i1; i2() { } }
1051 class M { var m1; int m2() { } }'''); 991 class M { var m1; int m2() { } }''');
1052 addTestSource(''' 992 addTestSource('''
1053 import "testB.dart"; 993 import "testB.dart";
1054 class A extends E implements I with M {a() {^}}'''); 994 class A extends E implements I with M {a() {^}}''');
1055 await computeSuggestions(); 995 await computeSuggestions();
1056 996
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 assertNotSuggested('m1'); 1029 assertNotSuggested('m1');
1090 assertNotSuggested('f3'); 1030 assertNotSuggested('f3');
1091 assertNotSuggested('f4'); 1031 assertNotSuggested('f4');
1092 assertNotSuggested('e2'); 1032 assertNotSuggested('e2');
1093 assertNotSuggested('f2'); 1033 assertNotSuggested('f2');
1094 assertNotSuggested('i2'); 1034 assertNotSuggested('i2');
1095 assertNotSuggested('m2'); 1035 assertNotSuggested('m2');
1096 } 1036 }
1097 1037
1098 test_Block_local_function() async { 1038 test_Block_local_function() async {
1099 addSource( 1039 addSource('/testAB.dart', '''
1100 '/testAB.dart',
1101 '''
1102 export "dart:math" hide max; 1040 export "dart:math" hide max;
1103 class A {int x;} 1041 class A {int x;}
1104 @deprecated D1() {int x;} 1042 @deprecated D1() {int x;}
1105 class _B {boo() { partBoo() {}} }'''); 1043 class _B {boo() { partBoo() {}} }''');
1106 addSource( 1044 addSource('/testCD.dart', '''
1107 '/testCD.dart',
1108 '''
1109 String T1; 1045 String T1;
1110 var _T2; 1046 var _T2;
1111 class C { } 1047 class C { }
1112 class D { }'''); 1048 class D { }''');
1113 addSource( 1049 addSource('/testEEF.dart', '''
1114 '/testEEF.dart',
1115 '''
1116 class EE { } 1050 class EE { }
1117 class F { }'''); 1051 class F { }''');
1118 addSource('/testG.dart', 'class G { }'); 1052 addSource('/testG.dart', 'class G { }');
1119 addSource( 1053 addSource('/testH.dart', '''
1120 '/testH.dart',
1121 '''
1122 class H { } 1054 class H { }
1123 int T3; 1055 int T3;
1124 var _T4;'''); // not imported 1056 var _T4;'''); // not imported
1125 addTestSource(''' 1057 addTestSource('''
1126 import "testAB.dart"; 1058 import "testAB.dart";
1127 import "testCD.dart" hide D; 1059 import "testCD.dart" hide D;
1128 import "testEEF.dart" show EE; 1060 import "testEEF.dart" show EE;
1129 import "testG.dart" as g; 1061 import "testG.dart" as g;
1130 int T5; 1062 int T5;
1131 var _T6; 1063 var _T6;
(...skipping 30 matching lines...) Expand all
1162 expect(replacementOffset, completionOffset - 1); 1094 expect(replacementOffset, completionOffset - 1);
1163 expect(replacementLength, 1); 1095 expect(replacementLength, 1);
1164 assertNotSuggested('Foo'); 1096 assertNotSuggested('Foo');
1165 // TODO(danrubel) implement 1097 // TODO(danrubel) implement
1166 assertNotSuggested('Foo2'); 1098 assertNotSuggested('Foo2');
1167 assertNotSuggested('Future'); 1099 assertNotSuggested('Future');
1168 } 1100 }
1169 1101
1170 test_CascadeExpression_method1() async { 1102 test_CascadeExpression_method1() async {
1171 // PropertyAccess CascadeExpression ExpressionStatement Block 1103 // PropertyAccess CascadeExpression ExpressionStatement Block
1172 addSource( 1104 addSource('/testB.dart', '''
1173 '/testB.dart',
1174 '''
1175 class B { }'''); 1105 class B { }''');
1176 addTestSource(''' 1106 addTestSource('''
1177 import "testB.dart"; 1107 import "testB.dart";
1178 class A {var b; X _c;} 1108 class A {var b; X _c;}
1179 class X{} 1109 class X{}
1180 // looks like a cascade to the parser 1110 // looks like a cascade to the parser
1181 // but the user is trying to get completions for a non-cascade 1111 // but the user is trying to get completions for a non-cascade
1182 main() {A a; a.^.z()}'''); 1112 main() {A a; a.^.z()}''');
1183 await computeSuggestions(); 1113 await computeSuggestions();
1184 expect(replacementOffset, completionOffset); 1114 expect(replacementOffset, completionOffset);
1185 expect(replacementLength, 0); 1115 expect(replacementLength, 0);
1186 assertSuggestField('b', null); 1116 assertSuggestField('b', null);
1187 assertSuggestField('_c', 'X'); 1117 assertSuggestField('_c', 'X');
1188 assertNotSuggested('Object'); 1118 assertNotSuggested('Object');
1189 assertNotSuggested('A'); 1119 assertNotSuggested('A');
1190 assertNotSuggested('B'); 1120 assertNotSuggested('B');
1191 assertNotSuggested('X'); 1121 assertNotSuggested('X');
1192 assertNotSuggested('z'); 1122 assertNotSuggested('z');
1193 assertNotSuggested('=='); 1123 assertNotSuggested('==');
1194 } 1124 }
1195 1125
1196 test_CascadeExpression_selector1() async { 1126 test_CascadeExpression_selector1() async {
1197 // PropertyAccess CascadeExpression ExpressionStatement Block 1127 // PropertyAccess CascadeExpression ExpressionStatement Block
1198 addSource( 1128 addSource('/testB.dart', '''
1199 '/testB.dart',
1200 '''
1201 class B { }'''); 1129 class B { }''');
1202 addTestSource(''' 1130 addTestSource('''
1203 import "testB.dart"; 1131 import "testB.dart";
1204 class A {var b; X _c;} 1132 class A {var b; X _c;}
1205 class X{} 1133 class X{}
1206 // looks like a cascade to the parser 1134 // looks like a cascade to the parser
1207 // but the user is trying to get completions for a non-cascade 1135 // but the user is trying to get completions for a non-cascade
1208 main() {A a; a.^.z}'''); 1136 main() {A a; a.^.z}''');
1209 await computeSuggestions(); 1137 await computeSuggestions();
1210 expect(replacementOffset, completionOffset); 1138 expect(replacementOffset, completionOffset);
1211 expect(replacementLength, 0); 1139 expect(replacementLength, 0);
1212 assertSuggestField('b', null); 1140 assertSuggestField('b', null);
1213 assertSuggestField('_c', 'X'); 1141 assertSuggestField('_c', 'X');
1214 assertNotSuggested('Object'); 1142 assertNotSuggested('Object');
1215 assertNotSuggested('A'); 1143 assertNotSuggested('A');
1216 assertNotSuggested('B'); 1144 assertNotSuggested('B');
1217 assertNotSuggested('X'); 1145 assertNotSuggested('X');
1218 assertNotSuggested('z'); 1146 assertNotSuggested('z');
1219 assertNotSuggested('=='); 1147 assertNotSuggested('==');
1220 } 1148 }
1221 1149
1222 test_CascadeExpression_selector2() async { 1150 test_CascadeExpression_selector2() async {
1223 // SimpleIdentifier PropertyAccess CascadeExpression ExpressionStatement 1151 // SimpleIdentifier PropertyAccess CascadeExpression ExpressionStatement
1224 addSource( 1152 addSource('/testB.dart', '''
1225 '/testB.dart',
1226 '''
1227 class B { }'''); 1153 class B { }''');
1228 addTestSource(''' 1154 addTestSource('''
1229 import "testB.dart"; 1155 import "testB.dart";
1230 class A {var b; X _c;} 1156 class A {var b; X _c;}
1231 class X{} 1157 class X{}
1232 main() {A a; a..^z}'''); 1158 main() {A a; a..^z}''');
1233 await computeSuggestions(); 1159 await computeSuggestions();
1234 expect(replacementOffset, completionOffset); 1160 expect(replacementOffset, completionOffset);
1235 expect(replacementLength, 1); 1161 expect(replacementLength, 1);
1236 assertSuggestField('b', null); 1162 assertSuggestField('b', null);
1237 assertSuggestField('_c', 'X'); 1163 assertSuggestField('_c', 'X');
1238 assertNotSuggested('Object'); 1164 assertNotSuggested('Object');
1239 assertNotSuggested('A'); 1165 assertNotSuggested('A');
1240 assertNotSuggested('B'); 1166 assertNotSuggested('B');
1241 assertNotSuggested('X'); 1167 assertNotSuggested('X');
1242 assertNotSuggested('z'); 1168 assertNotSuggested('z');
1243 assertNotSuggested('=='); 1169 assertNotSuggested('==');
1244 } 1170 }
1245 1171
1246 test_CascadeExpression_selector2_withTrailingReturn() async { 1172 test_CascadeExpression_selector2_withTrailingReturn() async {
1247 // PropertyAccess CascadeExpression ExpressionStatement Block 1173 // PropertyAccess CascadeExpression ExpressionStatement Block
1248 addSource( 1174 addSource('/testB.dart', '''
1249 '/testB.dart',
1250 '''
1251 class B { }'''); 1175 class B { }''');
1252 addTestSource(''' 1176 addTestSource('''
1253 import "testB.dart"; 1177 import "testB.dart";
1254 class A {var b; X _c;} 1178 class A {var b; X _c;}
1255 class X{} 1179 class X{}
1256 main() {A a; a..^ return}'''); 1180 main() {A a; a..^ return}''');
1257 await computeSuggestions(); 1181 await computeSuggestions();
1258 expect(replacementOffset, completionOffset); 1182 expect(replacementOffset, completionOffset);
1259 expect(replacementLength, 0); 1183 expect(replacementLength, 0);
1260 assertSuggestField('b', null); 1184 assertSuggestField('b', null);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1329 expect(replacementLength, 0); 1253 expect(replacementLength, 0);
1330 assertNotSuggested('e'); 1254 assertNotSuggested('e');
1331 assertNotSuggested('s'); 1255 assertNotSuggested('s');
1332 assertNotSuggested('a'); 1256 assertNotSuggested('a');
1333 assertNotSuggested('Object'); 1257 assertNotSuggested('Object');
1334 assertNotSuggested('x'); 1258 assertNotSuggested('x');
1335 } 1259 }
1336 1260
1337 test_ClassDeclaration_body() async { 1261 test_ClassDeclaration_body() async {
1338 // ClassDeclaration CompilationUnit 1262 // ClassDeclaration CompilationUnit
1339 addSource( 1263 addSource('/testB.dart', '''
1340 '/testB.dart',
1341 '''
1342 class B { }'''); 1264 class B { }''');
1343 addTestSource(''' 1265 addTestSource('''
1344 import "testB.dart" as x; 1266 import "testB.dart" as x;
1345 @deprecated class A {^} 1267 @deprecated class A {^}
1346 class _B {} 1268 class _B {}
1347 A T;'''); 1269 A T;''');
1348 await computeSuggestions(); 1270 await computeSuggestions();
1349 expect(replacementOffset, completionOffset); 1271 expect(replacementOffset, completionOffset);
1350 expect(replacementLength, 0); 1272 expect(replacementLength, 0);
1351 assertNotSuggested('A'); 1273 assertNotSuggested('A');
1352 assertNotSuggested('_B'); 1274 assertNotSuggested('_B');
1353 assertNotSuggested('Object'); 1275 assertNotSuggested('Object');
1354 assertNotSuggested('T'); 1276 assertNotSuggested('T');
1355 assertNotSuggested('x'); 1277 assertNotSuggested('x');
1356 } 1278 }
1357 1279
1358 test_ClassDeclaration_body_final() async { 1280 test_ClassDeclaration_body_final() async {
1359 // ClassDeclaration CompilationUnit 1281 // ClassDeclaration CompilationUnit
1360 addSource( 1282 addSource('/testB.dart', '''
1361 '/testB.dart',
1362 '''
1363 class B { }'''); 1283 class B { }''');
1364 addTestSource(''' 1284 addTestSource('''
1365 import "testB.dart" as x; 1285 import "testB.dart" as x;
1366 class A {final ^} 1286 class A {final ^}
1367 class _B {} 1287 class _B {}
1368 A T;'''); 1288 A T;''');
1369 await computeSuggestions(); 1289 await computeSuggestions();
1370 expect(replacementOffset, completionOffset); 1290 expect(replacementOffset, completionOffset);
1371 expect(replacementLength, 0); 1291 expect(replacementLength, 0);
1372 assertNotSuggested('A'); 1292 assertNotSuggested('A');
1373 assertNotSuggested('_B'); 1293 assertNotSuggested('_B');
1374 assertNotSuggested('Object'); 1294 assertNotSuggested('Object');
1375 assertNotSuggested('T'); 1295 assertNotSuggested('T');
1376 assertNotSuggested('x'); 1296 assertNotSuggested('x');
1377 } 1297 }
1378 1298
1379 test_ClassDeclaration_body_final_field() async { 1299 test_ClassDeclaration_body_final_field() async {
1380 // ClassDeclaration CompilationUnit 1300 // ClassDeclaration CompilationUnit
1381 addSource( 1301 addSource('/testB.dart', '''
1382 '/testB.dart',
1383 '''
1384 class B { }'''); 1302 class B { }''');
1385 addTestSource(''' 1303 addTestSource('''
1386 import "testB.dart" as x; 1304 import "testB.dart" as x;
1387 class A {final ^ A(){}} 1305 class A {final ^ A(){}}
1388 class _B {} 1306 class _B {}
1389 A T;'''); 1307 A T;''');
1390 await computeSuggestions(); 1308 await computeSuggestions();
1391 expect(replacementOffset, completionOffset); 1309 expect(replacementOffset, completionOffset);
1392 expect(replacementLength, 0); 1310 expect(replacementLength, 0);
1393 assertNotSuggested('A'); 1311 assertNotSuggested('A');
1394 assertNotSuggested('_B'); 1312 assertNotSuggested('_B');
1395 assertNotSuggested('String'); 1313 assertNotSuggested('String');
1396 assertNotSuggested('T'); 1314 assertNotSuggested('T');
1397 assertNotSuggested('x'); 1315 assertNotSuggested('x');
1398 } 1316 }
1399 1317
1400 test_ClassDeclaration_body_final_field2() async { 1318 test_ClassDeclaration_body_final_field2() async {
1401 // ClassDeclaration CompilationUnit 1319 // ClassDeclaration CompilationUnit
1402 addSource( 1320 addSource('/testB.dart', '''
1403 '/testB.dart',
1404 '''
1405 class B { }'''); 1321 class B { }''');
1406 addTestSource(''' 1322 addTestSource('''
1407 import "testB.dart" as Soo; 1323 import "testB.dart" as Soo;
1408 class A {final S^ A();} 1324 class A {final S^ A();}
1409 class _B {} 1325 class _B {}
1410 A Sew;'''); 1326 A Sew;''');
1411 await computeSuggestions(); 1327 await computeSuggestions();
1412 expect(replacementOffset, completionOffset - 1); 1328 expect(replacementOffset, completionOffset - 1);
1413 expect(replacementLength, 1); 1329 expect(replacementLength, 1);
1414 assertNotSuggested('A'); 1330 assertNotSuggested('A');
1415 assertNotSuggested('_B'); 1331 assertNotSuggested('_B');
1416 assertNotSuggested('String'); 1332 assertNotSuggested('String');
1417 assertNotSuggested('Sew'); 1333 assertNotSuggested('Sew');
1418 assertNotSuggested('Soo'); 1334 assertNotSuggested('Soo');
1419 } 1335 }
1420 1336
1421 test_ClassDeclaration_body_final_final() async { 1337 test_ClassDeclaration_body_final_final() async {
1422 // ClassDeclaration CompilationUnit 1338 // ClassDeclaration CompilationUnit
1423 addSource( 1339 addSource('/testB.dart', '''
1424 '/testB.dart',
1425 '''
1426 class B { }'''); 1340 class B { }''');
1427 addTestSource(''' 1341 addTestSource('''
1428 import "testB.dart" as x; 1342 import "testB.dart" as x;
1429 class A {final ^ final foo;} 1343 class A {final ^ final foo;}
1430 class _B {} 1344 class _B {}
1431 A T;'''); 1345 A T;''');
1432 await computeSuggestions(); 1346 await computeSuggestions();
1433 expect(replacementOffset, completionOffset); 1347 expect(replacementOffset, completionOffset);
1434 expect(replacementLength, 0); 1348 expect(replacementLength, 0);
1435 assertNotSuggested('A'); 1349 assertNotSuggested('A');
1436 assertNotSuggested('_B'); 1350 assertNotSuggested('_B');
1437 assertNotSuggested('Object'); 1351 assertNotSuggested('Object');
1438 assertNotSuggested('T'); 1352 assertNotSuggested('T');
1439 assertNotSuggested('x'); 1353 assertNotSuggested('x');
1440 } 1354 }
1441 1355
1442 test_ClassDeclaration_body_final_var() async { 1356 test_ClassDeclaration_body_final_var() async {
1443 // ClassDeclaration CompilationUnit 1357 // ClassDeclaration CompilationUnit
1444 addSource( 1358 addSource('/testB.dart', '''
1445 '/testB.dart',
1446 '''
1447 class B { }'''); 1359 class B { }''');
1448 addTestSource(''' 1360 addTestSource('''
1449 import "testB.dart" as x; 1361 import "testB.dart" as x;
1450 class A {final ^ var foo;} 1362 class A {final ^ var foo;}
1451 class _B {} 1363 class _B {}
1452 A T;'''); 1364 A T;''');
1453 await computeSuggestions(); 1365 await computeSuggestions();
1454 expect(replacementOffset, completionOffset); 1366 expect(replacementOffset, completionOffset);
1455 expect(replacementLength, 0); 1367 expect(replacementLength, 0);
1456 assertNotSuggested('A'); 1368 assertNotSuggested('A');
1457 assertNotSuggested('_B'); 1369 assertNotSuggested('_B');
1458 assertNotSuggested('Object'); 1370 assertNotSuggested('Object');
1459 assertNotSuggested('T'); 1371 assertNotSuggested('T');
1460 assertNotSuggested('x'); 1372 assertNotSuggested('x');
1461 } 1373 }
1462 1374
1463 test_Combinator_hide() async { 1375 test_Combinator_hide() async {
1464 // SimpleIdentifier HideCombinator ImportDirective 1376 // SimpleIdentifier HideCombinator ImportDirective
1465 addSource( 1377 addSource('/testAB.dart', '''
1466 '/testAB.dart',
1467 '''
1468 library libAB; 1378 library libAB;
1469 part '/partAB.dart'; 1379 part '/partAB.dart';
1470 class A { } 1380 class A { }
1471 class B { }'''); 1381 class B { }''');
1472 addSource( 1382 addSource('/partAB.dart', '''
1473 '/partAB.dart',
1474 '''
1475 part of libAB; 1383 part of libAB;
1476 var T1; 1384 var T1;
1477 PB F1() => new PB(); 1385 PB F1() => new PB();
1478 class PB { }'''); 1386 class PB { }''');
1479 addSource( 1387 addSource('/testCD.dart', '''
1480 '/testCD.dart',
1481 '''
1482 class C { } 1388 class C { }
1483 class D { }'''); 1389 class D { }''');
1484 addTestSource(''' 1390 addTestSource('''
1485 import "testAB.dart" hide ^; 1391 import "testAB.dart" hide ^;
1486 import "testCD.dart"; 1392 import "testCD.dart";
1487 class X {}'''); 1393 class X {}''');
1488 await computeSuggestions(); 1394 await computeSuggestions();
1489 assertNoSuggestions(); 1395 assertNoSuggestions();
1490 } 1396 }
1491 1397
1492 test_Combinator_show() async { 1398 test_Combinator_show() async {
1493 // SimpleIdentifier HideCombinator ImportDirective 1399 // SimpleIdentifier HideCombinator ImportDirective
1494 addSource( 1400 addSource('/testAB.dart', '''
1495 '/testAB.dart',
1496 '''
1497 library libAB; 1401 library libAB;
1498 part '/partAB.dart'; 1402 part '/partAB.dart';
1499 class A { } 1403 class A { }
1500 class B { }'''); 1404 class B { }''');
1501 addSource( 1405 addSource('/partAB.dart', '''
1502 '/partAB.dart',
1503 '''
1504 part of libAB; 1406 part of libAB;
1505 var T1; 1407 var T1;
1506 PB F1() => new PB(); 1408 PB F1() => new PB();
1507 typedef PB2 F2(int blat); 1409 typedef PB2 F2(int blat);
1508 class Clz = Object with Object; 1410 class Clz = Object with Object;
1509 class PB { }'''); 1411 class PB { }''');
1510 addSource( 1412 addSource('/testCD.dart', '''
1511 '/testCD.dart',
1512 '''
1513 class C { } 1413 class C { }
1514 class D { }'''); 1414 class D { }''');
1515 addTestSource(''' 1415 addTestSource('''
1516 import "testAB.dart" show ^; 1416 import "testAB.dart" show ^;
1517 import "testCD.dart"; 1417 import "testCD.dart";
1518 class X {}'''); 1418 class X {}''');
1519 await computeSuggestions(); 1419 await computeSuggestions();
1520 assertNoSuggestions(); 1420 assertNoSuggestions();
1521 } 1421 }
1522 1422
1523 test_ConditionalExpression_elseExpression() async { 1423 test_ConditionalExpression_elseExpression() async {
1524 // SimpleIdentifier ConditionalExpression ReturnStatement 1424 // SimpleIdentifier ConditionalExpression ReturnStatement
1525 addSource( 1425 addSource('/testA.dart', '''
1526 '/testA.dart',
1527 '''
1528 int T1; 1426 int T1;
1529 F1() { } 1427 F1() { }
1530 class A {int x;}'''); 1428 class A {int x;}''');
1531 addTestSource(''' 1429 addTestSource('''
1532 import "testA.dart"; 1430 import "testA.dart";
1533 int T2; 1431 int T2;
1534 F2() { } 1432 F2() { }
1535 class B {int x;} 1433 class B {int x;}
1536 class C {foo(){var f; {var x;} return a ? T1 : T^}}'''); 1434 class C {foo(){var f; {var x;} return a ? T1 : T^}}''');
1537 await computeSuggestions(); 1435 await computeSuggestions();
1538 // top level results are partially filtered based on first char 1436 // top level results are partially filtered based on first char
1539 assertNotSuggested('T2'); 1437 assertNotSuggested('T2');
1540 // TODO (danrubel) getter is being suggested instead of top level var 1438 // TODO (danrubel) getter is being suggested instead of top level var
1541 //assertSuggestImportedTopLevelVar('T1', 'int'); 1439 //assertSuggestImportedTopLevelVar('T1', 'int');
1542 } 1440 }
1543 1441
1544 test_ConditionalExpression_elseExpression_empty() async { 1442 test_ConditionalExpression_elseExpression_empty() async {
1545 // SimpleIdentifier ConditionalExpression ReturnStatement 1443 // SimpleIdentifier ConditionalExpression ReturnStatement
1546 addSource( 1444 addSource('/testA.dart', '''
1547 '/testA.dart',
1548 '''
1549 int T1; 1445 int T1;
1550 F1() { } 1446 F1() { }
1551 class A {int x;}'''); 1447 class A {int x;}''');
1552 addTestSource(''' 1448 addTestSource('''
1553 import "testA.dart"; 1449 import "testA.dart";
1554 int T2; 1450 int T2;
1555 F2() { } 1451 F2() { }
1556 class B {int x;} 1452 class B {int x;}
1557 class C {foo(){var f; {var x;} return a ? T1 : ^}}'''); 1453 class C {foo(){var f; {var x;} return a ? T1 : ^}}''');
1558 await computeSuggestions(); 1454 await computeSuggestions();
1559 assertNotSuggested('x'); 1455 assertNotSuggested('x');
1560 assertNotSuggested('f'); 1456 assertNotSuggested('f');
1561 assertNotSuggested('foo'); 1457 assertNotSuggested('foo');
1562 assertNotSuggested('C'); 1458 assertNotSuggested('C');
1563 assertNotSuggested('F2'); 1459 assertNotSuggested('F2');
1564 assertNotSuggested('T2'); 1460 assertNotSuggested('T2');
1565 assertNotSuggested('A'); 1461 assertNotSuggested('A');
1566 assertNotSuggested('F1'); 1462 assertNotSuggested('F1');
1567 // TODO (danrubel) getter is being suggested instead of top level var 1463 // TODO (danrubel) getter is being suggested instead of top level var
1568 //assertSuggestImportedTopLevelVar('T1', 'int'); 1464 //assertSuggestImportedTopLevelVar('T1', 'int');
1569 } 1465 }
1570 1466
1571 test_ConditionalExpression_partial_thenExpression() async { 1467 test_ConditionalExpression_partial_thenExpression() async {
1572 // SimpleIdentifier ConditionalExpression ReturnStatement 1468 // SimpleIdentifier ConditionalExpression ReturnStatement
1573 addSource( 1469 addSource('/testA.dart', '''
1574 '/testA.dart',
1575 '''
1576 int T1; 1470 int T1;
1577 F1() { } 1471 F1() { }
1578 class A {int x;}'''); 1472 class A {int x;}''');
1579 addTestSource(''' 1473 addTestSource('''
1580 import "testA.dart"; 1474 import "testA.dart";
1581 int T2; 1475 int T2;
1582 F2() { } 1476 F2() { }
1583 class B {int x;} 1477 class B {int x;}
1584 class C {foo(){var f; {var x;} return a ? T^}}'''); 1478 class C {foo(){var f; {var x;} return a ? T^}}''');
1585 await computeSuggestions(); 1479 await computeSuggestions();
1586 // top level results are partially filtered based on first char 1480 // top level results are partially filtered based on first char
1587 assertNotSuggested('T2'); 1481 assertNotSuggested('T2');
1588 // TODO (danrubel) getter is being suggested instead of top level var 1482 // TODO (danrubel) getter is being suggested instead of top level var
1589 //assertSuggestImportedTopLevelVar('T1', 'int'); 1483 //assertSuggestImportedTopLevelVar('T1', 'int');
1590 } 1484 }
1591 1485
1592 test_ConditionalExpression_partial_thenExpression_empty() async { 1486 test_ConditionalExpression_partial_thenExpression_empty() async {
1593 // SimpleIdentifier ConditionalExpression ReturnStatement 1487 // SimpleIdentifier ConditionalExpression ReturnStatement
1594 addSource( 1488 addSource('/testA.dart', '''
1595 '/testA.dart',
1596 '''
1597 int T1; 1489 int T1;
1598 F1() { } 1490 F1() { }
1599 class A {int x;}'''); 1491 class A {int x;}''');
1600 addTestSource(''' 1492 addTestSource('''
1601 import "testA.dart"; 1493 import "testA.dart";
1602 int T2; 1494 int T2;
1603 F2() { } 1495 F2() { }
1604 class B {int x;} 1496 class B {int x;}
1605 class C {foo(){var f; {var x;} return a ? ^}}'''); 1497 class C {foo(){var f; {var x;} return a ? ^}}''');
1606 await computeSuggestions(); 1498 await computeSuggestions();
1607 assertNotSuggested('x'); 1499 assertNotSuggested('x');
1608 assertNotSuggested('f'); 1500 assertNotSuggested('f');
1609 assertNotSuggested('foo'); 1501 assertNotSuggested('foo');
1610 assertNotSuggested('C'); 1502 assertNotSuggested('C');
1611 assertNotSuggested('F2'); 1503 assertNotSuggested('F2');
1612 assertNotSuggested('T2'); 1504 assertNotSuggested('T2');
1613 assertNotSuggested('A'); 1505 assertNotSuggested('A');
1614 assertNotSuggested('F1'); 1506 assertNotSuggested('F1');
1615 // TODO (danrubel) getter is being suggested instead of top level var 1507 // TODO (danrubel) getter is being suggested instead of top level var
1616 //assertSuggestImportedTopLevelVar('T1', 'int'); 1508 //assertSuggestImportedTopLevelVar('T1', 'int');
1617 } 1509 }
1618 1510
1619 test_ConditionalExpression_thenExpression() async { 1511 test_ConditionalExpression_thenExpression() async {
1620 // SimpleIdentifier ConditionalExpression ReturnStatement 1512 // SimpleIdentifier ConditionalExpression ReturnStatement
1621 addSource( 1513 addSource('/testA.dart', '''
1622 '/testA.dart',
1623 '''
1624 int T1; 1514 int T1;
1625 F1() { } 1515 F1() { }
1626 class A {int x;}'''); 1516 class A {int x;}''');
1627 addTestSource(''' 1517 addTestSource('''
1628 import "testA.dart"; 1518 import "testA.dart";
1629 int T2; 1519 int T2;
1630 F2() { } 1520 F2() { }
1631 class B {int x;} 1521 class B {int x;}
1632 class C {foo(){var f; {var x;} return a ? T^ : c}}'''); 1522 class C {foo(){var f; {var x;} return a ? T^ : c}}''');
1633 await computeSuggestions(); 1523 await computeSuggestions();
1634 // top level results are partially filtered based on first char 1524 // top level results are partially filtered based on first char
1635 assertNotSuggested('T2'); 1525 assertNotSuggested('T2');
1636 // TODO (danrubel) getter is being suggested instead of top level var 1526 // TODO (danrubel) getter is being suggested instead of top level var
1637 //assertSuggestImportedTopLevelVar('T1', 'int'); 1527 //assertSuggestImportedTopLevelVar('T1', 'int');
1638 } 1528 }
1639 1529
1640 test_ConstructorName_importedClass() async { 1530 test_ConstructorName_importedClass() async {
1641 // SimpleIdentifier PrefixedIdentifier TypeName ConstructorName 1531 // SimpleIdentifier PrefixedIdentifier TypeName ConstructorName
1642 // InstanceCreationExpression 1532 // InstanceCreationExpression
1643 addSource( 1533 addSource('/testB.dart', '''
1644 '/testB.dart',
1645 '''
1646 lib B; 1534 lib B;
1647 int T1; 1535 int T1;
1648 F1() { } 1536 F1() { }
1649 class X {X.c(); X._d(); z() {}}'''); 1537 class X {X.c(); X._d(); z() {}}''');
1650 addTestSource(''' 1538 addTestSource('''
1651 import "testB.dart"; 1539 import "testB.dart";
1652 var m; 1540 var m;
1653 main() {new X.^}'''); 1541 main() {new X.^}''');
1654 await computeSuggestions(); 1542 await computeSuggestions();
1655 expect(replacementOffset, completionOffset); 1543 expect(replacementOffset, completionOffset);
1656 expect(replacementLength, 0); 1544 expect(replacementLength, 0);
1657 // Suggested by NamedConstructorContributor 1545 // Suggested by NamedConstructorContributor
1658 assertNotSuggested('c'); 1546 assertNotSuggested('c');
1659 assertNotSuggested('F1'); 1547 assertNotSuggested('F1');
1660 assertNotSuggested('T1'); 1548 assertNotSuggested('T1');
1661 assertNotSuggested('_d'); 1549 assertNotSuggested('_d');
1662 assertNotSuggested('z'); 1550 assertNotSuggested('z');
1663 assertNotSuggested('m'); 1551 assertNotSuggested('m');
1664 } 1552 }
1665 1553
1666 test_ConstructorName_importedFactory() async { 1554 test_ConstructorName_importedFactory() async {
1667 // SimpleIdentifier PrefixedIdentifier TypeName ConstructorName 1555 // SimpleIdentifier PrefixedIdentifier TypeName ConstructorName
1668 // InstanceCreationExpression 1556 // InstanceCreationExpression
1669 addSource( 1557 addSource('/testB.dart', '''
1670 '/testB.dart',
1671 '''
1672 lib B; 1558 lib B;
1673 int T1; 1559 int T1;
1674 F1() { } 1560 F1() { }
1675 class X {factory X.c(); factory X._d(); z() {}}'''); 1561 class X {factory X.c(); factory X._d(); z() {}}''');
1676 addTestSource(''' 1562 addTestSource('''
1677 import "testB.dart"; 1563 import "testB.dart";
1678 var m; 1564 var m;
1679 main() {new X.^}'''); 1565 main() {new X.^}''');
1680 await computeSuggestions(); 1566 await computeSuggestions();
1681 expect(replacementOffset, completionOffset); 1567 expect(replacementOffset, completionOffset);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1821 await computeSuggestions(); 1707 await computeSuggestions();
1822 assertNotSuggested('E'); 1708 assertNotSuggested('E');
1823 assertNotSuggested('one'); 1709 assertNotSuggested('one');
1824 assertNotSuggested('two'); 1710 assertNotSuggested('two');
1825 assertSuggestField('index', 'int'); 1711 assertSuggestField('index', 'int');
1826 assertNotSuggested('values'); 1712 assertNotSuggested('values');
1827 } 1713 }
1828 1714
1829 test_ExpressionStatement_identifier() async { 1715 test_ExpressionStatement_identifier() async {
1830 // SimpleIdentifier ExpressionStatement Block 1716 // SimpleIdentifier ExpressionStatement Block
1831 addSource( 1717 addSource('/testA.dart', '''
1832 '/testA.dart',
1833 '''
1834 _B F1() { } 1718 _B F1() { }
1835 class A {int x;} 1719 class A {int x;}
1836 class _B { }'''); 1720 class _B { }''');
1837 addTestSource(''' 1721 addTestSource('''
1838 import "testA.dart"; 1722 import "testA.dart";
1839 typedef int F2(int blat); 1723 typedef int F2(int blat);
1840 class Clz = Object with Object; 1724 class Clz = Object with Object;
1841 class C {foo(){^} void bar() {}}'''); 1725 class C {foo(){^} void bar() {}}''');
1842 await computeSuggestions(); 1726 await computeSuggestions();
1843 expect(replacementOffset, completionOffset); 1727 expect(replacementOffset, completionOffset);
1844 expect(replacementLength, 0); 1728 expect(replacementLength, 0);
1845 assertNotSuggested('A'); 1729 assertNotSuggested('A');
1846 assertNotSuggested('F1'); 1730 assertNotSuggested('F1');
1847 assertNotSuggested('C'); 1731 assertNotSuggested('C');
1848 assertNotSuggested('foo'); 1732 assertNotSuggested('foo');
1849 assertNotSuggested('bar'); 1733 assertNotSuggested('bar');
1850 assertNotSuggested('F2'); 1734 assertNotSuggested('F2');
1851 assertNotSuggested('Clz'); 1735 assertNotSuggested('Clz');
1852 assertNotSuggested('C'); 1736 assertNotSuggested('C');
1853 assertNotSuggested('x'); 1737 assertNotSuggested('x');
1854 assertNotSuggested('_B'); 1738 assertNotSuggested('_B');
1855 } 1739 }
1856 1740
1857 test_ExpressionStatement_name() async { 1741 test_ExpressionStatement_name() async {
1858 // ExpressionStatement Block BlockFunctionBody MethodDeclaration 1742 // ExpressionStatement Block BlockFunctionBody MethodDeclaration
1859 addSource( 1743 addSource('/testA.dart', '''
1860 '/testA.dart',
1861 '''
1862 B T1; 1744 B T1;
1863 class B{}'''); 1745 class B{}''');
1864 addTestSource(''' 1746 addTestSource('''
1865 import "testA.dart"; 1747 import "testA.dart";
1866 class C {a() {C ^}}'''); 1748 class C {a() {C ^}}''');
1867 await computeSuggestions(); 1749 await computeSuggestions();
1868 assertNoSuggestions(); 1750 assertNoSuggestions();
1869 } 1751 }
1870 1752
1871 test_FieldDeclaration_name_typed() async { 1753 test_FieldDeclaration_name_typed() async {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
2027 await computeSuggestions(); 1909 await computeSuggestions();
2028 expect(replacementOffset, completionOffset - 1); 1910 expect(replacementOffset, completionOffset - 1);
2029 expect(replacementLength, 1); 1911 expect(replacementLength, 1);
2030 assertNotSuggested('index'); 1912 assertNotSuggested('index');
2031 assertNotSuggested('main'); 1913 assertNotSuggested('main');
2032 assertNotSuggested('bar'); 1914 assertNotSuggested('bar');
2033 } 1915 }
2034 1916
2035 test_FunctionDeclaration_returnType_afterComment() async { 1917 test_FunctionDeclaration_returnType_afterComment() async {
2036 // ClassDeclaration CompilationUnit 1918 // ClassDeclaration CompilationUnit
2037 addSource( 1919 addSource('/testA.dart', '''
2038 '/testA.dart',
2039 '''
2040 int T1; 1920 int T1;
2041 F1() { } 1921 F1() { }
2042 typedef D1(); 1922 typedef D1();
2043 class C1 {C1(this.x) { } int x;}'''); 1923 class C1 {C1(this.x) { } int x;}''');
2044 addTestSource(''' 1924 addTestSource('''
2045 import "testA.dart"; 1925 import "testA.dart";
2046 int T2; 1926 int T2;
2047 F2() { } 1927 F2() { }
2048 typedef D2(); 1928 typedef D2();
2049 class C2 { } 1929 class C2 { }
2050 /* */ ^ zoo(z) { } String name;'''); 1930 /* */ ^ zoo(z) { } String name;''');
2051 await computeSuggestions(); 1931 await computeSuggestions();
2052 expect(replacementOffset, completionOffset); 1932 expect(replacementOffset, completionOffset);
2053 expect(replacementLength, 0); 1933 expect(replacementLength, 0);
2054 assertNotSuggested('Object'); 1934 assertNotSuggested('Object');
2055 assertNotSuggested('T1'); 1935 assertNotSuggested('T1');
2056 assertNotSuggested('F1'); 1936 assertNotSuggested('F1');
2057 assertNotSuggested('D1'); 1937 assertNotSuggested('D1');
2058 assertNotSuggested('C1'); 1938 assertNotSuggested('C1');
2059 assertNotSuggested('T2'); 1939 assertNotSuggested('T2');
2060 assertNotSuggested('F2'); 1940 assertNotSuggested('F2');
2061 assertNotSuggested('D2'); 1941 assertNotSuggested('D2');
2062 assertNotSuggested('C2'); 1942 assertNotSuggested('C2');
2063 assertNotSuggested('name'); 1943 assertNotSuggested('name');
2064 } 1944 }
2065 1945
2066 test_FunctionDeclaration_returnType_afterComment2() async { 1946 test_FunctionDeclaration_returnType_afterComment2() async {
2067 // FunctionDeclaration ClassDeclaration CompilationUnit 1947 // FunctionDeclaration ClassDeclaration CompilationUnit
2068 addSource( 1948 addSource('/testA.dart', '''
2069 '/testA.dart',
2070 '''
2071 int T1; 1949 int T1;
2072 F1() { } 1950 F1() { }
2073 typedef D1(); 1951 typedef D1();
2074 class C1 {C1(this.x) { } int x;}'''); 1952 class C1 {C1(this.x) { } int x;}''');
2075 addTestSource(''' 1953 addTestSource('''
2076 import "testA.dart"; 1954 import "testA.dart";
2077 int T2; 1955 int T2;
2078 F2() { } 1956 F2() { }
2079 typedef D2(); 1957 typedef D2();
2080 class C2 { } 1958 class C2 { }
2081 /** */ ^ zoo(z) { } String name;'''); 1959 /** */ ^ zoo(z) { } String name;''');
2082 await computeSuggestions(); 1960 await computeSuggestions();
2083 expect(replacementOffset, completionOffset); 1961 expect(replacementOffset, completionOffset);
2084 expect(replacementLength, 0); 1962 expect(replacementLength, 0);
2085 assertNotSuggested('Object'); 1963 assertNotSuggested('Object');
2086 assertNotSuggested('T1'); 1964 assertNotSuggested('T1');
2087 assertNotSuggested('F1'); 1965 assertNotSuggested('F1');
2088 assertNotSuggested('D1'); 1966 assertNotSuggested('D1');
2089 assertNotSuggested('C1'); 1967 assertNotSuggested('C1');
2090 assertNotSuggested('T2'); 1968 assertNotSuggested('T2');
2091 assertNotSuggested('F2'); 1969 assertNotSuggested('F2');
2092 assertNotSuggested('D2'); 1970 assertNotSuggested('D2');
2093 assertNotSuggested('C2'); 1971 assertNotSuggested('C2');
2094 assertNotSuggested('name'); 1972 assertNotSuggested('name');
2095 } 1973 }
2096 1974
2097 test_FunctionDeclaration_returnType_afterComment3() async { 1975 test_FunctionDeclaration_returnType_afterComment3() async {
2098 // FunctionDeclaration ClassDeclaration CompilationUnit 1976 // FunctionDeclaration ClassDeclaration CompilationUnit
2099 addSource( 1977 addSource('/testA.dart', '''
2100 '/testA.dart',
2101 '''
2102 int T1; 1978 int T1;
2103 F1() { } 1979 F1() { }
2104 typedef D1(); 1980 typedef D1();
2105 class C1 {C1(this.x) { } int x;}'''); 1981 class C1 {C1(this.x) { } int x;}''');
2106 addTestSource(''' 1982 addTestSource('''
2107 import "testA.dart"; 1983 import "testA.dart";
2108 int T2; 1984 int T2;
2109 F2() { } 1985 F2() { }
2110 typedef D2(); 1986 typedef D2();
2111 /// some dartdoc 1987 /// some dartdoc
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
2260 // SimpleStringLiteral ImportDirective 2136 // SimpleStringLiteral ImportDirective
2261 addTestSource(''' 2137 addTestSource('''
2262 import "dart^"; 2138 import "dart^";
2263 main() {}'''); 2139 main() {}''');
2264 await computeSuggestions(); 2140 await computeSuggestions();
2265 assertNoSuggestions(); 2141 assertNoSuggestions();
2266 } 2142 }
2267 2143
2268 test_IndexExpression() async { 2144 test_IndexExpression() async {
2269 // ExpressionStatement Block 2145 // ExpressionStatement Block
2270 addSource( 2146 addSource('/testA.dart', '''
2271 '/testA.dart',
2272 '''
2273 int T1; 2147 int T1;
2274 F1() { } 2148 F1() { }
2275 class A {int x;}'''); 2149 class A {int x;}''');
2276 addTestSource(''' 2150 addTestSource('''
2277 import "testA.dart"; 2151 import "testA.dart";
2278 int T2; 2152 int T2;
2279 F2() { } 2153 F2() { }
2280 class B {int x;} 2154 class B {int x;}
2281 class C {foo(){var f; {var x;} f[^]}}'''); 2155 class C {foo(){var f; {var x;} f[^]}}''');
2282 await computeSuggestions(); 2156 await computeSuggestions();
2283 assertNotSuggested('x'); 2157 assertNotSuggested('x');
2284 assertNotSuggested('f'); 2158 assertNotSuggested('f');
2285 assertNotSuggested('foo'); 2159 assertNotSuggested('foo');
2286 assertNotSuggested('C'); 2160 assertNotSuggested('C');
2287 assertNotSuggested('F2'); 2161 assertNotSuggested('F2');
2288 assertNotSuggested('T2'); 2162 assertNotSuggested('T2');
2289 assertNotSuggested('A'); 2163 assertNotSuggested('A');
2290 assertNotSuggested('F1'); 2164 assertNotSuggested('F1');
2291 // TODO (danrubel) getter is being suggested instead of top level var 2165 // TODO (danrubel) getter is being suggested instead of top level var
2292 //assertSuggestImportedTopLevelVar('T1', 'int'); 2166 //assertSuggestImportedTopLevelVar('T1', 'int');
2293 } 2167 }
2294 2168
2295 test_IndexExpression2() async { 2169 test_IndexExpression2() async {
2296 // SimpleIdentifier IndexExpression ExpressionStatement Block 2170 // SimpleIdentifier IndexExpression ExpressionStatement Block
2297 addSource( 2171 addSource('/testA.dart', '''
2298 '/testA.dart',
2299 '''
2300 int T1; 2172 int T1;
2301 F1() { } 2173 F1() { }
2302 class A {int x;}'''); 2174 class A {int x;}''');
2303 addTestSource(''' 2175 addTestSource('''
2304 import "testA.dart"; 2176 import "testA.dart";
2305 int T2; 2177 int T2;
2306 F2() { } 2178 F2() { }
2307 class B {int x;} 2179 class B {int x;}
2308 class C {foo(){var f; {var x;} f[T^]}}'''); 2180 class C {foo(){var f; {var x;} f[T^]}}''');
2309 await computeSuggestions(); 2181 await computeSuggestions();
2310 // top level results are partially filtered based on first char 2182 // top level results are partially filtered based on first char
2311 assertNotSuggested('T2'); 2183 assertNotSuggested('T2');
2312 // TODO (danrubel) getter is being suggested instead of top level var 2184 // TODO (danrubel) getter is being suggested instead of top level var
2313 //assertSuggestImportedTopLevelVar('T1', 'int'); 2185 //assertSuggestImportedTopLevelVar('T1', 'int');
2314 } 2186 }
2315 2187
2316 test_InstanceCreationExpression_imported() async { 2188 test_InstanceCreationExpression_imported() async {
2317 // SimpleIdentifier TypeName ConstructorName InstanceCreationExpression 2189 // SimpleIdentifier TypeName ConstructorName InstanceCreationExpression
2318 addSource( 2190 addSource('/testA.dart', '''
2319 '/testA.dart',
2320 '''
2321 int T1; 2191 int T1;
2322 F1() { } 2192 F1() { }
2323 class A {A(this.x) { } int x;}'''); 2193 class A {A(this.x) { } int x;}''');
2324 addTestSource(''' 2194 addTestSource('''
2325 import "testA.dart"; 2195 import "testA.dart";
2326 import "dart:async"; 2196 import "dart:async";
2327 int T2; 2197 int T2;
2328 F2() { } 2198 F2() { }
2329 class B {B(this.x, [String boo]) { } int x;} 2199 class B {B(this.x, [String boo]) { } int x;}
2330 class C {foo(){var f; {var x;} new ^}}'''); 2200 class C {foo(){var f; {var x;} new ^}}''');
(...skipping 20 matching lines...) Expand all
2351 addTestSource('class C {foo(){new F^}}'); 2221 addTestSource('class C {foo(){new F^}}');
2352 await computeSuggestions(); 2222 await computeSuggestions();
2353 expect(replacementOffset, completionOffset - 1); 2223 expect(replacementOffset, completionOffset - 1);
2354 expect(replacementLength, 1); 2224 expect(replacementLength, 1);
2355 assertNotSuggested('Future'); 2225 assertNotSuggested('Future');
2356 assertNotSuggested('Foo'); 2226 assertNotSuggested('Foo');
2357 } 2227 }
2358 2228
2359 test_InterpolationExpression() async { 2229 test_InterpolationExpression() async {
2360 // SimpleIdentifier InterpolationExpression StringInterpolation 2230 // SimpleIdentifier InterpolationExpression StringInterpolation
2361 addSource( 2231 addSource('/testA.dart', '''
2362 '/testA.dart',
2363 '''
2364 int T1; 2232 int T1;
2365 F1() { } 2233 F1() { }
2366 typedef D1(); 2234 typedef D1();
2367 class C1 {C1(this.x) { } int x;}'''); 2235 class C1 {C1(this.x) { } int x;}''');
2368 addTestSource(''' 2236 addTestSource('''
2369 import "testA.dart"; 2237 import "testA.dart";
2370 int T2; 2238 int T2;
2371 F2() { } 2239 F2() { }
2372 typedef D2(); 2240 typedef D2();
2373 class C2 { } 2241 class C2 { }
2374 main() {String name; print("hello \$^");}'''); 2242 main() {String name; print("hello \$^");}''');
2375 await computeSuggestions(); 2243 await computeSuggestions();
2376 expect(replacementOffset, completionOffset); 2244 expect(replacementOffset, completionOffset);
2377 expect(replacementLength, 0); 2245 expect(replacementLength, 0);
2378 assertNotSuggested('Object'); 2246 assertNotSuggested('Object');
2379 // TODO(danrubel) should return top level var rather than getter 2247 // TODO(danrubel) should return top level var rather than getter
2380 assertNotSuggested('F1'); 2248 assertNotSuggested('F1');
2381 assertNotSuggested('D1'); 2249 assertNotSuggested('D1');
2382 assertNotSuggested('C1'); 2250 assertNotSuggested('C1');
2383 assertNotSuggested('T2'); 2251 assertNotSuggested('T2');
2384 assertNotSuggested('F2'); 2252 assertNotSuggested('F2');
2385 assertNotSuggested('D2'); 2253 assertNotSuggested('D2');
2386 assertNotSuggested('C2'); 2254 assertNotSuggested('C2');
2387 assertNotSuggested('name'); 2255 assertNotSuggested('name');
2388 } 2256 }
2389 2257
2390 test_InterpolationExpression_block() async { 2258 test_InterpolationExpression_block() async {
2391 // SimpleIdentifier InterpolationExpression StringInterpolation 2259 // SimpleIdentifier InterpolationExpression StringInterpolation
2392 addSource( 2260 addSource('/testA.dart', '''
2393 '/testA.dart',
2394 '''
2395 int T1; 2261 int T1;
2396 F1() { } 2262 F1() { }
2397 typedef D1(); 2263 typedef D1();
2398 class C1 {C1(this.x) { } int x;}'''); 2264 class C1 {C1(this.x) { } int x;}''');
2399 addTestSource(''' 2265 addTestSource('''
2400 import "testA.dart"; 2266 import "testA.dart";
2401 int T2; 2267 int T2;
2402 F2() { } 2268 F2() { }
2403 typedef D2(); 2269 typedef D2();
2404 class C2 { } 2270 class C2 { }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
2450 addTestSource('main() {String name; print("hello \${nam^e.length}");}'); 2316 addTestSource('main() {String name; print("hello \${nam^e.length}");}');
2451 await computeSuggestions(); 2317 await computeSuggestions();
2452 assertNotSuggested('name'); 2318 assertNotSuggested('name');
2453 // top level results are partially filtered 2319 // top level results are partially filtered
2454 //assertNotSuggested('Object'); 2320 //assertNotSuggested('Object');
2455 assertNotSuggested('length'); 2321 assertNotSuggested('length');
2456 } 2322 }
2457 2323
2458 test_IsExpression() async { 2324 test_IsExpression() async {
2459 // SimpleIdentifier TypeName IsExpression IfStatement 2325 // SimpleIdentifier TypeName IsExpression IfStatement
2460 addSource( 2326 addSource('/testB.dart', '''
2461 '/testB.dart',
2462 '''
2463 lib B; 2327 lib B;
2464 foo() { } 2328 foo() { }
2465 class X {X.c(); X._d(); z() {}}'''); 2329 class X {X.c(); X._d(); z() {}}''');
2466 addTestSource(''' 2330 addTestSource('''
2467 import "testB.dart"; 2331 import "testB.dart";
2468 class Y {Y.c(); Y._d(); z() {}} 2332 class Y {Y.c(); Y._d(); z() {}}
2469 main() {var x; if (x is ^) { }}'''); 2333 main() {var x; if (x is ^) { }}''');
2470 await computeSuggestions(); 2334 await computeSuggestions();
2471 expect(replacementOffset, completionOffset); 2335 expect(replacementOffset, completionOffset);
2472 expect(replacementLength, 0); 2336 expect(replacementLength, 0);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2524 } 2388 }
2525 2389
2526 test_keyword() async { 2390 test_keyword() async {
2527 addTestSource('class C { static C get instance => null; } main() {C.in^}'); 2391 addTestSource('class C { static C get instance => null; } main() {C.in^}');
2528 await computeSuggestions(); 2392 await computeSuggestions();
2529 // Suggested by StaticMemberContributor 2393 // Suggested by StaticMemberContributor
2530 assertNotSuggested('instance'); 2394 assertNotSuggested('instance');
2531 } 2395 }
2532 2396
2533 test_keyword2() async { 2397 test_keyword2() async {
2534 addSource( 2398 addSource('/testB.dart', '''
2535 '/testB.dart',
2536 '''
2537 lib B; 2399 lib B;
2538 int newT1; 2400 int newT1;
2539 int T1; 2401 int T1;
2540 nowIsIt() { } 2402 nowIsIt() { }
2541 class X {factory X.c(); factory X._d(); z() {}}'''); 2403 class X {factory X.c(); factory X._d(); z() {}}''');
2542 addTestSource(''' 2404 addTestSource('''
2543 import "testB.dart"; 2405 import "testB.dart";
2544 String newer() {} 2406 String newer() {}
2545 var m; 2407 var m;
2546 main() {new^ X.c();}'''); 2408 main() {new^ X.c();}''');
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
2645 2507
2646 test_localVariableDeclarationName() async { 2508 test_localVariableDeclarationName() async {
2647 addTestSource('main() {String m^}'); 2509 addTestSource('main() {String m^}');
2648 await computeSuggestions(); 2510 await computeSuggestions();
2649 assertNotSuggested('main'); 2511 assertNotSuggested('main');
2650 assertNotSuggested('min'); 2512 assertNotSuggested('min');
2651 } 2513 }
2652 2514
2653 test_MapLiteralEntry() async { 2515 test_MapLiteralEntry() async {
2654 // MapLiteralEntry MapLiteral VariableDeclaration 2516 // MapLiteralEntry MapLiteral VariableDeclaration
2655 addSource( 2517 addSource('/testA.dart', '''
2656 '/testA.dart',
2657 '''
2658 int T1; 2518 int T1;
2659 F1() { } 2519 F1() { }
2660 typedef D1(); 2520 typedef D1();
2661 class C1 {C1(this.x) { } int x;}'''); 2521 class C1 {C1(this.x) { } int x;}''');
2662 addTestSource(''' 2522 addTestSource('''
2663 import "testA.dart"; 2523 import "testA.dart";
2664 int T2; 2524 int T2;
2665 F2() { } 2525 F2() { }
2666 typedef D2(); 2526 typedef D2();
2667 class C2 { } 2527 class C2 { }
2668 foo = {^'''); 2528 foo = {^''');
2669 await computeSuggestions(); 2529 await computeSuggestions();
2670 expect(replacementOffset, completionOffset); 2530 expect(replacementOffset, completionOffset);
2671 expect(replacementLength, 0); 2531 expect(replacementLength, 0);
2672 assertNotSuggested('Object'); 2532 assertNotSuggested('Object');
2673 assertNotSuggested('F1'); 2533 assertNotSuggested('F1');
2674 assertNotSuggested('D1'); 2534 assertNotSuggested('D1');
2675 assertNotSuggested('C1'); 2535 assertNotSuggested('C1');
2676 assertNotSuggested('T2'); 2536 assertNotSuggested('T2');
2677 assertNotSuggested('F2'); 2537 assertNotSuggested('F2');
2678 assertNotSuggested('D2'); 2538 assertNotSuggested('D2');
2679 assertNotSuggested('C2'); 2539 assertNotSuggested('C2');
2680 } 2540 }
2681 2541
2682 test_MapLiteralEntry1() async { 2542 test_MapLiteralEntry1() async {
2683 // MapLiteralEntry MapLiteral VariableDeclaration 2543 // MapLiteralEntry MapLiteral VariableDeclaration
2684 addSource( 2544 addSource('/testA.dart', '''
2685 '/testA.dart',
2686 '''
2687 int T1; 2545 int T1;
2688 F1() { } 2546 F1() { }
2689 typedef D1(); 2547 typedef D1();
2690 class C1 {C1(this.x) { } int x;}'''); 2548 class C1 {C1(this.x) { } int x;}''');
2691 addTestSource(''' 2549 addTestSource('''
2692 import "testA.dart"; 2550 import "testA.dart";
2693 int T2; 2551 int T2;
2694 F2() { } 2552 F2() { }
2695 typedef D2(); 2553 typedef D2();
2696 class C2 { } 2554 class C2 { }
2697 foo = {T^'''); 2555 foo = {T^''');
2698 await computeSuggestions(); 2556 await computeSuggestions();
2699 expect(replacementOffset, completionOffset - 1); 2557 expect(replacementOffset, completionOffset - 1);
2700 expect(replacementLength, 1); 2558 expect(replacementLength, 1);
2701 assertNotSuggested('T2'); 2559 assertNotSuggested('T2');
2702 } 2560 }
2703 2561
2704 test_MapLiteralEntry2() async { 2562 test_MapLiteralEntry2() async {
2705 // SimpleIdentifier MapLiteralEntry MapLiteral VariableDeclaration 2563 // SimpleIdentifier MapLiteralEntry MapLiteral VariableDeclaration
2706 addSource( 2564 addSource('/testA.dart', '''
2707 '/testA.dart',
2708 '''
2709 int T1; 2565 int T1;
2710 F1() { } 2566 F1() { }
2711 typedef D1(); 2567 typedef D1();
2712 class C1 {C1(this.x) { } int x;}'''); 2568 class C1 {C1(this.x) { } int x;}''');
2713 addTestSource(''' 2569 addTestSource('''
2714 import "testA.dart"; 2570 import "testA.dart";
2715 int T2; 2571 int T2;
2716 F2() { } 2572 F2() { }
2717 typedef D2(); 2573 typedef D2();
2718 class C2 { } 2574 class C2 { }
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
2828 await computeSuggestions(); 2684 await computeSuggestions();
2829 expect(replacementOffset, completionOffset); 2685 expect(replacementOffset, completionOffset);
2830 expect(replacementLength, 0); 2686 expect(replacementLength, 0);
2831 assertNotSuggested('a'); 2687 assertNotSuggested('a');
2832 assertNotSuggested('f'); 2688 assertNotSuggested('f');
2833 assertNotSuggested('_g'); 2689 assertNotSuggested('_g');
2834 } 2690 }
2835 2691
2836 test_MethodDeclaration_body_static() async { 2692 test_MethodDeclaration_body_static() async {
2837 // Block BlockFunctionBody MethodDeclaration 2693 // Block BlockFunctionBody MethodDeclaration
2838 addSource( 2694 addSource('/testC.dart', '''
2839 '/testC.dart',
2840 '''
2841 class C { 2695 class C {
2842 c1() {} 2696 c1() {}
2843 var c2; 2697 var c2;
2844 static c3() {} 2698 static c3() {}
2845 static var c4;}'''); 2699 static var c4;}''');
2846 addTestSource(''' 2700 addTestSource('''
2847 import "testC.dart"; 2701 import "testC.dart";
2848 class B extends C { 2702 class B extends C {
2849 b1() {} 2703 b1() {}
2850 var b2; 2704 var b2;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2909 assertNotSuggested('foo'); 2763 assertNotSuggested('foo');
2910 assertNotSuggested('bar'); 2764 assertNotSuggested('bar');
2911 assertNotSuggested('a'); 2765 assertNotSuggested('a');
2912 assertNotSuggested('x'); 2766 assertNotSuggested('x');
2913 assertNotSuggested('y'); 2767 assertNotSuggested('y');
2914 assertNotSuggested('String'); 2768 assertNotSuggested('String');
2915 } 2769 }
2916 2770
2917 test_MethodDeclaration_returnType() async { 2771 test_MethodDeclaration_returnType() async {
2918 // ClassDeclaration CompilationUnit 2772 // ClassDeclaration CompilationUnit
2919 addSource( 2773 addSource('/testA.dart', '''
2920 '/testA.dart',
2921 '''
2922 int T1; 2774 int T1;
2923 F1() { } 2775 F1() { }
2924 typedef D1(); 2776 typedef D1();
2925 class C1 {C1(this.x) { } int x;}'''); 2777 class C1 {C1(this.x) { } int x;}''');
2926 addTestSource(''' 2778 addTestSource('''
2927 import "testA.dart"; 2779 import "testA.dart";
2928 int T2; 2780 int T2;
2929 F2() { } 2781 F2() { }
2930 typedef D2(); 2782 typedef D2();
2931 class C2 {^ zoo(z) { } String name; }'''); 2783 class C2 {^ zoo(z) { } String name; }''');
2932 await computeSuggestions(); 2784 await computeSuggestions();
2933 expect(replacementOffset, completionOffset); 2785 expect(replacementOffset, completionOffset);
2934 expect(replacementLength, 0); 2786 expect(replacementLength, 0);
2935 assertNotSuggested('Object'); 2787 assertNotSuggested('Object');
2936 assertNotSuggested('T1'); 2788 assertNotSuggested('T1');
2937 assertNotSuggested('F1'); 2789 assertNotSuggested('F1');
2938 assertNotSuggested('D1'); 2790 assertNotSuggested('D1');
2939 assertNotSuggested('C1'); 2791 assertNotSuggested('C1');
2940 assertNotSuggested('T2'); 2792 assertNotSuggested('T2');
2941 assertNotSuggested('F2'); 2793 assertNotSuggested('F2');
2942 assertNotSuggested('D2'); 2794 assertNotSuggested('D2');
2943 assertNotSuggested('C2'); 2795 assertNotSuggested('C2');
2944 assertNotSuggested('name'); 2796 assertNotSuggested('name');
2945 } 2797 }
2946 2798
2947 test_MethodDeclaration_returnType_afterComment() async { 2799 test_MethodDeclaration_returnType_afterComment() async {
2948 // ClassDeclaration CompilationUnit 2800 // ClassDeclaration CompilationUnit
2949 addSource( 2801 addSource('/testA.dart', '''
2950 '/testA.dart',
2951 '''
2952 int T1; 2802 int T1;
2953 F1() { } 2803 F1() { }
2954 typedef D1(); 2804 typedef D1();
2955 class C1 {C1(this.x) { } int x;}'''); 2805 class C1 {C1(this.x) { } int x;}''');
2956 addTestSource(''' 2806 addTestSource('''
2957 import "testA.dart"; 2807 import "testA.dart";
2958 int T2; 2808 int T2;
2959 F2() { } 2809 F2() { }
2960 typedef D2(); 2810 typedef D2();
2961 class C2 {/* */ ^ zoo(z) { } String name; }'''); 2811 class C2 {/* */ ^ zoo(z) { } String name; }''');
2962 await computeSuggestions(); 2812 await computeSuggestions();
2963 expect(replacementOffset, completionOffset); 2813 expect(replacementOffset, completionOffset);
2964 expect(replacementLength, 0); 2814 expect(replacementLength, 0);
2965 assertNotSuggested('Object'); 2815 assertNotSuggested('Object');
2966 assertNotSuggested('T1'); 2816 assertNotSuggested('T1');
2967 assertNotSuggested('F1'); 2817 assertNotSuggested('F1');
2968 assertNotSuggested('D1'); 2818 assertNotSuggested('D1');
2969 assertNotSuggested('C1'); 2819 assertNotSuggested('C1');
2970 assertNotSuggested('T2'); 2820 assertNotSuggested('T2');
2971 assertNotSuggested('F2'); 2821 assertNotSuggested('F2');
2972 assertNotSuggested('D2'); 2822 assertNotSuggested('D2');
2973 assertNotSuggested('C2'); 2823 assertNotSuggested('C2');
2974 assertNotSuggested('name'); 2824 assertNotSuggested('name');
2975 } 2825 }
2976 2826
2977 test_MethodDeclaration_returnType_afterComment2() async { 2827 test_MethodDeclaration_returnType_afterComment2() async {
2978 // MethodDeclaration ClassDeclaration CompilationUnit 2828 // MethodDeclaration ClassDeclaration CompilationUnit
2979 addSource( 2829 addSource('/testA.dart', '''
2980 '/testA.dart',
2981 '''
2982 int T1; 2830 int T1;
2983 F1() { } 2831 F1() { }
2984 typedef D1(); 2832 typedef D1();
2985 class C1 {C1(this.x) { } int x;}'''); 2833 class C1 {C1(this.x) { } int x;}''');
2986 addTestSource(''' 2834 addTestSource('''
2987 import "testA.dart"; 2835 import "testA.dart";
2988 int T2; 2836 int T2;
2989 F2() { } 2837 F2() { }
2990 typedef D2(); 2838 typedef D2();
2991 class C2 {/** */ ^ zoo(z) { } String name; }'''); 2839 class C2 {/** */ ^ zoo(z) { } String name; }''');
2992 await computeSuggestions(); 2840 await computeSuggestions();
2993 expect(replacementOffset, completionOffset); 2841 expect(replacementOffset, completionOffset);
2994 expect(replacementLength, 0); 2842 expect(replacementLength, 0);
2995 assertNotSuggested('Object'); 2843 assertNotSuggested('Object');
2996 assertNotSuggested('T1'); 2844 assertNotSuggested('T1');
2997 assertNotSuggested('F1'); 2845 assertNotSuggested('F1');
2998 assertNotSuggested('D1'); 2846 assertNotSuggested('D1');
2999 assertNotSuggested('C1'); 2847 assertNotSuggested('C1');
3000 assertNotSuggested('T2'); 2848 assertNotSuggested('T2');
3001 assertNotSuggested('F2'); 2849 assertNotSuggested('F2');
3002 assertNotSuggested('D2'); 2850 assertNotSuggested('D2');
3003 assertNotSuggested('C2'); 2851 assertNotSuggested('C2');
3004 assertNotSuggested('name'); 2852 assertNotSuggested('name');
3005 } 2853 }
3006 2854
3007 test_MethodDeclaration_returnType_afterComment3() async { 2855 test_MethodDeclaration_returnType_afterComment3() async {
3008 // MethodDeclaration ClassDeclaration CompilationUnit 2856 // MethodDeclaration ClassDeclaration CompilationUnit
3009 addSource( 2857 addSource('/testA.dart', '''
3010 '/testA.dart',
3011 '''
3012 int T1; 2858 int T1;
3013 F1() { } 2859 F1() { }
3014 typedef D1(); 2860 typedef D1();
3015 class C1 {C1(this.x) { } int x;}'''); 2861 class C1 {C1(this.x) { } int x;}''');
3016 addTestSource(''' 2862 addTestSource('''
3017 import "testA.dart"; 2863 import "testA.dart";
3018 int T2; 2864 int T2;
3019 F2() { } 2865 F2() { }
3020 typedef D2(); 2866 typedef D2();
3021 class C2 { 2867 class C2 {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
3198 3044
3199 test_parameterName_excludeTypes() async { 3045 test_parameterName_excludeTypes() async {
3200 addTestSource('m(int ^) {}'); 3046 addTestSource('m(int ^) {}');
3201 await computeSuggestions(); 3047 await computeSuggestions();
3202 assertNotSuggested('int'); 3048 assertNotSuggested('int');
3203 assertNotSuggested('bool'); 3049 assertNotSuggested('bool');
3204 } 3050 }
3205 3051
3206 test_partFile_TypeName() async { 3052 test_partFile_TypeName() async {
3207 // SimpleIdentifier TypeName ConstructorName 3053 // SimpleIdentifier TypeName ConstructorName
3208 addSource( 3054 addSource('/testB.dart', '''
3209 '/testB.dart',
3210 '''
3211 lib B; 3055 lib B;
3212 int T1; 3056 int T1;
3213 F1() { } 3057 F1() { }
3214 class X {X.c(); X._d(); z() {}}'''); 3058 class X {X.c(); X._d(); z() {}}''');
3215 addSource( 3059 addSource('/testA.dart', '''
3216 '/testA.dart',
3217 '''
3218 library libA; 3060 library libA;
3219 import "testB.dart"; 3061 import "testB.dart";
3220 part "$testFile"; 3062 part "$testFile";
3221 class A { } 3063 class A { }
3222 var m;'''); 3064 var m;''');
3223 addTestSource(''' 3065 addTestSource('''
3224 part of libA; 3066 part of libA;
3225 class B { factory B.bar(int x) => null; } 3067 class B { factory B.bar(int x) => null; }
3226 main() {new ^}'''); 3068 main() {new ^}''');
3227 await computeSuggestions(); 3069 await computeSuggestions();
3228 expect(replacementOffset, completionOffset); 3070 expect(replacementOffset, completionOffset);
3229 expect(replacementLength, 0); 3071 expect(replacementLength, 0);
3230 assertNotSuggested('B.bar'); 3072 assertNotSuggested('B.bar');
3231 assertNotSuggested('Object'); 3073 assertNotSuggested('Object');
3232 assertNotSuggested('X.c'); 3074 assertNotSuggested('X.c');
3233 assertNotSuggested('X._d'); 3075 assertNotSuggested('X._d');
3234 assertNotSuggested('A'); 3076 assertNotSuggested('A');
3235 assertNotSuggested('F1'); 3077 assertNotSuggested('F1');
3236 assertNotSuggested('T1'); 3078 assertNotSuggested('T1');
3237 assertNotSuggested('_d'); 3079 assertNotSuggested('_d');
3238 assertNotSuggested('z'); 3080 assertNotSuggested('z');
3239 assertNotSuggested('m'); 3081 assertNotSuggested('m');
3240 } 3082 }
3241 3083
3242 test_partFile_TypeName2() async { 3084 test_partFile_TypeName2() async {
3243 // SimpleIdentifier TypeName ConstructorName 3085 // SimpleIdentifier TypeName ConstructorName
3244 addSource( 3086 addSource('/testB.dart', '''
3245 '/testB.dart',
3246 '''
3247 lib B; 3087 lib B;
3248 int T1; 3088 int T1;
3249 F1() { } 3089 F1() { }
3250 class X {X.c(); X._d(); z() {}}'''); 3090 class X {X.c(); X._d(); z() {}}''');
3251 addSource( 3091 addSource('/testA.dart', '''
3252 '/testA.dart',
3253 '''
3254 part of libA; 3092 part of libA;
3255 class B { }'''); 3093 class B { }''');
3256 addTestSource(''' 3094 addTestSource('''
3257 library libA; 3095 library libA;
3258 import "testB.dart"; 3096 import "testB.dart";
3259 part "/testA.dart"; 3097 part "/testA.dart";
3260 class A { A({String boo: 'hoo'}) { } } 3098 class A { A({String boo: 'hoo'}) { } }
3261 main() {new ^} 3099 main() {new ^}
3262 var m;'''); 3100 var m;''');
3263 await computeSuggestions(); 3101 await computeSuggestions();
3264 expect(replacementOffset, completionOffset); 3102 expect(replacementOffset, completionOffset);
3265 expect(replacementLength, 0); 3103 expect(replacementLength, 0);
3266 assertNotSuggested('A'); 3104 assertNotSuggested('A');
3267 assertNotSuggested('Object'); 3105 assertNotSuggested('Object');
3268 assertNotSuggested('X.c'); 3106 assertNotSuggested('X.c');
3269 assertNotSuggested('X._d'); 3107 assertNotSuggested('X._d');
3270 assertNotSuggested('B'); 3108 assertNotSuggested('B');
3271 assertNotSuggested('F1'); 3109 assertNotSuggested('F1');
3272 assertNotSuggested('T1'); 3110 assertNotSuggested('T1');
3273 assertNotSuggested('_d'); 3111 assertNotSuggested('_d');
3274 assertNotSuggested('z'); 3112 assertNotSuggested('z');
3275 assertNotSuggested('m'); 3113 assertNotSuggested('m');
3276 } 3114 }
3277 3115
3278 test_PrefixedIdentifier_class_const() async { 3116 test_PrefixedIdentifier_class_const() async {
3279 // SimpleIdentifier PrefixedIdentifier ExpressionStatement Block 3117 // SimpleIdentifier PrefixedIdentifier ExpressionStatement Block
3280 addSource( 3118 addSource('/testB.dart', '''
3281 '/testB.dart',
3282 '''
3283 lib B; 3119 lib B;
3284 class I { 3120 class I {
3285 static const scI = 'boo'; 3121 static const scI = 'boo';
3286 X get f => new A(); 3122 X get f => new A();
3287 get _g => new A();} 3123 get _g => new A();}
3288 class B implements I { 3124 class B implements I {
3289 static const int scB = 12; 3125 static const int scB = 12;
3290 var b; X _c; 3126 var b; X _c;
3291 X get d => new A();get _e => new A(); 3127 X get d => new A();get _e => new A();
3292 set s1(I x) {} set _s2(I x) {} 3128 set s1(I x) {} set _s2(I x) {}
(...skipping 25 matching lines...) Expand all
3318 assertNotSuggested('a'); 3154 assertNotSuggested('a');
3319 assertNotSuggested('A'); 3155 assertNotSuggested('A');
3320 assertNotSuggested('X'); 3156 assertNotSuggested('X');
3321 assertNotSuggested('w'); 3157 assertNotSuggested('w');
3322 assertNotSuggested('Object'); 3158 assertNotSuggested('Object');
3323 assertNotSuggested('=='); 3159 assertNotSuggested('==');
3324 } 3160 }
3325 3161
3326 test_PrefixedIdentifier_class_imported() async { 3162 test_PrefixedIdentifier_class_imported() async {
3327 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 3163 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
3328 addSource( 3164 addSource('/testB.dart', '''
3329 '/testB.dart',
3330 '''
3331 lib B; 3165 lib B;
3332 class I {X get f => new A();get _g => new A();} 3166 class I {X get f => new A();get _g => new A();}
3333 class A implements I { 3167 class A implements I {
3334 static const int sc = 12; 3168 static const int sc = 12;
3335 @deprecated var b; X _c; 3169 @deprecated var b; X _c;
3336 X get d => new A();get _e => new A(); 3170 X get d => new A();get _e => new A();
3337 set s1(I x) {} set _s2(I x) {} 3171 set s1(I x) {} set _s2(I x) {}
3338 m(X x) {} I _n(X x) {}} 3172 m(X x) {} I _n(X x) {}}
3339 class X{}'''); 3173 class X{}''');
3340 addTestSource(''' 3174 addTestSource('''
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
3396 3230
3397 test_PrefixedIdentifier_getter() async { 3231 test_PrefixedIdentifier_getter() async {
3398 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 3232 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
3399 addTestSource('String get g => "one"; f() {g.^}'); 3233 addTestSource('String get g => "one"; f() {g.^}');
3400 await computeSuggestions(); 3234 await computeSuggestions();
3401 assertSuggestGetter('length', 'int'); 3235 assertSuggestGetter('length', 'int');
3402 } 3236 }
3403 3237
3404 test_PrefixedIdentifier_library() async { 3238 test_PrefixedIdentifier_library() async {
3405 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 3239 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
3406 addSource( 3240 addSource('/testB.dart', '''
3407 '/testB.dart',
3408 '''
3409 lib B; 3241 lib B;
3410 var T1; 3242 var T1;
3411 class X { } 3243 class X { }
3412 class Y { }'''); 3244 class Y { }''');
3413 addTestSource(''' 3245 addTestSource('''
3414 import "testB.dart" as b; 3246 import "testB.dart" as b;
3415 var T2; 3247 var T2;
3416 class A { } 3248 class A { }
3417 main() {b.^}'''); 3249 main() {b.^}''');
3418 await computeSuggestions(); 3250 await computeSuggestions();
3419 expect(replacementOffset, completionOffset); 3251 expect(replacementOffset, completionOffset);
3420 expect(replacementLength, 0); 3252 expect(replacementLength, 0);
3421 // Suggested by LibraryMemberContributor 3253 // Suggested by LibraryMemberContributor
3422 assertNotSuggested('X'); 3254 assertNotSuggested('X');
3423 assertNotSuggested('Y'); 3255 assertNotSuggested('Y');
3424 assertNotSuggested('T1'); 3256 assertNotSuggested('T1');
3425 assertNotSuggested('T2'); 3257 assertNotSuggested('T2');
3426 assertNotSuggested('Object'); 3258 assertNotSuggested('Object');
3427 assertNotSuggested('b'); 3259 assertNotSuggested('b');
3428 assertNotSuggested('A'); 3260 assertNotSuggested('A');
3429 assertNotSuggested('=='); 3261 assertNotSuggested('==');
3430 } 3262 }
3431 3263
3432 test_PrefixedIdentifier_library_typesOnly() async { 3264 test_PrefixedIdentifier_library_typesOnly() async {
3433 // SimpleIdentifier PrefixedIdentifier TypeName 3265 // SimpleIdentifier PrefixedIdentifier TypeName
3434 addSource( 3266 addSource('/testB.dart', '''
3435 '/testB.dart',
3436 '''
3437 lib B; 3267 lib B;
3438 var T1; 3268 var T1;
3439 class X { } 3269 class X { }
3440 class Y { }'''); 3270 class Y { }''');
3441 addTestSource(''' 3271 addTestSource('''
3442 import "testB.dart" as b; 3272 import "testB.dart" as b;
3443 var T2; 3273 var T2;
3444 class A { } 3274 class A { }
3445 foo(b.^ f) {}'''); 3275 foo(b.^ f) {}''');
3446 await computeSuggestions(); 3276 await computeSuggestions();
3447 expect(replacementOffset, completionOffset); 3277 expect(replacementOffset, completionOffset);
3448 expect(replacementLength, 0); 3278 expect(replacementLength, 0);
3449 // Suggested by LibraryMemberContributor 3279 // Suggested by LibraryMemberContributor
3450 assertNotSuggested('X'); 3280 assertNotSuggested('X');
3451 assertNotSuggested('Y'); 3281 assertNotSuggested('Y');
3452 assertNotSuggested('T1'); 3282 assertNotSuggested('T1');
3453 assertNotSuggested('T2'); 3283 assertNotSuggested('T2');
3454 assertNotSuggested('Object'); 3284 assertNotSuggested('Object');
3455 assertNotSuggested('b'); 3285 assertNotSuggested('b');
3456 assertNotSuggested('A'); 3286 assertNotSuggested('A');
3457 assertNotSuggested('=='); 3287 assertNotSuggested('==');
3458 } 3288 }
3459 3289
3460 test_PrefixedIdentifier_library_typesOnly2() async { 3290 test_PrefixedIdentifier_library_typesOnly2() async {
3461 // SimpleIdentifier PrefixedIdentifier TypeName 3291 // SimpleIdentifier PrefixedIdentifier TypeName
3462 addSource( 3292 addSource('/testB.dart', '''
3463 '/testB.dart',
3464 '''
3465 lib B; 3293 lib B;
3466 var T1; 3294 var T1;
3467 class X { } 3295 class X { }
3468 class Y { }'''); 3296 class Y { }''');
3469 addTestSource(''' 3297 addTestSource('''
3470 import "testB.dart" as b; 3298 import "testB.dart" as b;
3471 var T2; 3299 var T2;
3472 class A { } 3300 class A { }
3473 foo(b.^) {}'''); 3301 foo(b.^) {}''');
3474 await computeSuggestions(); 3302 await computeSuggestions();
3475 expect(replacementOffset, completionOffset); 3303 expect(replacementOffset, completionOffset);
3476 expect(replacementLength, 0); 3304 expect(replacementLength, 0);
3477 // Suggested by LibraryMemberContributor 3305 // Suggested by LibraryMemberContributor
3478 assertNotSuggested('X'); 3306 assertNotSuggested('X');
3479 assertNotSuggested('Y'); 3307 assertNotSuggested('Y');
3480 assertNotSuggested('T1'); 3308 assertNotSuggested('T1');
3481 assertNotSuggested('T2'); 3309 assertNotSuggested('T2');
3482 assertNotSuggested('Object'); 3310 assertNotSuggested('Object');
3483 assertNotSuggested('b'); 3311 assertNotSuggested('b');
3484 assertNotSuggested('A'); 3312 assertNotSuggested('A');
3485 assertNotSuggested('=='); 3313 assertNotSuggested('==');
3486 } 3314 }
3487 3315
3488 test_PrefixedIdentifier_parameter() async { 3316 test_PrefixedIdentifier_parameter() async {
3489 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 3317 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
3490 addSource( 3318 addSource('/testB.dart', '''
3491 '/testB.dart',
3492 '''
3493 lib B; 3319 lib B;
3494 class _W {M y; var _z;} 3320 class _W {M y; var _z;}
3495 class X extends _W {} 3321 class X extends _W {}
3496 class M{}'''); 3322 class M{}''');
3497 addTestSource(''' 3323 addTestSource('''
3498 import "testB.dart"; 3324 import "testB.dart";
3499 foo(X x) {x.^}'''); 3325 foo(X x) {x.^}''');
3500 await computeSuggestions(); 3326 await computeSuggestions();
3501 expect(replacementOffset, completionOffset); 3327 expect(replacementOffset, completionOffset);
3502 expect(replacementLength, 0); 3328 expect(replacementLength, 0);
3503 assertSuggestField('y', 'M'); 3329 assertSuggestField('y', 'M');
3504 assertNotSuggested('_z'); 3330 assertNotSuggested('_z');
3505 assertNotSuggested('=='); 3331 assertNotSuggested('==');
3506 } 3332 }
3507 3333
3508 test_PrefixedIdentifier_prefix() async { 3334 test_PrefixedIdentifier_prefix() async {
3509 // SimpleIdentifier PrefixedIdentifier ExpressionStatement 3335 // SimpleIdentifier PrefixedIdentifier ExpressionStatement
3510 addSource( 3336 addSource('/testA.dart', '''
3511 '/testA.dart',
3512 '''
3513 class A {static int bar = 10;} 3337 class A {static int bar = 10;}
3514 _B() {}'''); 3338 _B() {}''');
3515 addTestSource(''' 3339 addTestSource('''
3516 import "testA.dart"; 3340 import "testA.dart";
3517 class X {foo(){A^.bar}}'''); 3341 class X {foo(){A^.bar}}''');
3518 await computeSuggestions(); 3342 await computeSuggestions();
3519 expect(replacementOffset, completionOffset - 1); 3343 expect(replacementOffset, completionOffset - 1);
3520 expect(replacementLength, 1); 3344 expect(replacementLength, 1);
3521 assertNotSuggested('A'); 3345 assertNotSuggested('A');
3522 assertNotSuggested('X'); 3346 assertNotSuggested('X');
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
4071 test_TopLevelVariableDeclaration_untyped_name() async { 3895 test_TopLevelVariableDeclaration_untyped_name() async {
4072 // SimpleIdentifier VariableDeclaration VariableDeclarationList 3896 // SimpleIdentifier VariableDeclaration VariableDeclarationList
4073 // TopLevelVariableDeclaration 3897 // TopLevelVariableDeclaration
4074 addTestSource('class A {} var ^'); 3898 addTestSource('class A {} var ^');
4075 await computeSuggestions(); 3899 await computeSuggestions();
4076 assertNoSuggestions(); 3900 assertNoSuggestions();
4077 } 3901 }
4078 3902
4079 test_TypeArgumentList() async { 3903 test_TypeArgumentList() async {
4080 // SimpleIdentifier BinaryExpression ExpressionStatement 3904 // SimpleIdentifier BinaryExpression ExpressionStatement
4081 addSource( 3905 addSource('/testA.dart', '''
4082 '/testA.dart',
4083 '''
4084 class C1 {int x;} 3906 class C1 {int x;}
4085 F1() => 0; 3907 F1() => 0;
4086 typedef String T1(int blat);'''); 3908 typedef String T1(int blat);''');
4087 addTestSource(''' 3909 addTestSource('''
4088 import "testA.dart";' 3910 import "testA.dart";'
4089 class C2 {int x;} 3911 class C2 {int x;}
4090 F2() => 0; 3912 F2() => 0;
4091 typedef int T2(int blat); 3913 typedef int T2(int blat);
4092 class C<E> {} 3914 class C<E> {}
4093 main() { C<^> c; }'''); 3915 main() { C<^> c; }''');
4094 await computeSuggestions(); 3916 await computeSuggestions();
4095 expect(replacementOffset, completionOffset); 3917 expect(replacementOffset, completionOffset);
4096 expect(replacementLength, 0); 3918 expect(replacementLength, 0);
4097 assertNotSuggested('Object'); 3919 assertNotSuggested('Object');
4098 assertNotSuggested('C1'); 3920 assertNotSuggested('C1');
4099 assertNotSuggested('T1'); 3921 assertNotSuggested('T1');
4100 assertNotSuggested('C2'); 3922 assertNotSuggested('C2');
4101 assertNotSuggested('T2'); 3923 assertNotSuggested('T2');
4102 assertNotSuggested('F1'); 3924 assertNotSuggested('F1');
4103 assertNotSuggested('F2'); 3925 assertNotSuggested('F2');
4104 } 3926 }
4105 3927
4106 test_TypeArgumentList2() async { 3928 test_TypeArgumentList2() async {
4107 // TypeName TypeArgumentList TypeName 3929 // TypeName TypeArgumentList TypeName
4108 addSource( 3930 addSource('/testA.dart', '''
4109 '/testA.dart',
4110 '''
4111 class C1 {int x;} 3931 class C1 {int x;}
4112 F1() => 0; 3932 F1() => 0;
4113 typedef String T1(int blat);'''); 3933 typedef String T1(int blat);''');
4114 addTestSource(''' 3934 addTestSource('''
4115 import "testA.dart";' 3935 import "testA.dart";'
4116 class C2 {int x;} 3936 class C2 {int x;}
4117 F2() => 0; 3937 F2() => 0;
4118 typedef int T2(int blat); 3938 typedef int T2(int blat);
4119 class C<E> {} 3939 class C<E> {}
4120 main() { C<C^> c; }'''); 3940 main() { C<C^> c; }''');
4121 await computeSuggestions(); 3941 await computeSuggestions();
4122 expect(replacementOffset, completionOffset - 1); 3942 expect(replacementOffset, completionOffset - 1);
4123 expect(replacementLength, 1); 3943 expect(replacementLength, 1);
4124 assertNotSuggested('C1'); 3944 assertNotSuggested('C1');
4125 assertNotSuggested('C2'); 3945 assertNotSuggested('C2');
4126 } 3946 }
4127 3947
4128 test_VariableDeclaration_name() async { 3948 test_VariableDeclaration_name() async {
4129 // SimpleIdentifier VariableDeclaration VariableDeclarationList 3949 // SimpleIdentifier VariableDeclaration VariableDeclarationList
4130 // VariableDeclarationStatement Block 3950 // VariableDeclarationStatement Block
4131 addSource( 3951 addSource('/testB.dart', '''
4132 '/testB.dart',
4133 '''
4134 lib B; 3952 lib B;
4135 foo() { } 3953 foo() { }
4136 class _B { } 3954 class _B { }
4137 class X {X.c(); X._d(); z() {}}'''); 3955 class X {X.c(); X._d(); z() {}}''');
4138 addTestSource(''' 3956 addTestSource('''
4139 import "testB.dart"; 3957 import "testB.dart";
4140 class Y {Y.c(); Y._d(); z() {}} 3958 class Y {Y.c(); Y._d(); z() {}}
4141 main() {var ^}'''); 3959 main() {var ^}''');
4142 await computeSuggestions(); 3960 await computeSuggestions();
4143 assertNoSuggestions(); 3961 assertNoSuggestions();
4144 } 3962 }
4145 3963
4146 test_VariableDeclarationList_final() async { 3964 test_VariableDeclarationList_final() async {
4147 // VariableDeclarationList VariableDeclarationStatement Block 3965 // VariableDeclarationList VariableDeclarationStatement Block
4148 addTestSource('main() {final ^} class C { }'); 3966 addTestSource('main() {final ^} class C { }');
4149 await computeSuggestions(); 3967 await computeSuggestions();
4150 assertNotSuggested('Object'); 3968 assertNotSuggested('Object');
4151 assertNotSuggested('C'); 3969 assertNotSuggested('C');
4152 assertNotSuggested('=='); 3970 assertNotSuggested('==');
4153 } 3971 }
4154 3972
4155 test_VariableDeclarationStatement_RHS() async { 3973 test_VariableDeclarationStatement_RHS() async {
4156 // SimpleIdentifier VariableDeclaration VariableDeclarationList 3974 // SimpleIdentifier VariableDeclaration VariableDeclarationList
4157 // VariableDeclarationStatement 3975 // VariableDeclarationStatement
4158 addSource( 3976 addSource('/testB.dart', '''
4159 '/testB.dart',
4160 '''
4161 lib B; 3977 lib B;
4162 foo() { } 3978 foo() { }
4163 class _B { } 3979 class _B { }
4164 class X {X.c(); X._d(); z() {}}'''); 3980 class X {X.c(); X._d(); z() {}}''');
4165 addTestSource(''' 3981 addTestSource('''
4166 import "testB.dart"; 3982 import "testB.dart";
4167 class Y {Y.c(); Y._d(); z() {}} 3983 class Y {Y.c(); Y._d(); z() {}}
4168 class C {bar(){var f; {var x;} var e = ^}}'''); 3984 class C {bar(){var f; {var x;} var e = ^}}''');
4169 await computeSuggestions(); 3985 await computeSuggestions();
4170 expect(replacementOffset, completionOffset); 3986 expect(replacementOffset, completionOffset);
4171 expect(replacementLength, 0); 3987 expect(replacementLength, 0);
4172 assertNotSuggested('X'); 3988 assertNotSuggested('X');
4173 assertNotSuggested('_B'); 3989 assertNotSuggested('_B');
4174 assertNotSuggested('Y'); 3990 assertNotSuggested('Y');
4175 assertNotSuggested('C'); 3991 assertNotSuggested('C');
4176 assertNotSuggested('f'); 3992 assertNotSuggested('f');
4177 assertNotSuggested('x'); 3993 assertNotSuggested('x');
4178 assertNotSuggested('e'); 3994 assertNotSuggested('e');
4179 } 3995 }
4180 3996
4181 test_VariableDeclarationStatement_RHS_missing_semicolon() async { 3997 test_VariableDeclarationStatement_RHS_missing_semicolon() async {
4182 // VariableDeclaration VariableDeclarationList 3998 // VariableDeclaration VariableDeclarationList
4183 // VariableDeclarationStatement 3999 // VariableDeclarationStatement
4184 addSource( 4000 addSource('/testB.dart', '''
4185 '/testB.dart',
4186 '''
4187 lib B; 4001 lib B;
4188 foo1() { } 4002 foo1() { }
4189 void bar1() { } 4003 void bar1() { }
4190 class _B { } 4004 class _B { }
4191 class X {X.c(); X._d(); z() {}}'''); 4005 class X {X.c(); X._d(); z() {}}''');
4192 addTestSource(''' 4006 addTestSource('''
4193 import "testB.dart"; 4007 import "testB.dart";
4194 foo2() { } 4008 foo2() { }
4195 void bar2() { } 4009 void bar2() { }
4196 class Y {Y.c(); Y._d(); z() {}} 4010 class Y {Y.c(); Y._d(); z() {}}
4197 class C {bar(){var f; {var x;} var e = ^ var g}}'''); 4011 class C {bar(){var f; {var x;} var e = ^ var g}}''');
4198 await computeSuggestions(); 4012 await computeSuggestions();
4199 expect(replacementOffset, completionOffset); 4013 expect(replacementOffset, completionOffset);
4200 expect(replacementLength, 0); 4014 expect(replacementLength, 0);
4201 assertNotSuggested('X'); 4015 assertNotSuggested('X');
4202 assertNotSuggested('foo1'); 4016 assertNotSuggested('foo1');
4203 assertNotSuggested('bar1'); 4017 assertNotSuggested('bar1');
4204 assertNotSuggested('foo2'); 4018 assertNotSuggested('foo2');
4205 assertNotSuggested('bar2'); 4019 assertNotSuggested('bar2');
4206 assertNotSuggested('_B'); 4020 assertNotSuggested('_B');
4207 assertNotSuggested('Y'); 4021 assertNotSuggested('Y');
4208 assertNotSuggested('C'); 4022 assertNotSuggested('C');
4209 assertNotSuggested('f'); 4023 assertNotSuggested('f');
4210 assertNotSuggested('x'); 4024 assertNotSuggested('x');
4211 assertNotSuggested('e'); 4025 assertNotSuggested('e');
4212 } 4026 }
4213 } 4027 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698