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

Side by Side Diff: pkg/analysis_server/test/services/correction/assist_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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analysis_server/plugin/edit/assist/assist_core.dart'; 7 import 'package:analysis_server/plugin/edit/assist/assist_core.dart';
8 import 'package:analysis_server/plugin/edit/assist/assist_dart.dart'; 8 import 'package:analysis_server/plugin/edit/assist/assist_dart.dart';
9 import 'package:analysis_server/src/plugin/server_plugin.dart'; 9 import 'package:analysis_server/src/plugin/server_plugin.dart';
10 import 'package:analysis_server/src/services/correction/assist.dart'; 10 import 'package:analysis_server/src/services/correction/assist.dart';
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 manager.processPlugins(plugins); 121 manager.processPlugins(plugins);
122 } 122 }
123 123
124 void setUp() { 124 void setUp() {
125 super.setUp(); 125 super.setUp();
126 offset = 0; 126 offset = 0;
127 length = 0; 127 length = 0;
128 } 128 }
129 129
130 test_addTypeAnnotation_BAD_privateType_closureParameter() async { 130 test_addTypeAnnotation_BAD_privateType_closureParameter() async {
131 addSource( 131 addSource('/my_lib.dart', '''
132 '/my_lib.dart',
133 '''
134 library my_lib; 132 library my_lib;
135 class A {} 133 class A {}
136 class _B extends A {} 134 class _B extends A {}
137 foo(f(_B p)) {} 135 foo(f(_B p)) {}
138 '''); 136 ''');
139 await resolveTestUnit(''' 137 await resolveTestUnit('''
140 import 'my_lib.dart'; 138 import 'my_lib.dart';
141 main() { 139 main() {
142 foo((test) {}); 140 foo((test) {});
143 } 141 }
144 '''); 142 ''');
145 await assertNoAssistAt('test)', DartAssistKind.ADD_TYPE_ANNOTATION); 143 await assertNoAssistAt('test)', DartAssistKind.ADD_TYPE_ANNOTATION);
146 } 144 }
147 145
148 test_addTypeAnnotation_BAD_privateType_declaredIdentifier() async { 146 test_addTypeAnnotation_BAD_privateType_declaredIdentifier() async {
149 addSource( 147 addSource('/my_lib.dart', '''
150 '/my_lib.dart',
151 '''
152 library my_lib; 148 library my_lib;
153 class A {} 149 class A {}
154 class _B extends A {} 150 class _B extends A {}
155 List<_B> getValues() => []; 151 List<_B> getValues() => [];
156 '''); 152 ''');
157 await resolveTestUnit(''' 153 await resolveTestUnit('''
158 import 'my_lib.dart'; 154 import 'my_lib.dart';
159 class A<T> { 155 class A<T> {
160 main() { 156 main() {
161 for (var item in getValues()) { 157 for (var item in getValues()) {
162 } 158 }
163 } 159 }
164 } 160 }
165 '''); 161 ''');
166 await assertNoAssistAt('var item', DartAssistKind.ADD_TYPE_ANNOTATION); 162 await assertNoAssistAt('var item', DartAssistKind.ADD_TYPE_ANNOTATION);
167 } 163 }
168 164
169 test_addTypeAnnotation_BAD_privateType_list() async { 165 test_addTypeAnnotation_BAD_privateType_list() async {
170 // This is now failing because we're suggesting "List" rather than nothing. 166 // This is now failing because we're suggesting "List" rather than nothing.
171 // Is it really better to produce nothing? 167 // Is it really better to produce nothing?
172 addSource( 168 addSource('/my_lib.dart', '''
173 '/my_lib.dart',
174 '''
175 library my_lib; 169 library my_lib;
176 class A {} 170 class A {}
177 class _B extends A {} 171 class _B extends A {}
178 List<_B> getValues() => []; 172 List<_B> getValues() => [];
179 '''); 173 ''');
180 await resolveTestUnit(''' 174 await resolveTestUnit('''
181 import 'my_lib.dart'; 175 import 'my_lib.dart';
182 main() { 176 main() {
183 var v = getValues(); 177 var v = getValues();
184 } 178 }
185 '''); 179 ''');
186 await assertHasAssistAt( 180 await assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, '''
187 'var ',
188 DartAssistKind.ADD_TYPE_ANNOTATION,
189 '''
190 import 'my_lib.dart'; 181 import 'my_lib.dart';
191 main() { 182 main() {
192 List v = getValues(); 183 List v = getValues();
193 } 184 }
194 '''); 185 ''');
195 } 186 }
196 187
197 test_addTypeAnnotation_BAD_privateType_variable() async { 188 test_addTypeAnnotation_BAD_privateType_variable() async {
198 addSource( 189 addSource('/my_lib.dart', '''
199 '/my_lib.dart',
200 '''
201 library my_lib; 190 library my_lib;
202 class A {} 191 class A {}
203 class _B extends A {} 192 class _B extends A {}
204 _B getValue() => new _B(); 193 _B getValue() => new _B();
205 '''); 194 ''');
206 await resolveTestUnit(''' 195 await resolveTestUnit('''
207 import 'my_lib.dart'; 196 import 'my_lib.dart';
208 main() { 197 main() {
209 var v = getValue(); 198 var v = getValue();
210 } 199 }
211 '''); 200 ''');
212 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 201 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
213 } 202 }
214 203
215 test_addTypeAnnotation_classField_OK_final() async { 204 test_addTypeAnnotation_classField_OK_final() async {
216 await resolveTestUnit(''' 205 await resolveTestUnit('''
217 class A { 206 class A {
218 final f = 0; 207 final f = 0;
219 } 208 }
220 '''); 209 ''');
221 await assertHasAssistAt( 210 await assertHasAssistAt('final ', DartAssistKind.ADD_TYPE_ANNOTATION, '''
222 'final ',
223 DartAssistKind.ADD_TYPE_ANNOTATION,
224 '''
225 class A { 211 class A {
226 final int f = 0; 212 final int f = 0;
227 } 213 }
228 '''); 214 ''');
229 } 215 }
230 216
231 test_addTypeAnnotation_classField_OK_int() async { 217 test_addTypeAnnotation_classField_OK_int() async {
232 await resolveTestUnit(''' 218 await resolveTestUnit('''
233 class A { 219 class A {
234 var f = 0; 220 var f = 0;
235 } 221 }
236 '''); 222 ''');
237 await await assertHasAssistAt( 223 await await assertHasAssistAt(
238 'var ', 224 'var ', DartAssistKind.ADD_TYPE_ANNOTATION, '''
239 DartAssistKind.ADD_TYPE_ANNOTATION,
240 '''
241 class A { 225 class A {
242 int f = 0; 226 int f = 0;
243 } 227 }
244 '''); 228 ''');
245 } 229 }
246 230
247 test_addTypeAnnotation_declaredIdentifier_BAD_hasTypeAnnotation() async { 231 test_addTypeAnnotation_declaredIdentifier_BAD_hasTypeAnnotation() async {
248 await resolveTestUnit(''' 232 await resolveTestUnit('''
249 main(List<String> items) { 233 main(List<String> items) {
250 for (String item in items) { 234 for (String item in items) {
(...skipping 27 matching lines...) Expand all
278 262
279 test_addTypeAnnotation_declaredIdentifier_generic_OK() async { 263 test_addTypeAnnotation_declaredIdentifier_generic_OK() async {
280 await resolveTestUnit(''' 264 await resolveTestUnit('''
281 class A<T> { 265 class A<T> {
282 main(List<List<T>> items) { 266 main(List<List<T>> items) {
283 for (var item in items) { 267 for (var item in items) {
284 } 268 }
285 } 269 }
286 } 270 }
287 '''); 271 ''');
288 await assertHasAssistAt( 272 await assertHasAssistAt('item in', DartAssistKind.ADD_TYPE_ANNOTATION, '''
289 'item in',
290 DartAssistKind.ADD_TYPE_ANNOTATION,
291 '''
292 class A<T> { 273 class A<T> {
293 main(List<List<T>> items) { 274 main(List<List<T>> items) {
294 for (List<T> item in items) { 275 for (List<T> item in items) {
295 } 276 }
296 } 277 }
297 } 278 }
298 '''); 279 ''');
299 } 280 }
300 281
301 test_addTypeAnnotation_declaredIdentifier_OK() async { 282 test_addTypeAnnotation_declaredIdentifier_OK() async {
302 await resolveTestUnit(''' 283 await resolveTestUnit('''
303 main(List<String> items) { 284 main(List<String> items) {
304 for (var item in items) { 285 for (var item in items) {
305 } 286 }
306 } 287 }
307 '''); 288 ''');
308 // on identifier 289 // on identifier
309 await assertHasAssistAt( 290 await assertHasAssistAt('item in', DartAssistKind.ADD_TYPE_ANNOTATION, '''
310 'item in',
311 DartAssistKind.ADD_TYPE_ANNOTATION,
312 '''
313 main(List<String> items) { 291 main(List<String> items) {
314 for (String item in items) { 292 for (String item in items) {
315 } 293 }
316 } 294 }
317 '''); 295 ''');
318 // on "for" 296 // on "for"
319 await assertHasAssistAt( 297 await assertHasAssistAt('for (', DartAssistKind.ADD_TYPE_ANNOTATION, '''
320 'for (',
321 DartAssistKind.ADD_TYPE_ANNOTATION,
322 '''
323 main(List<String> items) { 298 main(List<String> items) {
324 for (String item in items) { 299 for (String item in items) {
325 } 300 }
326 } 301 }
327 '''); 302 ''');
328 } 303 }
329 304
330 test_addTypeAnnotation_declaredIdentifier_OK_addImport_dartUri() async { 305 test_addTypeAnnotation_declaredIdentifier_OK_addImport_dartUri() async {
331 addSource( 306 addSource('/my_lib.dart', r'''
332 '/my_lib.dart',
333 r'''
334 import 'dart:async'; 307 import 'dart:async';
335 List<Future<int>> getFutures() => null; 308 List<Future<int>> getFutures() => null;
336 '''); 309 ''');
337 await resolveTestUnit(''' 310 await resolveTestUnit('''
338 import 'my_lib.dart'; 311 import 'my_lib.dart';
339 main() { 312 main() {
340 for (var future in getFutures()) { 313 for (var future in getFutures()) {
341 } 314 }
342 } 315 }
343 '''); 316 ''');
344 await assertHasAssistAt( 317 await assertHasAssistAt('future in', DartAssistKind.ADD_TYPE_ANNOTATION, '''
345 'future in',
346 DartAssistKind.ADD_TYPE_ANNOTATION,
347 '''
348 import 'dart:async'; 318 import 'dart:async';
349 319
350 import 'my_lib.dart'; 320 import 'my_lib.dart';
351 main() { 321 main() {
352 for (Future<int> future in getFutures()) { 322 for (Future<int> future in getFutures()) {
353 } 323 }
354 } 324 }
355 '''); 325 ''');
356 } 326 }
357 327
358 test_addTypeAnnotation_declaredIdentifier_OK_final() async { 328 test_addTypeAnnotation_declaredIdentifier_OK_final() async {
359 await resolveTestUnit(''' 329 await resolveTestUnit('''
360 main(List<String> items) { 330 main(List<String> items) {
361 for (final item in items) { 331 for (final item in items) {
362 } 332 }
363 } 333 }
364 '''); 334 ''');
365 await assertHasAssistAt( 335 await assertHasAssistAt('item in', DartAssistKind.ADD_TYPE_ANNOTATION, '''
366 'item in',
367 DartAssistKind.ADD_TYPE_ANNOTATION,
368 '''
369 main(List<String> items) { 336 main(List<String> items) {
370 for (final String item in items) { 337 for (final String item in items) {
371 } 338 }
372 } 339 }
373 '''); 340 ''');
374 } 341 }
375 342
376 test_addTypeAnnotation_local_BAD_bottom() async { 343 test_addTypeAnnotation_local_BAD_bottom() async {
377 await resolveTestUnit(''' 344 await resolveTestUnit('''
378 main() { 345 main() {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 } 406 }
440 407
441 test_addTypeAnnotation_local_generic_OK_literal() async { 408 test_addTypeAnnotation_local_generic_OK_literal() async {
442 await resolveTestUnit(''' 409 await resolveTestUnit('''
443 class A { 410 class A {
444 main(List<int> items) { 411 main(List<int> items) {
445 var v = items; 412 var v = items;
446 } 413 }
447 } 414 }
448 '''); 415 ''');
449 await assertHasAssistAt( 416 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
450 'v =',
451 DartAssistKind.ADD_TYPE_ANNOTATION,
452 '''
453 class A { 417 class A {
454 main(List<int> items) { 418 main(List<int> items) {
455 List<int> v = items; 419 List<int> v = items;
456 } 420 }
457 } 421 }
458 '''); 422 ''');
459 } 423 }
460 424
461 test_addTypeAnnotation_local_generic_OK_local() async { 425 test_addTypeAnnotation_local_generic_OK_local() async {
462 await resolveTestUnit(''' 426 await resolveTestUnit('''
463 class A<T> { 427 class A<T> {
464 main(List<T> items) { 428 main(List<T> items) {
465 var v = items; 429 var v = items;
466 } 430 }
467 } 431 }
468 '''); 432 ''');
469 await assertHasAssistAt( 433 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
470 'v =',
471 DartAssistKind.ADD_TYPE_ANNOTATION,
472 '''
473 class A<T> { 434 class A<T> {
474 main(List<T> items) { 435 main(List<T> items) {
475 List<T> v = items; 436 List<T> v = items;
476 } 437 }
477 } 438 }
478 '''); 439 ''');
479 } 440 }
480 441
481 test_addTypeAnnotation_local_OK_addImport_dartUri() async { 442 test_addTypeAnnotation_local_OK_addImport_dartUri() async {
482 addSource( 443 addSource('/my_lib.dart', r'''
483 '/my_lib.dart',
484 r'''
485 import 'dart:async'; 444 import 'dart:async';
486 Future<int> getFutureInt() => null; 445 Future<int> getFutureInt() => null;
487 '''); 446 ''');
488 await resolveTestUnit(''' 447 await resolveTestUnit('''
489 import 'my_lib.dart'; 448 import 'my_lib.dart';
490 main() { 449 main() {
491 var v = getFutureInt(); 450 var v = getFutureInt();
492 } 451 }
493 '''); 452 ''');
494 await assertHasAssistAt( 453 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
495 'v =',
496 DartAssistKind.ADD_TYPE_ANNOTATION,
497 '''
498 import 'dart:async'; 454 import 'dart:async';
499 455
500 import 'my_lib.dart'; 456 import 'my_lib.dart';
501 main() { 457 main() {
502 Future<int> v = getFutureInt(); 458 Future<int> v = getFutureInt();
503 } 459 }
504 '''); 460 ''');
505 } 461 }
506 462
507 test_addTypeAnnotation_local_OK_addImport_notLibraryUnit() async { 463 test_addTypeAnnotation_local_OK_addImport_notLibraryUnit() async {
508 // prepare library 464 // prepare library
509 addSource( 465 addSource('/my_lib.dart', r'''
510 '/my_lib.dart',
511 r'''
512 import 'dart:async'; 466 import 'dart:async';
513 Future<int> getFutureInt() => null; 467 Future<int> getFutureInt() => null;
514 '''); 468 ''');
515 // prepare code 469 // prepare code
516 String appCode = r''' 470 String appCode = r'''
517 library my_app; 471 library my_app;
518 import 'my_lib.dart'; 472 import 'my_lib.dart';
519 part 'test.dart'; 473 part 'test.dart';
520 '''; 474 ''';
521 testCode = r''' 475 testCode = r'''
522 part of my_app; 476 part of my_app;
523 main() { 477 main() {
524 var v = getFutureInt(); 478 var v = getFutureInt();
525 } 479 }
526 '''; 480 ''';
527 // add sources 481 // add sources
528 addSource('/app.dart', appCode); 482 addSource('/app.dart', appCode);
529 testSource = addSource('/test.dart', testCode); 483 testSource = addSource('/test.dart', testCode);
530 // resolve 484 // resolve
531 await resolveTestUnit(testCode); 485 await resolveTestUnit(testCode);
532 // prepare the assist 486 // prepare the assist
533 offset = findOffset('v = '); 487 offset = findOffset('v = ');
534 assist = await _assertHasAssist(DartAssistKind.ADD_TYPE_ANNOTATION); 488 assist = await _assertHasAssist(DartAssistKind.ADD_TYPE_ANNOTATION);
535 change = assist.change; 489 change = assist.change;
536 // verify 490 // verify
537 { 491 {
538 var testFileEdit = change.getFileEdit('/app.dart'); 492 var testFileEdit = change.getFileEdit('/app.dart');
539 var resultCode = SourceEdit.applySequence(appCode, testFileEdit.edits); 493 var resultCode = SourceEdit.applySequence(appCode, testFileEdit.edits);
540 expect( 494 expect(resultCode, '''
541 resultCode,
542 '''
543 library my_app; 495 library my_app;
544 import 'dart:async'; 496 import 'dart:async';
545 497
546 import 'my_lib.dart'; 498 import 'my_lib.dart';
547 part 'test.dart'; 499 part 'test.dart';
548 '''); 500 ''');
549 } 501 }
550 { 502 {
551 var testFileEdit = change.getFileEdit('/test.dart'); 503 var testFileEdit = change.getFileEdit('/test.dart');
552 var resultCode = SourceEdit.applySequence(testCode, testFileEdit.edits); 504 var resultCode = SourceEdit.applySequence(testCode, testFileEdit.edits);
553 expect( 505 expect(resultCode, '''
554 resultCode,
555 '''
556 part of my_app; 506 part of my_app;
557 main() { 507 main() {
558 Future<int> v = getFutureInt(); 508 Future<int> v = getFutureInt();
559 } 509 }
560 '''); 510 ''');
561 } 511 }
562 } 512 }
563 513
564 test_addTypeAnnotation_local_OK_addImport_relUri() async { 514 test_addTypeAnnotation_local_OK_addImport_relUri() async {
565 addSource( 515 addSource('/aa/bbb/lib_a.dart', r'''
566 '/aa/bbb/lib_a.dart',
567 r'''
568 class MyClass {} 516 class MyClass {}
569 '''); 517 ''');
570 addSource( 518 addSource('/ccc/lib_b.dart', r'''
571 '/ccc/lib_b.dart',
572 r'''
573 import '../aa/bbb/lib_a.dart'; 519 import '../aa/bbb/lib_a.dart';
574 MyClass newMyClass() => null; 520 MyClass newMyClass() => null;
575 '''); 521 ''');
576 await resolveTestUnit(''' 522 await resolveTestUnit('''
577 import 'ccc/lib_b.dart'; 523 import 'ccc/lib_b.dart';
578 main() { 524 main() {
579 var v = newMyClass(); 525 var v = newMyClass();
580 } 526 }
581 '''); 527 ''');
582 await assertHasAssistAt( 528 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
583 'v =',
584 DartAssistKind.ADD_TYPE_ANNOTATION,
585 '''
586 import 'aa/bbb/lib_a.dart'; 529 import 'aa/bbb/lib_a.dart';
587 import 'ccc/lib_b.dart'; 530 import 'ccc/lib_b.dart';
588 main() { 531 main() {
589 MyClass v = newMyClass(); 532 MyClass v = newMyClass();
590 } 533 }
591 '''); 534 ''');
592 } 535 }
593 536
594 test_addTypeAnnotation_local_OK_Function() async { 537 test_addTypeAnnotation_local_OK_Function() async {
595 await resolveTestUnit(''' 538 await resolveTestUnit('''
596 main() { 539 main() {
597 var v = () => 1; 540 var v = () => 1;
598 } 541 }
599 '''); 542 ''');
600 await assertHasAssistAt( 543 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
601 'v =',
602 DartAssistKind.ADD_TYPE_ANNOTATION,
603 '''
604 main() { 544 main() {
605 Function v = () => 1; 545 Function v = () => 1;
606 } 546 }
607 '''); 547 ''');
608 } 548 }
609 549
610 test_addTypeAnnotation_local_OK_int() async { 550 test_addTypeAnnotation_local_OK_int() async {
611 await resolveTestUnit(''' 551 await resolveTestUnit('''
612 main() { 552 main() {
613 var v = 0; 553 var v = 0;
614 } 554 }
615 '''); 555 ''');
616 await assertHasAssistAt( 556 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
617 'v =',
618 DartAssistKind.ADD_TYPE_ANNOTATION,
619 '''
620 main() { 557 main() {
621 int v = 0; 558 int v = 0;
622 } 559 }
623 '''); 560 ''');
624 } 561 }
625 562
626 test_addTypeAnnotation_local_OK_List() async { 563 test_addTypeAnnotation_local_OK_List() async {
627 await resolveTestUnit(''' 564 await resolveTestUnit('''
628 main() { 565 main() {
629 var v = <String>[]; 566 var v = <String>[];
630 } 567 }
631 '''); 568 ''');
632 await assertHasAssistAt( 569 await assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
633 'v =',
634 DartAssistKind.ADD_TYPE_ANNOTATION,
635 '''
636 main() { 570 main() {
637 List<String> v = <String>[]; 571 List<String> v = <String>[];
638 } 572 }
639 '''); 573 ''');
640 } 574 }
641 575
642 test_addTypeAnnotation_local_OK_localType() async { 576 test_addTypeAnnotation_local_OK_localType() async {
643 await resolveTestUnit(''' 577 await resolveTestUnit('''
644 class C {} 578 class C {}
645 C f() => null; 579 C f() => null;
646 main() { 580 main() {
647 var x = f(); 581 var x = f();
648 } 582 }
649 '''); 583 ''');
650 await assertHasAssistAt( 584 await assertHasAssistAt('x =', DartAssistKind.ADD_TYPE_ANNOTATION, '''
651 'x =',
652 DartAssistKind.ADD_TYPE_ANNOTATION,
653 '''
654 class C {} 585 class C {}
655 C f() => null; 586 C f() => null;
656 main() { 587 main() {
657 C x = f(); 588 C x = f();
658 } 589 }
659 '''); 590 ''');
660 } 591 }
661 592
662 test_addTypeAnnotation_local_OK_onName() async { 593 test_addTypeAnnotation_local_OK_onName() async {
663 await resolveTestUnit(''' 594 await resolveTestUnit('''
664 main() { 595 main() {
665 var abc = 0; 596 var abc = 0;
666 } 597 }
667 '''); 598 ''');
668 await assertHasAssistAt( 599 await assertHasAssistAt('bc', DartAssistKind.ADD_TYPE_ANNOTATION, '''
669 'bc',
670 DartAssistKind.ADD_TYPE_ANNOTATION,
671 '''
672 main() { 600 main() {
673 int abc = 0; 601 int abc = 0;
674 } 602 }
675 '''); 603 ''');
676 } 604 }
677 605
678 test_addTypeAnnotation_local_OK_onVar() async { 606 test_addTypeAnnotation_local_OK_onVar() async {
679 await resolveTestUnit(''' 607 await resolveTestUnit('''
680 main() { 608 main() {
681 var v = 0; 609 var v = 0;
682 } 610 }
683 '''); 611 ''');
684 await assertHasAssistAt( 612 await assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, '''
685 'var ',
686 DartAssistKind.ADD_TYPE_ANNOTATION,
687 '''
688 main() { 613 main() {
689 int v = 0; 614 int v = 0;
690 } 615 }
691 '''); 616 ''');
692 } 617 }
693 618
694 test_addTypeAnnotation_OK_privateType_sameLibrary() async { 619 test_addTypeAnnotation_OK_privateType_sameLibrary() async {
695 await resolveTestUnit(''' 620 await resolveTestUnit('''
696 class _A {} 621 class _A {}
697 _A getValue() => new _A(); 622 _A getValue() => new _A();
698 main() { 623 main() {
699 var v = getValue(); 624 var v = getValue();
700 } 625 }
701 '''); 626 ''');
702 await assertHasAssistAt( 627 await assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, '''
703 'var ',
704 DartAssistKind.ADD_TYPE_ANNOTATION,
705 '''
706 class _A {} 628 class _A {}
707 _A getValue() => new _A(); 629 _A getValue() => new _A();
708 main() { 630 main() {
709 _A v = getValue(); 631 _A v = getValue();
710 } 632 }
711 '''); 633 ''');
712 } 634 }
713 635
714 test_addTypeAnnotation_parameter_BAD_hasExplicitType() async { 636 test_addTypeAnnotation_parameter_BAD_hasExplicitType() async {
715 await resolveTestUnit(''' 637 await resolveTestUnit('''
(...skipping 15 matching lines...) Expand all
731 await assertNoAssistAt('test', DartAssistKind.ADD_TYPE_ANNOTATION); 653 await assertNoAssistAt('test', DartAssistKind.ADD_TYPE_ANNOTATION);
732 } 654 }
733 655
734 test_addTypeAnnotation_parameter_OK() async { 656 test_addTypeAnnotation_parameter_OK() async {
735 await resolveTestUnit(''' 657 await resolveTestUnit('''
736 foo(f(int p)) {} 658 foo(f(int p)) {}
737 main() { 659 main() {
738 foo((test) {}); 660 foo((test) {});
739 } 661 }
740 '''); 662 ''');
741 await assertHasAssistAt( 663 await assertHasAssistAt('test', DartAssistKind.ADD_TYPE_ANNOTATION, '''
742 'test',
743 DartAssistKind.ADD_TYPE_ANNOTATION,
744 '''
745 foo(f(int p)) {} 664 foo(f(int p)) {}
746 main() { 665 main() {
747 foo((int test) {}); 666 foo((int test) {});
748 } 667 }
749 '''); 668 ''');
750 } 669 }
751 670
752 test_addTypeAnnotation_topLevelField_BAD_multiple() async { 671 test_addTypeAnnotation_topLevelField_BAD_multiple() async {
753 await resolveTestUnit(''' 672 await resolveTestUnit('''
754 var A = 1, V = ''; 673 var A = 1, V = '';
755 '''); 674 ''');
756 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 675 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
757 } 676 }
758 677
759 test_addTypeAnnotation_topLevelField_BAD_noValue() async { 678 test_addTypeAnnotation_topLevelField_BAD_noValue() async {
760 await resolveTestUnit(''' 679 await resolveTestUnit('''
761 var V; 680 var V;
762 '''); 681 ''');
763 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 682 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
764 } 683 }
765 684
766 test_addTypeAnnotation_topLevelField_OK_int() async { 685 test_addTypeAnnotation_topLevelField_OK_int() async {
767 await resolveTestUnit(''' 686 await resolveTestUnit('''
768 var V = 0; 687 var V = 0;
769 '''); 688 ''');
770 await assertHasAssistAt( 689 await assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, '''
771 'var ',
772 DartAssistKind.ADD_TYPE_ANNOTATION,
773 '''
774 int V = 0; 690 int V = 0;
775 '''); 691 ''');
776 } 692 }
777 693
778 test_assignToLocalVariable() async { 694 test_assignToLocalVariable() async {
779 await resolveTestUnit(''' 695 await resolveTestUnit('''
780 main() { 696 main() {
781 List<int> bytes; 697 List<int> bytes;
782 readBytes(); 698 readBytes();
783 } 699 }
784 List<int> readBytes() => <int>[]; 700 List<int> readBytes() => <int>[];
785 '''); 701 ''');
786 await assertHasAssistAt( 702 await assertHasAssistAt(
787 'readBytes();', 703 'readBytes();', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE, '''
788 DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE,
789 '''
790 main() { 704 main() {
791 List<int> bytes; 705 List<int> bytes;
792 var readBytes = readBytes(); 706 var readBytes = readBytes();
793 } 707 }
794 List<int> readBytes() => <int>[]; 708 List<int> readBytes() => <int>[];
795 '''); 709 ''');
796 _assertLinkedGroup( 710 _assertLinkedGroup(
797 change.linkedEditGroups[0], 711 change.linkedEditGroups[0],
798 ['readBytes = '], 712 ['readBytes = '],
799 expectedSuggestions(LinkedEditSuggestionKind.VARIABLE, 713 expectedSuggestions(LinkedEditSuggestionKind.VARIABLE,
(...skipping 11 matching lines...) Expand all
811 } 725 }
812 726
813 test_assignToLocalVariable_inClosure() async { 727 test_assignToLocalVariable_inClosure() async {
814 await resolveTestUnit(r''' 728 await resolveTestUnit(r'''
815 main() { 729 main() {
816 print(() { 730 print(() {
817 12345; 731 12345;
818 }); 732 });
819 } 733 }
820 '''); 734 ''');
821 await assertHasAssistAt( 735 await assertHasAssistAt('345', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE, '''
822 '345',
823 DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE,
824 '''
825 main() { 736 main() {
826 print(() { 737 print(() {
827 var i = 12345; 738 var i = 12345;
828 }); 739 });
829 } 740 }
830 '''); 741 ''');
831 } 742 }
832 743
833 test_assignToLocalVariable_invocationArgument() async { 744 test_assignToLocalVariable_invocationArgument() async {
834 await resolveTestUnit(r''' 745 await resolveTestUnit(r'''
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 await resolveTestUnit(''' 794 await resolveTestUnit('''
884 class A { 795 class A {
885 /// AAAAA 796 /// AAAAA
886 ///BBBBB 797 ///BBBBB
887 /// 798 ///
888 /// CCCCC 799 /// CCCCC
889 mmm() {} 800 mmm() {}
890 } 801 }
891 '''); 802 ''');
892 await assertHasAssistAt( 803 await assertHasAssistAt(
893 'AAAAA', 804 'AAAAA', DartAssistKind.CONVERT_DOCUMENTATION_INTO_BLOCK, '''
894 DartAssistKind.CONVERT_DOCUMENTATION_INTO_BLOCK,
895 '''
896 class A { 805 class A {
897 /** 806 /**
898 * AAAAA 807 * AAAAA
899 *BBBBB 808 *BBBBB
900 * 809 *
901 * CCCCC 810 * CCCCC
902 */ 811 */
903 mmm() {} 812 mmm() {}
904 } 813 }
905 '''); 814 ''');
906 } 815 }
907 816
908 test_convertDocumentationIntoBlock_OK_onReference() async { 817 test_convertDocumentationIntoBlock_OK_onReference() async {
909 await resolveTestUnit(''' 818 await resolveTestUnit('''
910 /// AAAAAAA [int] AAAAAAA 819 /// AAAAAAA [int] AAAAAAA
911 class A {} 820 class A {}
912 '''); 821 ''');
913 await assertHasAssistAt( 822 await assertHasAssistAt(
914 'nt]', 823 'nt]', DartAssistKind.CONVERT_DOCUMENTATION_INTO_BLOCK, '''
915 DartAssistKind.CONVERT_DOCUMENTATION_INTO_BLOCK,
916 '''
917 /** 824 /**
918 * AAAAAAA [int] AAAAAAA 825 * AAAAAAA [int] AAAAAAA
919 */ 826 */
920 class A {} 827 class A {}
921 '''); 828 ''');
922 } 829 }
923 830
924 test_convertDocumentationIntoBlock_OK_onText() async { 831 test_convertDocumentationIntoBlock_OK_onText() async {
925 await resolveTestUnit(''' 832 await resolveTestUnit('''
926 class A { 833 class A {
927 /// AAAAAAA [int] AAAAAAA 834 /// AAAAAAA [int] AAAAAAA
928 /// BBBBBBBB BBBB BBBB 835 /// BBBBBBBB BBBB BBBB
929 /// CCC [A] CCCCCCCCCCC 836 /// CCC [A] CCCCCCCCCCC
930 mmm() {} 837 mmm() {}
931 } 838 }
932 '''); 839 ''');
933 await assertHasAssistAt( 840 await assertHasAssistAt(
934 'AAA [', 841 'AAA [', DartAssistKind.CONVERT_DOCUMENTATION_INTO_BLOCK, '''
935 DartAssistKind.CONVERT_DOCUMENTATION_INTO_BLOCK,
936 '''
937 class A { 842 class A {
938 /** 843 /**
939 * AAAAAAA [int] AAAAAAA 844 * AAAAAAA [int] AAAAAAA
940 * BBBBBBBB BBBB BBBB 845 * BBBBBBBB BBBB BBBB
941 * CCC [A] CCCCCCCCCCC 846 * CCC [A] CCCCCCCCCCC
942 */ 847 */
943 mmm() {} 848 mmm() {}
944 } 849 }
945 '''); 850 ''');
946 } 851 }
(...skipping 17 matching lines...) Expand all
964 } 869 }
965 870
966 test_convertDocumentationIntoLine_OK_onReference() async { 871 test_convertDocumentationIntoLine_OK_onReference() async {
967 await resolveTestUnit(''' 872 await resolveTestUnit('''
968 /** 873 /**
969 * AAAAAAA [int] AAAAAAA 874 * AAAAAAA [int] AAAAAAA
970 */ 875 */
971 class A {} 876 class A {}
972 '''); 877 ''');
973 await assertHasAssistAt( 878 await assertHasAssistAt(
974 'nt]', 879 'nt]', DartAssistKind.CONVERT_DOCUMENTATION_INTO_LINE, '''
975 DartAssistKind.CONVERT_DOCUMENTATION_INTO_LINE,
976 '''
977 /// AAAAAAA [int] AAAAAAA 880 /// AAAAAAA [int] AAAAAAA
978 class A {} 881 class A {}
979 '''); 882 ''');
980 } 883 }
981 884
982 test_convertDocumentationIntoLine_OK_onText() async { 885 test_convertDocumentationIntoLine_OK_onText() async {
983 await resolveTestUnit(''' 886 await resolveTestUnit('''
984 class A { 887 class A {
985 /** 888 /**
986 * AAAAAAA [int] AAAAAAA 889 * AAAAAAA [int] AAAAAAA
987 * BBBBBBBB BBBB BBBB 890 * BBBBBBBB BBBB BBBB
988 * CCC [A] CCCCCCCCCCC 891 * CCC [A] CCCCCCCCCCC
989 */ 892 */
990 mmm() {} 893 mmm() {}
991 } 894 }
992 '''); 895 ''');
993 await assertHasAssistAt( 896 await assertHasAssistAt(
994 'AAA [', 897 'AAA [', DartAssistKind.CONVERT_DOCUMENTATION_INTO_LINE, '''
995 DartAssistKind.CONVERT_DOCUMENTATION_INTO_LINE,
996 '''
997 class A { 898 class A {
998 /// AAAAAAA [int] AAAAAAA 899 /// AAAAAAA [int] AAAAAAA
999 /// BBBBBBBB BBBB BBBB 900 /// BBBBBBBB BBBB BBBB
1000 /// CCC [A] CCCCCCCCCCC 901 /// CCC [A] CCCCCCCCCCC
1001 mmm() {} 902 mmm() {}
1002 } 903 }
1003 '''); 904 ''');
1004 } 905 }
1005 906
1006 test_convertDocumentationIntoLine_OK_onText_hasFirstLine() async { 907 test_convertDocumentationIntoLine_OK_onText_hasFirstLine() async {
1007 await resolveTestUnit(''' 908 await resolveTestUnit('''
1008 class A { 909 class A {
1009 /** AAAAAAA [int] AAAAAAA 910 /** AAAAAAA [int] AAAAAAA
1010 * BBBBBBBB BBBB BBBB 911 * BBBBBBBB BBBB BBBB
1011 * CCC [A] CCCCCCCCCCC 912 * CCC [A] CCCCCCCCCCC
1012 */ 913 */
1013 mmm() {} 914 mmm() {}
1014 } 915 }
1015 '''); 916 ''');
1016 await assertHasAssistAt( 917 await assertHasAssistAt(
1017 'AAA [', 918 'AAA [', DartAssistKind.CONVERT_DOCUMENTATION_INTO_LINE, '''
1018 DartAssistKind.CONVERT_DOCUMENTATION_INTO_LINE,
1019 '''
1020 class A { 919 class A {
1021 /// AAAAAAA [int] AAAAAAA 920 /// AAAAAAA [int] AAAAAAA
1022 /// BBBBBBBB BBBB BBBB 921 /// BBBBBBBB BBBB BBBB
1023 /// CCC [A] CCCCCCCCCCC 922 /// CCC [A] CCCCCCCCCCC
1024 mmm() {} 923 mmm() {}
1025 } 924 }
1026 '''); 925 ''');
1027 } 926 }
1028 927
1029 test_convertFlutterChild_OK_multiLine() async { 928 test_convertFlutterChild_OK_multiLine() async {
(...skipping 10 matching lines...) Expand all
1040 width: 200.0, 939 width: 200.0,
1041 height: 300.0, 940 height: 300.0,
1042 ), 941 ),
1043 key: null, 942 key: null,
1044 ), 943 ),
1045 // end 944 // end
1046 ); 945 );
1047 } 946 }
1048 '''); 947 ''');
1049 _setCaretLocation(); 948 _setCaretLocation();
1050 await assertHasAssist( 949 await assertHasAssist(DartAssistKind.CONVERT_FLUTTER_CHILD, '''
1051 DartAssistKind.CONVERT_FLUTTER_CHILD,
1052 '''
1053 import 'package:flutter/src/widgets/framework.dart'; 950 import 'package:flutter/src/widgets/framework.dart';
1054 build() { 951 build() {
1055 return new Scaffold( 952 return new Scaffold(
1056 // start 953 // start
1057 body: new Center( 954 body: new Center(
1058 /*caret*/children: <Widget>[ 955 /*caret*/children: <Widget>[
1059 new Container( 956 new Container(
1060 width: 200.0, 957 width: 200.0,
1061 height: 300.0, 958 height: 300.0,
1062 ), 959 ),
(...skipping 22 matching lines...) Expand all
1085 width: 200.0, 982 width: 200.0,
1086 height: 300.0, 983 height: 300.0,
1087 ), 984 ),
1088 key: null, 985 key: null,
1089 ), 986 ),
1090 // end 987 // end
1091 ); 988 );
1092 } 989 }
1093 '''); 990 ''');
1094 _setCaretLocation(); 991 _setCaretLocation();
1095 await assertHasAssist( 992 await assertHasAssist(DartAssistKind.CONVERT_FLUTTER_CHILD, '''
1096 DartAssistKind.CONVERT_FLUTTER_CHILD,
1097 '''
1098 import 'package:flutter/src/widgets/framework.dart'; 993 import 'package:flutter/src/widgets/framework.dart';
1099 build() { 994 build() {
1100 return new Scaffold( 995 return new Scaffold(
1101 // start 996 // start
1102 body: new Center( 997 body: new Center(
1103 /*caret*/children: <Widget>[ 998 /*caret*/children: <Widget>[
1104 new Container( 999 new Container(
1105 width: 200.0, 1000 width: 200.0,
1106 height: 300.0, 1001 height: 300.0,
1107 ), 1002 ),
(...skipping 17 matching lines...) Expand all
1125 // start 1020 // start
1126 body: new Center( 1021 body: new Center(
1127 /*caret*/child: new GestureDetector(), 1022 /*caret*/child: new GestureDetector(),
1128 key: null, 1023 key: null,
1129 ), 1024 ),
1130 // end 1025 // end
1131 ); 1026 );
1132 } 1027 }
1133 '''); 1028 ''');
1134 _setCaretLocation(); 1029 _setCaretLocation();
1135 await assertHasAssist( 1030 await assertHasAssist(DartAssistKind.CONVERT_FLUTTER_CHILD, '''
1136 DartAssistKind.CONVERT_FLUTTER_CHILD,
1137 '''
1138 import 'package:flutter/src/widgets/framework.dart'; 1031 import 'package:flutter/src/widgets/framework.dart';
1139 build() { 1032 build() {
1140 return new Scaffold( 1033 return new Scaffold(
1141 // start 1034 // start
1142 body: new Center( 1035 body: new Center(
1143 /*caret*/children: <Widget>[new GestureDetector()], 1036 /*caret*/children: <Widget>[new GestureDetector()],
1144 key: null, 1037 key: null,
1145 ), 1038 ),
1146 // end 1039 // end
1147 ); 1040 );
(...skipping 16 matching lines...) Expand all
1164 '''); 1057 ''');
1165 await assertNoAssistAt('fff() {', DartAssistKind.CONVERT_INTO_BLOCK_BODY); 1058 await assertNoAssistAt('fff() {', DartAssistKind.CONVERT_INTO_BLOCK_BODY);
1166 } 1059 }
1167 1060
1168 test_convertToBlockBody_OK_async() async { 1061 test_convertToBlockBody_OK_async() async {
1169 await resolveTestUnit(''' 1062 await resolveTestUnit('''
1170 class A { 1063 class A {
1171 mmm() async => 123; 1064 mmm() async => 123;
1172 } 1065 }
1173 '''); 1066 ''');
1174 await assertHasAssistAt( 1067 await assertHasAssistAt('mmm()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1175 'mmm()',
1176 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1177 '''
1178 class A { 1068 class A {
1179 mmm() async { 1069 mmm() async {
1180 return 123; 1070 return 123;
1181 } 1071 }
1182 } 1072 }
1183 '''); 1073 ''');
1184 } 1074 }
1185 1075
1186 test_convertToBlockBody_OK_closure() async { 1076 test_convertToBlockBody_OK_closure() async {
1187 await resolveTestUnit(''' 1077 await resolveTestUnit('''
1188 setup(x) {} 1078 setup(x) {}
1189 main() { 1079 main() {
1190 setup(() => 42); 1080 setup(() => 42);
1191 } 1081 }
1192 '''); 1082 ''');
1193 await assertHasAssistAt( 1083 await assertHasAssistAt(
1194 '() => 42', 1084 '() => 42', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1195 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1196 '''
1197 setup(x) {} 1085 setup(x) {}
1198 main() { 1086 main() {
1199 setup(() { 1087 setup(() {
1200 return 42; 1088 return 42;
1201 }); 1089 });
1202 } 1090 }
1203 '''); 1091 ''');
1204 { 1092 {
1205 Position exitPos = change.selection; 1093 Position exitPos = change.selection;
1206 expect(exitPos, isNotNull); 1094 expect(exitPos, isNotNull);
1207 expect(exitPos.file, testFile); 1095 expect(exitPos.file, testFile);
1208 expect(exitPos.offset - 3, resultCode.indexOf('42;')); 1096 expect(exitPos.offset - 3, resultCode.indexOf('42;'));
1209 } 1097 }
1210 } 1098 }
1211 1099
1212 test_convertToBlockBody_OK_closure_voidExpression() async { 1100 test_convertToBlockBody_OK_closure_voidExpression() async {
1213 await resolveTestUnit(''' 1101 await resolveTestUnit('''
1214 setup(x) {} 1102 setup(x) {}
1215 main() { 1103 main() {
1216 setup(() => print('done')); 1104 setup(() => print('done'));
1217 } 1105 }
1218 '''); 1106 ''');
1219 await assertHasAssistAt( 1107 await assertHasAssistAt(
1220 '() => print', 1108 '() => print', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1221 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1222 '''
1223 setup(x) {} 1109 setup(x) {}
1224 main() { 1110 main() {
1225 setup(() { 1111 setup(() {
1226 print('done'); 1112 print('done');
1227 }); 1113 });
1228 } 1114 }
1229 '''); 1115 ''');
1230 { 1116 {
1231 Position exitPos = change.selection; 1117 Position exitPos = change.selection;
1232 expect(exitPos, isNotNull); 1118 expect(exitPos, isNotNull);
1233 expect(exitPos.file, testFile); 1119 expect(exitPos.file, testFile);
1234 expect(exitPos.offset - 3, resultCode.indexOf("');")); 1120 expect(exitPos.offset - 3, resultCode.indexOf("');"));
1235 } 1121 }
1236 } 1122 }
1237 1123
1238 test_convertToBlockBody_OK_constructor() async { 1124 test_convertToBlockBody_OK_constructor() async {
1239 await resolveTestUnit(''' 1125 await resolveTestUnit('''
1240 class A { 1126 class A {
1241 factory A() => null; 1127 factory A() => null;
1242 } 1128 }
1243 '''); 1129 ''');
1244 await assertHasAssistAt( 1130 await assertHasAssistAt('A()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1245 'A()',
1246 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1247 '''
1248 class A { 1131 class A {
1249 factory A() { 1132 factory A() {
1250 return null; 1133 return null;
1251 } 1134 }
1252 } 1135 }
1253 '''); 1136 ''');
1254 } 1137 }
1255 1138
1256 test_convertToBlockBody_OK_method() async { 1139 test_convertToBlockBody_OK_method() async {
1257 await resolveTestUnit(''' 1140 await resolveTestUnit('''
1258 class A { 1141 class A {
1259 mmm() => 123; 1142 mmm() => 123;
1260 } 1143 }
1261 '''); 1144 ''');
1262 await assertHasAssistAt( 1145 await assertHasAssistAt('mmm()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1263 'mmm()',
1264 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1265 '''
1266 class A { 1146 class A {
1267 mmm() { 1147 mmm() {
1268 return 123; 1148 return 123;
1269 } 1149 }
1270 } 1150 }
1271 '''); 1151 ''');
1272 } 1152 }
1273 1153
1274 test_convertToBlockBody_OK_onName() async { 1154 test_convertToBlockBody_OK_onName() async {
1275 await resolveTestUnit(''' 1155 await resolveTestUnit('''
1276 fff() => 123; 1156 fff() => 123;
1277 '''); 1157 ''');
1278 await assertHasAssistAt( 1158 await assertHasAssistAt('fff()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1279 'fff()',
1280 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1281 '''
1282 fff() { 1159 fff() {
1283 return 123; 1160 return 123;
1284 } 1161 }
1285 '''); 1162 ''');
1286 } 1163 }
1287 1164
1288 test_convertToBlockBody_OK_onValue() async { 1165 test_convertToBlockBody_OK_onValue() async {
1289 await resolveTestUnit(''' 1166 await resolveTestUnit('''
1290 fff() => 123; 1167 fff() => 123;
1291 '''); 1168 ''');
1292 await assertHasAssistAt( 1169 await assertHasAssistAt('23;', DartAssistKind.CONVERT_INTO_BLOCK_BODY, '''
1293 '23;',
1294 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
1295 '''
1296 fff() { 1170 fff() {
1297 return 123; 1171 return 123;
1298 } 1172 }
1299 '''); 1173 ''');
1300 } 1174 }
1301 1175
1302 test_convertToExpressionBody_BAD_already() async { 1176 test_convertToExpressionBody_BAD_already() async {
1303 await resolveTestUnit(''' 1177 await resolveTestUnit('''
1304 fff() => 42; 1178 fff() => 42;
1305 '''); 1179 ''');
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1347 1221
1348 test_convertToExpressionBody_OK_async() async { 1222 test_convertToExpressionBody_OK_async() async {
1349 await resolveTestUnit(''' 1223 await resolveTestUnit('''
1350 class A { 1224 class A {
1351 mmm() async { 1225 mmm() async {
1352 return 42; 1226 return 42;
1353 } 1227 }
1354 } 1228 }
1355 '''); 1229 ''');
1356 await assertHasAssistAt( 1230 await assertHasAssistAt(
1357 'mmm', 1231 'mmm', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1358 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1359 '''
1360 class A { 1232 class A {
1361 mmm() async => 42; 1233 mmm() async => 42;
1362 } 1234 }
1363 '''); 1235 ''');
1364 } 1236 }
1365 1237
1366 test_convertToExpressionBody_OK_closure() async { 1238 test_convertToExpressionBody_OK_closure() async {
1367 await resolveTestUnit(''' 1239 await resolveTestUnit('''
1368 setup(x) {} 1240 setup(x) {}
1369 main() { 1241 main() {
1370 setup(() { 1242 setup(() {
1371 return 42; 1243 return 42;
1372 }); 1244 });
1373 } 1245 }
1374 '''); 1246 ''');
1375 await assertHasAssistAt( 1247 await assertHasAssistAt(
1376 '42;', 1248 '42;', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1377 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1378 '''
1379 setup(x) {} 1249 setup(x) {}
1380 main() { 1250 main() {
1381 setup(() => 42); 1251 setup(() => 42);
1382 } 1252 }
1383 '''); 1253 ''');
1384 } 1254 }
1385 1255
1386 test_convertToExpressionBody_OK_closure_voidExpression() async { 1256 test_convertToExpressionBody_OK_closure_voidExpression() async {
1387 await resolveTestUnit(''' 1257 await resolveTestUnit('''
1388 setup(x) {} 1258 setup(x) {}
1389 main() { 1259 main() {
1390 setup(() { 1260 setup(() {
1391 print('test'); 1261 print('test');
1392 }); 1262 });
1393 } 1263 }
1394 '''); 1264 ''');
1395 await assertHasAssistAt( 1265 await assertHasAssistAt(
1396 'print(', 1266 'print(', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1397 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1398 '''
1399 setup(x) {} 1267 setup(x) {}
1400 main() { 1268 main() {
1401 setup(() => print('test')); 1269 setup(() => print('test'));
1402 } 1270 }
1403 '''); 1271 ''');
1404 } 1272 }
1405 1273
1406 test_convertToExpressionBody_OK_constructor() async { 1274 test_convertToExpressionBody_OK_constructor() async {
1407 await resolveTestUnit(''' 1275 await resolveTestUnit('''
1408 class A { 1276 class A {
1409 factory A() { 1277 factory A() {
1410 return null; 1278 return null;
1411 } 1279 }
1412 } 1280 }
1413 '''); 1281 ''');
1414 await assertHasAssistAt( 1282 await assertHasAssistAt(
1415 'A()', 1283 'A()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1416 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1417 '''
1418 class A { 1284 class A {
1419 factory A() => null; 1285 factory A() => null;
1420 } 1286 }
1421 '''); 1287 ''');
1422 } 1288 }
1423 1289
1424 test_convertToExpressionBody_OK_function_onBlock() async { 1290 test_convertToExpressionBody_OK_function_onBlock() async {
1425 await resolveTestUnit(''' 1291 await resolveTestUnit('''
1426 fff() { 1292 fff() {
1427 return 42; 1293 return 42;
1428 } 1294 }
1429 '''); 1295 ''');
1430 await assertHasAssistAt( 1296 await assertHasAssistAt(
1431 '{', 1297 '{', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1432 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1433 '''
1434 fff() => 42; 1298 fff() => 42;
1435 '''); 1299 ''');
1436 } 1300 }
1437 1301
1438 test_convertToExpressionBody_OK_function_onName() async { 1302 test_convertToExpressionBody_OK_function_onName() async {
1439 await resolveTestUnit(''' 1303 await resolveTestUnit('''
1440 fff() { 1304 fff() {
1441 return 42; 1305 return 42;
1442 } 1306 }
1443 '''); 1307 ''');
1444 await assertHasAssistAt( 1308 await assertHasAssistAt(
1445 'ff()', 1309 'ff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1446 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1447 '''
1448 fff() => 42; 1310 fff() => 42;
1449 '''); 1311 ''');
1450 } 1312 }
1451 1313
1452 test_convertToExpressionBody_OK_method_onBlock() async { 1314 test_convertToExpressionBody_OK_method_onBlock() async {
1453 await resolveTestUnit(''' 1315 await resolveTestUnit('''
1454 class A { 1316 class A {
1455 m() { // marker 1317 m() { // marker
1456 return 42; 1318 return 42;
1457 } 1319 }
1458 } 1320 }
1459 '''); 1321 ''');
1460 await assertHasAssistAt( 1322 await assertHasAssistAt(
1461 '{ // marker', 1323 '{ // marker', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1462 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1463 '''
1464 class A { 1324 class A {
1465 m() => 42; 1325 m() => 42;
1466 } 1326 }
1467 '''); 1327 ''');
1468 } 1328 }
1469 1329
1470 test_convertToExpressionBody_OK_topFunction_onReturnStatement() async { 1330 test_convertToExpressionBody_OK_topFunction_onReturnStatement() async {
1471 await resolveTestUnit(''' 1331 await resolveTestUnit('''
1472 fff() { 1332 fff() {
1473 return 42; 1333 return 42;
1474 } 1334 }
1475 '''); 1335 ''');
1476 await assertHasAssistAt( 1336 await assertHasAssistAt(
1477 'return', 1337 'return', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
1478 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1479 '''
1480 fff() => 42; 1338 fff() => 42;
1481 '''); 1339 ''');
1482 } 1340 }
1483 1341
1484 test_convertToFieldParameter_BAD_additionalUse() async { 1342 test_convertToFieldParameter_BAD_additionalUse() async {
1485 await resolveTestUnit(''' 1343 await resolveTestUnit('''
1486 class A { 1344 class A {
1487 int aaa2; 1345 int aaa2;
1488 int bbb2; 1346 int bbb2;
1489 A(int aaa) : aaa2 = aaa, bbb2 = aaa; 1347 A(int aaa) : aaa2 = aaa, bbb2 = aaa;
(...skipping 14 matching lines...) Expand all
1504 1362
1505 test_convertToFieldParameter_OK_firstInitializer() async { 1363 test_convertToFieldParameter_OK_firstInitializer() async {
1506 await resolveTestUnit(''' 1364 await resolveTestUnit('''
1507 class A { 1365 class A {
1508 int aaa2; 1366 int aaa2;
1509 int bbb2; 1367 int bbb2;
1510 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb; 1368 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb;
1511 } 1369 }
1512 '''); 1370 ''');
1513 await assertHasAssistAt( 1371 await assertHasAssistAt(
1514 'aaa, ', 1372 'aaa, ', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, '''
1515 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1516 '''
1517 class A { 1373 class A {
1518 int aaa2; 1374 int aaa2;
1519 int bbb2; 1375 int bbb2;
1520 A(this.aaa2, int bbb) : bbb2 = bbb; 1376 A(this.aaa2, int bbb) : bbb2 = bbb;
1521 } 1377 }
1522 '''); 1378 ''');
1523 } 1379 }
1524 1380
1525 test_convertToFieldParameter_OK_onParameterName_inInitializer() async { 1381 test_convertToFieldParameter_OK_onParameterName_inInitializer() async {
1526 await resolveTestUnit(''' 1382 await resolveTestUnit('''
1527 class A { 1383 class A {
1528 int test2; 1384 int test2;
1529 A(int test) : test2 = test { 1385 A(int test) : test2 = test {
1530 } 1386 }
1531 } 1387 }
1532 '''); 1388 ''');
1533 await assertHasAssistAt( 1389 await assertHasAssistAt(
1534 'test {', 1390 'test {', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, '''
1535 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1536 '''
1537 class A { 1391 class A {
1538 int test2; 1392 int test2;
1539 A(this.test2) { 1393 A(this.test2) {
1540 } 1394 }
1541 } 1395 }
1542 '''); 1396 ''');
1543 } 1397 }
1544 1398
1545 test_convertToFieldParameter_OK_onParameterName_inParameters() async { 1399 test_convertToFieldParameter_OK_onParameterName_inParameters() async {
1546 await resolveTestUnit(''' 1400 await resolveTestUnit('''
1547 class A { 1401 class A {
1548 int test; 1402 int test;
1549 A(int test) : test = test { 1403 A(int test) : test = test {
1550 } 1404 }
1551 } 1405 }
1552 '''); 1406 ''');
1553 await assertHasAssistAt( 1407 await assertHasAssistAt(
1554 'test)', 1408 'test)', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, '''
1555 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1556 '''
1557 class A { 1409 class A {
1558 int test; 1410 int test;
1559 A(this.test) { 1411 A(this.test) {
1560 } 1412 }
1561 } 1413 }
1562 '''); 1414 ''');
1563 } 1415 }
1564 1416
1565 test_convertToFieldParameter_OK_secondInitializer() async { 1417 test_convertToFieldParameter_OK_secondInitializer() async {
1566 await resolveTestUnit(''' 1418 await resolveTestUnit('''
1567 class A { 1419 class A {
1568 int aaa2; 1420 int aaa2;
1569 int bbb2; 1421 int bbb2;
1570 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb; 1422 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb;
1571 } 1423 }
1572 '''); 1424 ''');
1573 await assertHasAssistAt( 1425 await assertHasAssistAt(
1574 'bbb)', 1426 'bbb)', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, '''
1575 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1576 '''
1577 class A { 1427 class A {
1578 int aaa2; 1428 int aaa2;
1579 int bbb2; 1429 int bbb2;
1580 A(int aaa, this.bbb2) : aaa2 = aaa; 1430 A(int aaa, this.bbb2) : aaa2 = aaa;
1581 } 1431 }
1582 '''); 1432 ''');
1583 } 1433 }
1584 1434
1585 test_convertToFinalField_BAD_hasSetter_inThisClass() async { 1435 test_convertToFinalField_BAD_hasSetter_inThisClass() async {
1586 await resolveTestUnit(''' 1436 await resolveTestUnit('''
(...skipping 28 matching lines...) Expand all
1615 1465
1616 test_convertToFinalField_OK_blockBody_onlyReturnStatement() async { 1466 test_convertToFinalField_OK_blockBody_onlyReturnStatement() async {
1617 await resolveTestUnit(''' 1467 await resolveTestUnit('''
1618 class A { 1468 class A {
1619 int get foo { 1469 int get foo {
1620 return 1 + 2; 1470 return 1 + 2;
1621 } 1471 }
1622 } 1472 }
1623 '''); 1473 ''');
1624 await assertHasAssistAt( 1474 await assertHasAssistAt(
1625 'get foo', 1475 'get foo', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1626 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1627 '''
1628 class A { 1476 class A {
1629 final int foo = 1 + 2; 1477 final int foo = 1 + 2;
1630 } 1478 }
1631 '''); 1479 ''');
1632 } 1480 }
1633 1481
1634 test_convertToFinalField_OK_hasOverride() async { 1482 test_convertToFinalField_OK_hasOverride() async {
1635 await resolveTestUnit(''' 1483 await resolveTestUnit('''
1636 const myAnnotation = const Object(); 1484 const myAnnotation = const Object();
1637 class A { 1485 class A {
1638 @myAnnotation 1486 @myAnnotation
1639 int get foo => 42; 1487 int get foo => 42;
1640 } 1488 }
1641 '''); 1489 ''');
1642 await assertHasAssistAt( 1490 await assertHasAssistAt(
1643 'get foo', 1491 'get foo', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1644 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1645 '''
1646 const myAnnotation = const Object(); 1492 const myAnnotation = const Object();
1647 class A { 1493 class A {
1648 @myAnnotation 1494 @myAnnotation
1649 final int foo = 42; 1495 final int foo = 42;
1650 } 1496 }
1651 '''); 1497 ''');
1652 } 1498 }
1653 1499
1654 test_convertToFinalField_OK_hasSetter_inSuper() async { 1500 test_convertToFinalField_OK_hasSetter_inSuper() async {
1655 await resolveTestUnit(''' 1501 await resolveTestUnit('''
1656 class A { 1502 class A {
1657 void set foo(_) {} 1503 void set foo(_) {}
1658 } 1504 }
1659 class B extends A { 1505 class B extends A {
1660 int get foo => null; 1506 int get foo => null;
1661 } 1507 }
1662 '''); 1508 ''');
1663 await assertHasAssistAt( 1509 await assertHasAssistAt(
1664 'get foo', 1510 'get foo', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1665 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1666 '''
1667 class A { 1511 class A {
1668 void set foo(_) {} 1512 void set foo(_) {}
1669 } 1513 }
1670 class B extends A { 1514 class B extends A {
1671 final int foo; 1515 final int foo;
1672 } 1516 }
1673 '''); 1517 ''');
1674 } 1518 }
1675 1519
1676 test_convertToFinalField_OK_notNull() async { 1520 test_convertToFinalField_OK_notNull() async {
1677 await resolveTestUnit(''' 1521 await resolveTestUnit('''
1678 class A { 1522 class A {
1679 int get foo => 1 + 2; 1523 int get foo => 1 + 2;
1680 } 1524 }
1681 '''); 1525 ''');
1682 await assertHasAssistAt( 1526 await assertHasAssistAt(
1683 'get foo', 1527 'get foo', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1684 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1685 '''
1686 class A { 1528 class A {
1687 final int foo = 1 + 2; 1529 final int foo = 1 + 2;
1688 } 1530 }
1689 '''); 1531 ''');
1690 } 1532 }
1691 1533
1692 test_convertToFinalField_OK_null() async { 1534 test_convertToFinalField_OK_null() async {
1693 await resolveTestUnit(''' 1535 await resolveTestUnit('''
1694 class A { 1536 class A {
1695 int get foo => null; 1537 int get foo => null;
1696 } 1538 }
1697 '''); 1539 ''');
1698 await assertHasAssistAt( 1540 await assertHasAssistAt(
1699 'get foo', 1541 'get foo', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1700 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1701 '''
1702 class A { 1542 class A {
1703 final int foo; 1543 final int foo;
1704 } 1544 }
1705 '''); 1545 ''');
1706 } 1546 }
1707 1547
1708 test_convertToFinalField_OK_onName() async { 1548 test_convertToFinalField_OK_onName() async {
1709 await resolveTestUnit(''' 1549 await resolveTestUnit('''
1710 class A { 1550 class A {
1711 int get foo => 42; 1551 int get foo => 42;
1712 } 1552 }
1713 '''); 1553 ''');
1714 await assertHasAssistAt( 1554 await assertHasAssistAt('foo', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1715 'foo',
1716 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1717 '''
1718 class A { 1555 class A {
1719 final int foo = 42; 1556 final int foo = 42;
1720 } 1557 }
1721 '''); 1558 ''');
1722 } 1559 }
1723 1560
1724 test_convertToFinalField_OK_onReturnType_parameterized() async { 1561 test_convertToFinalField_OK_onReturnType_parameterized() async {
1725 await resolveTestUnit(''' 1562 await resolveTestUnit('''
1726 class A { 1563 class A {
1727 List<int> get foo => null; 1564 List<int> get foo => null;
1728 } 1565 }
1729 '''); 1566 ''');
1730 await assertHasAssistAt( 1567 await assertHasAssistAt(
1731 'nt> get', 1568 'nt> get', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1732 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1733 '''
1734 class A { 1569 class A {
1735 final List<int> foo; 1570 final List<int> foo;
1736 } 1571 }
1737 '''); 1572 ''');
1738 } 1573 }
1739 1574
1740 test_convertToFinalField_OK_onReturnType_simple() async { 1575 test_convertToFinalField_OK_onReturnType_simple() async {
1741 await resolveTestUnit(''' 1576 await resolveTestUnit('''
1742 class A { 1577 class A {
1743 int get foo => 42; 1578 int get foo => 42;
1744 } 1579 }
1745 '''); 1580 ''');
1746 await assertHasAssistAt( 1581 await assertHasAssistAt(
1747 'int get', 1582 'int get', DartAssistKind.CONVERT_INTO_FINAL_FIELD, '''
1748 DartAssistKind.CONVERT_INTO_FINAL_FIELD,
1749 '''
1750 class A { 1583 class A {
1751 final int foo = 42; 1584 final int foo = 42;
1752 } 1585 }
1753 '''); 1586 ''');
1754 } 1587 }
1755 1588
1756 test_convertToForIndex_BAD_bodyNotBlock() async { 1589 test_convertToForIndex_BAD_bodyNotBlock() async {
1757 await resolveTestUnit(''' 1590 await resolveTestUnit('''
1758 main(List<String> items) { 1591 main(List<String> items) {
1759 for (String item in items) print(item); 1592 for (String item in items) print(item);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1814 1647
1815 test_convertToForIndex_OK_onDeclaredIdentifier_name() async { 1648 test_convertToForIndex_OK_onDeclaredIdentifier_name() async {
1816 await resolveTestUnit(''' 1649 await resolveTestUnit('''
1817 main(List<String> items) { 1650 main(List<String> items) {
1818 for (String item in items) { 1651 for (String item in items) {
1819 print(item); 1652 print(item);
1820 } 1653 }
1821 } 1654 }
1822 '''); 1655 ''');
1823 await assertHasAssistAt( 1656 await assertHasAssistAt(
1824 'item in', 1657 'item in', DartAssistKind.CONVERT_INTO_FOR_INDEX, '''
1825 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1826 '''
1827 main(List<String> items) { 1658 main(List<String> items) {
1828 for (int i = 0; i < items.length; i++) { 1659 for (int i = 0; i < items.length; i++) {
1829 String item = items[i]; 1660 String item = items[i];
1830 print(item); 1661 print(item);
1831 } 1662 }
1832 } 1663 }
1833 '''); 1664 ''');
1834 } 1665 }
1835 1666
1836 test_convertToForIndex_OK_onDeclaredIdentifier_type() async { 1667 test_convertToForIndex_OK_onDeclaredIdentifier_type() async {
1837 await resolveTestUnit(''' 1668 await resolveTestUnit('''
1838 main(List<String> items) { 1669 main(List<String> items) {
1839 for (String item in items) { 1670 for (String item in items) {
1840 print(item); 1671 print(item);
1841 } 1672 }
1842 } 1673 }
1843 '''); 1674 ''');
1844 await assertHasAssistAt( 1675 await assertHasAssistAt(
1845 'tring item', 1676 'tring item', DartAssistKind.CONVERT_INTO_FOR_INDEX, '''
1846 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1847 '''
1848 main(List<String> items) { 1677 main(List<String> items) {
1849 for (int i = 0; i < items.length; i++) { 1678 for (int i = 0; i < items.length; i++) {
1850 String item = items[i]; 1679 String item = items[i];
1851 print(item); 1680 print(item);
1852 } 1681 }
1853 } 1682 }
1854 '''); 1683 ''');
1855 } 1684 }
1856 1685
1857 test_convertToForIndex_OK_onFor() async { 1686 test_convertToForIndex_OK_onFor() async {
1858 await resolveTestUnit(''' 1687 await resolveTestUnit('''
1859 main(List<String> items) { 1688 main(List<String> items) {
1860 for (String item in items) { 1689 for (String item in items) {
1861 print(item); 1690 print(item);
1862 } 1691 }
1863 } 1692 }
1864 '''); 1693 ''');
1865 await assertHasAssistAt( 1694 await assertHasAssistAt(
1866 'for (String', 1695 'for (String', DartAssistKind.CONVERT_INTO_FOR_INDEX, '''
1867 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1868 '''
1869 main(List<String> items) { 1696 main(List<String> items) {
1870 for (int i = 0; i < items.length; i++) { 1697 for (int i = 0; i < items.length; i++) {
1871 String item = items[i]; 1698 String item = items[i];
1872 print(item); 1699 print(item);
1873 } 1700 }
1874 } 1701 }
1875 '''); 1702 ''');
1876 } 1703 }
1877 1704
1878 test_convertToForIndex_OK_usesI() async { 1705 test_convertToForIndex_OK_usesI() async {
1879 await resolveTestUnit(''' 1706 await resolveTestUnit('''
1880 main(List<String> items) { 1707 main(List<String> items) {
1881 for (String item in items) { 1708 for (String item in items) {
1882 int i = 0; 1709 int i = 0;
1883 } 1710 }
1884 } 1711 }
1885 '''); 1712 ''');
1886 await assertHasAssistAt( 1713 await assertHasAssistAt(
1887 'for (String', 1714 'for (String', DartAssistKind.CONVERT_INTO_FOR_INDEX, '''
1888 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1889 '''
1890 main(List<String> items) { 1715 main(List<String> items) {
1891 for (int j = 0; j < items.length; j++) { 1716 for (int j = 0; j < items.length; j++) {
1892 String item = items[j]; 1717 String item = items[j];
1893 int i = 0; 1718 int i = 0;
1894 } 1719 }
1895 } 1720 }
1896 '''); 1721 ''');
1897 } 1722 }
1898 1723
1899 test_convertToForIndex_OK_usesIJ() async { 1724 test_convertToForIndex_OK_usesIJ() async {
1900 await resolveTestUnit(''' 1725 await resolveTestUnit('''
1901 main(List<String> items) { 1726 main(List<String> items) {
1902 for (String item in items) { 1727 for (String item in items) {
1903 print(item); 1728 print(item);
1904 int i = 0, j = 1; 1729 int i = 0, j = 1;
1905 } 1730 }
1906 } 1731 }
1907 '''); 1732 ''');
1908 await assertHasAssistAt( 1733 await assertHasAssistAt(
1909 'for (String', 1734 'for (String', DartAssistKind.CONVERT_INTO_FOR_INDEX, '''
1910 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1911 '''
1912 main(List<String> items) { 1735 main(List<String> items) {
1913 for (int k = 0; k < items.length; k++) { 1736 for (int k = 0; k < items.length; k++) {
1914 String item = items[k]; 1737 String item = items[k];
1915 print(item); 1738 print(item);
1916 int i = 0, j = 1; 1739 int i = 0, j = 1;
1917 } 1740 }
1918 } 1741 }
1919 '''); 1742 ''');
1920 } 1743 }
1921 1744
(...skipping 26 matching lines...) Expand all
1948 } 1771 }
1949 1772
1950 test_convertToGetter_OK() async { 1773 test_convertToGetter_OK() async {
1951 await resolveTestUnit(''' 1774 await resolveTestUnit('''
1952 const myAnnotation = const Object(); 1775 const myAnnotation = const Object();
1953 class A { 1776 class A {
1954 @myAnnotation 1777 @myAnnotation
1955 final int foo = 1 + 2; 1778 final int foo = 1 + 2;
1956 } 1779 }
1957 '''); 1780 ''');
1958 await assertHasAssistAt( 1781 await assertHasAssistAt('foo =', DartAssistKind.CONVERT_INTO_GETTER, '''
1959 'foo =',
1960 DartAssistKind.CONVERT_INTO_GETTER,
1961 '''
1962 const myAnnotation = const Object(); 1782 const myAnnotation = const Object();
1963 class A { 1783 class A {
1964 @myAnnotation 1784 @myAnnotation
1965 int get foo => 1 + 2; 1785 int get foo => 1 + 2;
1966 } 1786 }
1967 '''); 1787 ''');
1968 } 1788 }
1969 1789
1970 test_convertToGetter_OK_noType() async { 1790 test_convertToGetter_OK_noType() async {
1971 await resolveTestUnit(''' 1791 await resolveTestUnit('''
1972 class A { 1792 class A {
1973 final foo = 42; 1793 final foo = 42;
1974 } 1794 }
1975 '''); 1795 ''');
1976 await assertHasAssistAt( 1796 await assertHasAssistAt('foo =', DartAssistKind.CONVERT_INTO_GETTER, '''
1977 'foo =',
1978 DartAssistKind.CONVERT_INTO_GETTER,
1979 '''
1980 class A { 1797 class A {
1981 get foo => 42; 1798 get foo => 42;
1982 } 1799 }
1983 '''); 1800 ''');
1984 } 1801 }
1985 1802
1986 test_convertToIsNot_BAD_is_alreadyIsNot() async { 1803 test_convertToIsNot_BAD_is_alreadyIsNot() async {
1987 await resolveTestUnit(''' 1804 await resolveTestUnit('''
1988 main(p) { 1805 main(p) {
1989 p is! String; 1806 p is! String;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
2065 '''); 1882 ''');
2066 await assertNoAssistAt('++(', DartAssistKind.CONVERT_INTO_IS_NOT); 1883 await assertNoAssistAt('++(', DartAssistKind.CONVERT_INTO_IS_NOT);
2067 } 1884 }
2068 1885
2069 test_convertToIsNot_OK_childOfIs_left() async { 1886 test_convertToIsNot_OK_childOfIs_left() async {
2070 await resolveTestUnit(''' 1887 await resolveTestUnit('''
2071 main(p) { 1888 main(p) {
2072 !(p is String); 1889 !(p is String);
2073 } 1890 }
2074 '''); 1891 ''');
2075 await assertHasAssistAt( 1892 await assertHasAssistAt('p is', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2076 'p is',
2077 DartAssistKind.CONVERT_INTO_IS_NOT,
2078 '''
2079 main(p) { 1893 main(p) {
2080 p is! String; 1894 p is! String;
2081 } 1895 }
2082 '''); 1896 ''');
2083 } 1897 }
2084 1898
2085 test_convertToIsNot_OK_childOfIs_right() async { 1899 test_convertToIsNot_OK_childOfIs_right() async {
2086 await resolveTestUnit(''' 1900 await resolveTestUnit('''
2087 main(p) { 1901 main(p) {
2088 !(p is String); 1902 !(p is String);
2089 } 1903 }
2090 '''); 1904 ''');
2091 await assertHasAssistAt( 1905 await assertHasAssistAt('String)', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2092 'String)',
2093 DartAssistKind.CONVERT_INTO_IS_NOT,
2094 '''
2095 main(p) { 1906 main(p) {
2096 p is! String; 1907 p is! String;
2097 } 1908 }
2098 '''); 1909 ''');
2099 } 1910 }
2100 1911
2101 test_convertToIsNot_OK_is() async { 1912 test_convertToIsNot_OK_is() async {
2102 await resolveTestUnit(''' 1913 await resolveTestUnit('''
2103 main(p) { 1914 main(p) {
2104 !(p is String); 1915 !(p is String);
2105 } 1916 }
2106 '''); 1917 ''');
2107 await assertHasAssistAt( 1918 await assertHasAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2108 'is String',
2109 DartAssistKind.CONVERT_INTO_IS_NOT,
2110 '''
2111 main(p) { 1919 main(p) {
2112 p is! String; 1920 p is! String;
2113 } 1921 }
2114 '''); 1922 ''');
2115 } 1923 }
2116 1924
2117 test_convertToIsNot_OK_is_higherPrecedencePrefix() async { 1925 test_convertToIsNot_OK_is_higherPrecedencePrefix() async {
2118 await resolveTestUnit(''' 1926 await resolveTestUnit('''
2119 main(p) { 1927 main(p) {
2120 !!(p is String); 1928 !!(p is String);
2121 } 1929 }
2122 '''); 1930 ''');
2123 await assertHasAssistAt( 1931 await assertHasAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2124 'is String',
2125 DartAssistKind.CONVERT_INTO_IS_NOT,
2126 '''
2127 main(p) { 1932 main(p) {
2128 !(p is! String); 1933 !(p is! String);
2129 } 1934 }
2130 '''); 1935 ''');
2131 } 1936 }
2132 1937
2133 test_convertToIsNot_OK_is_not_higherPrecedencePrefix() async { 1938 test_convertToIsNot_OK_is_not_higherPrecedencePrefix() async {
2134 await resolveTestUnit(''' 1939 await resolveTestUnit('''
2135 main(p) { 1940 main(p) {
2136 !!(p is String); 1941 !!(p is String);
2137 } 1942 }
2138 '''); 1943 ''');
2139 await assertHasAssistAt( 1944 await assertHasAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2140 '!(p',
2141 DartAssistKind.CONVERT_INTO_IS_NOT,
2142 '''
2143 main(p) { 1945 main(p) {
2144 !(p is! String); 1946 !(p is! String);
2145 } 1947 }
2146 '''); 1948 ''');
2147 } 1949 }
2148 1950
2149 test_convertToIsNot_OK_not() async { 1951 test_convertToIsNot_OK_not() async {
2150 await resolveTestUnit(''' 1952 await resolveTestUnit('''
2151 main(p) { 1953 main(p) {
2152 !(p is String); 1954 !(p is String);
2153 } 1955 }
2154 '''); 1956 ''');
2155 await assertHasAssistAt( 1957 await assertHasAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2156 '!(p',
2157 DartAssistKind.CONVERT_INTO_IS_NOT,
2158 '''
2159 main(p) { 1958 main(p) {
2160 p is! String; 1959 p is! String;
2161 } 1960 }
2162 '''); 1961 ''');
2163 } 1962 }
2164 1963
2165 test_convertToIsNot_OK_parentheses() async { 1964 test_convertToIsNot_OK_parentheses() async {
2166 await resolveTestUnit(''' 1965 await resolveTestUnit('''
2167 main(p) { 1966 main(p) {
2168 !(p is String); 1967 !(p is String);
2169 } 1968 }
2170 '''); 1969 ''');
2171 await assertHasAssistAt( 1970 await assertHasAssistAt('(p is', DartAssistKind.CONVERT_INTO_IS_NOT, '''
2172 '(p is',
2173 DartAssistKind.CONVERT_INTO_IS_NOT,
2174 '''
2175 main(p) { 1971 main(p) {
2176 p is! String; 1972 p is! String;
2177 } 1973 }
2178 '''); 1974 ''');
2179 } 1975 }
2180 1976
2181 test_convertToIsNotEmpty_BAD_noBang() async { 1977 test_convertToIsNotEmpty_BAD_noBang() async {
2182 verifyNoTestUnitErrors = false; 1978 verifyNoTestUnitErrors = false;
2183 await resolveTestUnit(''' 1979 await resolveTestUnit('''
2184 main(String str) { 1980 main(String str) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
2221 await assertNoAssistAt('isEven;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); 2017 await assertNoAssistAt('isEven;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY);
2222 } 2018 }
2223 2019
2224 test_convertToIsNotEmpty_OK_on_isEmpty() async { 2020 test_convertToIsNotEmpty_OK_on_isEmpty() async {
2225 await resolveTestUnit(''' 2021 await resolveTestUnit('''
2226 main(String str) { 2022 main(String str) {
2227 !str.isEmpty; 2023 !str.isEmpty;
2228 } 2024 }
2229 '''); 2025 ''');
2230 await assertHasAssistAt( 2026 await assertHasAssistAt(
2231 'isEmpty', 2027 'isEmpty', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, '''
2232 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY,
2233 '''
2234 main(String str) { 2028 main(String str) {
2235 str.isNotEmpty; 2029 str.isNotEmpty;
2236 } 2030 }
2237 '''); 2031 ''');
2238 } 2032 }
2239 2033
2240 test_convertToIsNotEmpty_OK_on_str() async { 2034 test_convertToIsNotEmpty_OK_on_str() async {
2241 await resolveTestUnit(''' 2035 await resolveTestUnit('''
2242 main(String str) { 2036 main(String str) {
2243 !str.isEmpty; 2037 !str.isEmpty;
2244 } 2038 }
2245 '''); 2039 ''');
2246 await assertHasAssistAt( 2040 await assertHasAssistAt(
2247 'str.', 2041 'str.', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, '''
2248 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY,
2249 '''
2250 main(String str) { 2042 main(String str) {
2251 str.isNotEmpty; 2043 str.isNotEmpty;
2252 } 2044 }
2253 '''); 2045 ''');
2254 } 2046 }
2255 2047
2256 test_convertToIsNotEmpty_OK_propertyAccess() async { 2048 test_convertToIsNotEmpty_OK_propertyAccess() async {
2257 await resolveTestUnit(''' 2049 await resolveTestUnit('''
2258 main(String str) { 2050 main(String str) {
2259 !'text'.isEmpty; 2051 !'text'.isEmpty;
2260 } 2052 }
2261 '''); 2053 ''');
2262 await assertHasAssistAt( 2054 await assertHasAssistAt(
2263 'isEmpty', 2055 'isEmpty', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, '''
2264 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY,
2265 '''
2266 main(String str) { 2056 main(String str) {
2267 'text'.isNotEmpty; 2057 'text'.isNotEmpty;
2268 } 2058 }
2269 '''); 2059 ''');
2270 } 2060 }
2271 2061
2272 test_convertToNormalParameter_OK_dynamic() async { 2062 test_convertToNormalParameter_OK_dynamic() async {
2273 await resolveTestUnit(''' 2063 await resolveTestUnit('''
2274 class A { 2064 class A {
2275 var test; 2065 var test;
2276 A(this.test) { 2066 A(this.test) {
2277 } 2067 }
2278 } 2068 }
2279 '''); 2069 ''');
2280 await assertHasAssistAt( 2070 await assertHasAssistAt(
2281 'test)', 2071 'test)', DartAssistKind.CONVERT_TO_NORMAL_PARAMETER, '''
2282 DartAssistKind.CONVERT_TO_NORMAL_PARAMETER,
2283 '''
2284 class A { 2072 class A {
2285 var test; 2073 var test;
2286 A(test) : test = test { 2074 A(test) : test = test {
2287 } 2075 }
2288 } 2076 }
2289 '''); 2077 ''');
2290 } 2078 }
2291 2079
2292 test_convertToNormalParameter_OK_firstInitializer() async { 2080 test_convertToNormalParameter_OK_firstInitializer() async {
2293 await resolveTestUnit(''' 2081 await resolveTestUnit('''
2294 class A { 2082 class A {
2295 int test; 2083 int test;
2296 A(this.test) { 2084 A(this.test) {
2297 } 2085 }
2298 } 2086 }
2299 '''); 2087 ''');
2300 await assertHasAssistAt( 2088 await assertHasAssistAt(
2301 'test)', 2089 'test)', DartAssistKind.CONVERT_TO_NORMAL_PARAMETER, '''
2302 DartAssistKind.CONVERT_TO_NORMAL_PARAMETER,
2303 '''
2304 class A { 2090 class A {
2305 int test; 2091 int test;
2306 A(int test) : test = test { 2092 A(int test) : test = test {
2307 } 2093 }
2308 } 2094 }
2309 '''); 2095 ''');
2310 } 2096 }
2311 2097
2312 test_convertToNormalParameter_OK_secondInitializer() async { 2098 test_convertToNormalParameter_OK_secondInitializer() async {
2313 await resolveTestUnit(''' 2099 await resolveTestUnit('''
2314 class A { 2100 class A {
2315 double aaa; 2101 double aaa;
2316 int bbb; 2102 int bbb;
2317 A(this.bbb) : aaa = 1.0; 2103 A(this.bbb) : aaa = 1.0;
2318 } 2104 }
2319 '''); 2105 ''');
2320 await assertHasAssistAt( 2106 await assertHasAssistAt(
2321 'bbb)', 2107 'bbb)', DartAssistKind.CONVERT_TO_NORMAL_PARAMETER, '''
2322 DartAssistKind.CONVERT_TO_NORMAL_PARAMETER,
2323 '''
2324 class A { 2108 class A {
2325 double aaa; 2109 double aaa;
2326 int bbb; 2110 int bbb;
2327 A(int bbb) : aaa = 1.0, bbb = bbb; 2111 A(int bbb) : aaa = 1.0, bbb = bbb;
2328 } 2112 }
2329 '''); 2113 ''');
2330 } 2114 }
2331 2115
2332 test_encapsulateField_BAD_alreadyPrivate() async { 2116 test_encapsulateField_BAD_alreadyPrivate() async {
2333 await resolveTestUnit(''' 2117 await resolveTestUnit('''
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
2396 test_encapsulateField_OK_hasType() async { 2180 test_encapsulateField_OK_hasType() async {
2397 await resolveTestUnit(''' 2181 await resolveTestUnit('''
2398 class A { 2182 class A {
2399 int test = 42; 2183 int test = 42;
2400 A(this.test); 2184 A(this.test);
2401 } 2185 }
2402 main(A a) { 2186 main(A a) {
2403 print(a.test); 2187 print(a.test);
2404 } 2188 }
2405 '''); 2189 ''');
2406 await assertHasAssistAt( 2190 await assertHasAssistAt('test = 42', DartAssistKind.ENCAPSULATE_FIELD, '''
2407 'test = 42',
2408 DartAssistKind.ENCAPSULATE_FIELD,
2409 '''
2410 class A { 2191 class A {
2411 int _test = 42; 2192 int _test = 42;
2412 2193
2413 int get test => _test; 2194 int get test => _test;
2414 2195
2415 void set test(int test) { 2196 void set test(int test) {
2416 _test = test; 2197 _test = test;
2417 } 2198 }
2418 A(this._test); 2199 A(this._test);
2419 } 2200 }
2420 main(A a) { 2201 main(A a) {
2421 print(a.test); 2202 print(a.test);
2422 } 2203 }
2423 '''); 2204 ''');
2424 } 2205 }
2425 2206
2426 test_encapsulateField_OK_noType() async { 2207 test_encapsulateField_OK_noType() async {
2427 await resolveTestUnit(''' 2208 await resolveTestUnit('''
2428 class A { 2209 class A {
2429 var test = 42; 2210 var test = 42;
2430 } 2211 }
2431 main(A a) { 2212 main(A a) {
2432 print(a.test); 2213 print(a.test);
2433 } 2214 }
2434 '''); 2215 ''');
2435 await assertHasAssistAt( 2216 await assertHasAssistAt('test = 42', DartAssistKind.ENCAPSULATE_FIELD, '''
2436 'test = 42',
2437 DartAssistKind.ENCAPSULATE_FIELD,
2438 '''
2439 class A { 2217 class A {
2440 var _test = 42; 2218 var _test = 42;
2441 2219
2442 get test => _test; 2220 get test => _test;
2443 2221
2444 void set test(test) { 2222 void set test(test) {
2445 _test = test; 2223 _test = test;
2446 } 2224 }
2447 } 2225 }
2448 main(A a) { 2226 main(A a) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2486 const resultOperators = const ['>', '>=', '<', '<=']; 2264 const resultOperators = const ['>', '>=', '<', '<='];
2487 for (int i = 0; i <= 0; i++) { 2265 for (int i = 0; i <= 0; i++) {
2488 String initialOperator = initialOperators[i]; 2266 String initialOperator = initialOperators[i];
2489 String resultOperator = resultOperators[i]; 2267 String resultOperator = resultOperators[i];
2490 await resolveTestUnit(''' 2268 await resolveTestUnit('''
2491 bool main(int a, int b) { 2269 bool main(int a, int b) {
2492 return a $initialOperator b; 2270 return a $initialOperator b;
2493 } 2271 }
2494 '''); 2272 ''');
2495 await assertHasAssistAt( 2273 await assertHasAssistAt(
2496 initialOperator, 2274 initialOperator, DartAssistKind.EXCHANGE_OPERANDS, '''
2497 DartAssistKind.EXCHANGE_OPERANDS,
2498 '''
2499 bool main(int a, int b) { 2275 bool main(int a, int b) {
2500 return b $resultOperator a; 2276 return b $resultOperator a;
2501 } 2277 }
2502 '''); 2278 ''');
2503 } 2279 }
2504 } 2280 }
2505 2281
2506 test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_1() async { 2282 test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_1() async {
2507 await resolveTestUnit(''' 2283 await resolveTestUnit('''
2508 main() { 2284 main() {
2509 1 * 2 * 3 + 4; 2285 1 * 2 * 3 + 4;
2510 } 2286 }
2511 '''); 2287 ''');
2512 await assertHasAssistAt( 2288 await assertHasAssistAt('* 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2513 '* 2',
2514 DartAssistKind.EXCHANGE_OPERANDS,
2515 '''
2516 main() { 2289 main() {
2517 2 * 3 * 1 + 4; 2290 2 * 3 * 1 + 4;
2518 } 2291 }
2519 '''); 2292 ''');
2520 } 2293 }
2521 2294
2522 test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_2() async { 2295 test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_2() async {
2523 await resolveTestUnit(''' 2296 await resolveTestUnit('''
2524 main() { 2297 main() {
2525 1 + 2 - 3 + 4; 2298 1 + 2 - 3 + 4;
2526 } 2299 }
2527 '''); 2300 ''');
2528 await assertHasAssistAt( 2301 await assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2529 '+ 2',
2530 DartAssistKind.EXCHANGE_OPERANDS,
2531 '''
2532 main() { 2302 main() {
2533 2 + 1 - 3 + 4; 2303 2 + 1 - 3 + 4;
2534 } 2304 }
2535 '''); 2305 ''');
2536 } 2306 }
2537 2307
2538 test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterFirst() a sync { 2308 test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterFirst() a sync {
2539 await resolveTestUnit(''' 2309 await resolveTestUnit('''
2540 main() { 2310 main() {
2541 1 + 2 + 3; 2311 1 + 2 + 3;
2542 } 2312 }
2543 '''); 2313 ''');
2544 await assertHasAssistAt( 2314 await assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2545 '+ 2',
2546 DartAssistKind.EXCHANGE_OPERANDS,
2547 '''
2548 main() { 2315 main() {
2549 2 + 3 + 1; 2316 2 + 3 + 1;
2550 } 2317 }
2551 '''); 2318 ''');
2552 } 2319 }
2553 2320
2554 test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterSecond() async { 2321 test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterSecond() async {
2555 await resolveTestUnit(''' 2322 await resolveTestUnit('''
2556 main() { 2323 main() {
2557 1 + 2 + 3; 2324 1 + 2 + 3;
2558 } 2325 }
2559 '''); 2326 ''');
2560 await assertHasAssistAt( 2327 await assertHasAssistAt('+ 3', DartAssistKind.EXCHANGE_OPERANDS, '''
2561 '+ 3',
2562 DartAssistKind.EXCHANGE_OPERANDS,
2563 '''
2564 main() { 2328 main() {
2565 3 + 1 + 2; 2329 3 + 1 + 2;
2566 } 2330 }
2567 '''); 2331 ''');
2568 } 2332 }
2569 2333
2570 test_exchangeBinaryExpressionArguments_OK_simple_afterOperator() async { 2334 test_exchangeBinaryExpressionArguments_OK_simple_afterOperator() async {
2571 await resolveTestUnit(''' 2335 await resolveTestUnit('''
2572 main() { 2336 main() {
2573 1 + 2; 2337 1 + 2;
2574 } 2338 }
2575 '''); 2339 ''');
2576 await assertHasAssistAt( 2340 await assertHasAssistAt(' 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2577 ' 2',
2578 DartAssistKind.EXCHANGE_OPERANDS,
2579 '''
2580 main() { 2341 main() {
2581 2 + 1; 2342 2 + 1;
2582 } 2343 }
2583 '''); 2344 ''');
2584 } 2345 }
2585 2346
2586 test_exchangeBinaryExpressionArguments_OK_simple_beforeOperator() async { 2347 test_exchangeBinaryExpressionArguments_OK_simple_beforeOperator() async {
2587 await resolveTestUnit(''' 2348 await resolveTestUnit('''
2588 main() { 2349 main() {
2589 1 + 2; 2350 1 + 2;
2590 } 2351 }
2591 '''); 2352 ''');
2592 await assertHasAssistAt( 2353 await assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2593 '+ 2',
2594 DartAssistKind.EXCHANGE_OPERANDS,
2595 '''
2596 main() { 2354 main() {
2597 2 + 1; 2355 2 + 1;
2598 } 2356 }
2599 '''); 2357 ''');
2600 } 2358 }
2601 2359
2602 test_exchangeBinaryExpressionArguments_OK_simple_fullSelection() async { 2360 test_exchangeBinaryExpressionArguments_OK_simple_fullSelection() async {
2603 await resolveTestUnit(''' 2361 await resolveTestUnit('''
2604 main() { 2362 main() {
2605 1 + 2; 2363 1 + 2;
2606 } 2364 }
2607 '''); 2365 ''');
2608 length = '1 + 2'.length; 2366 length = '1 + 2'.length;
2609 await assertHasAssistAt( 2367 await assertHasAssistAt('1 + 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2610 '1 + 2',
2611 DartAssistKind.EXCHANGE_OPERANDS,
2612 '''
2613 main() { 2368 main() {
2614 2 + 1; 2369 2 + 1;
2615 } 2370 }
2616 '''); 2371 ''');
2617 } 2372 }
2618 2373
2619 test_exchangeBinaryExpressionArguments_OK_simple_withLength() async { 2374 test_exchangeBinaryExpressionArguments_OK_simple_withLength() async {
2620 await resolveTestUnit(''' 2375 await resolveTestUnit('''
2621 main() { 2376 main() {
2622 1 + 2; 2377 1 + 2;
2623 } 2378 }
2624 '''); 2379 ''');
2625 length = 2; 2380 length = 2;
2626 await assertHasAssistAt( 2381 await assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, '''
2627 '+ 2',
2628 DartAssistKind.EXCHANGE_OPERANDS,
2629 '''
2630 main() { 2382 main() {
2631 2 + 1; 2383 2 + 1;
2632 } 2384 }
2633 '''); 2385 ''');
2634 } 2386 }
2635 2387
2636 test_importAddShow_BAD_hasShow() async { 2388 test_importAddShow_BAD_hasShow() async {
2637 await resolveTestUnit(''' 2389 await resolveTestUnit('''
2638 import 'dart:math' show PI; 2390 import 'dart:math' show PI;
2639 main() { 2391 main() {
(...skipping 19 matching lines...) Expand all
2659 } 2411 }
2660 2412
2661 test_importAddShow_OK_hasUnresolvedIdentifier() async { 2413 test_importAddShow_OK_hasUnresolvedIdentifier() async {
2662 await resolveTestUnit(''' 2414 await resolveTestUnit('''
2663 import 'dart:math'; 2415 import 'dart:math';
2664 main(x) { 2416 main(x) {
2665 PI; 2417 PI;
2666 return x.foo(); 2418 return x.foo();
2667 } 2419 }
2668 '''); 2420 ''');
2669 await assertHasAssistAt( 2421 await assertHasAssistAt('import ', DartAssistKind.IMPORT_ADD_SHOW, '''
2670 'import ',
2671 DartAssistKind.IMPORT_ADD_SHOW,
2672 '''
2673 import 'dart:math' show PI; 2422 import 'dart:math' show PI;
2674 main(x) { 2423 main(x) {
2675 PI; 2424 PI;
2676 return x.foo(); 2425 return x.foo();
2677 } 2426 }
2678 '''); 2427 ''');
2679 } 2428 }
2680 2429
2681 test_importAddShow_OK_onDirective() async { 2430 test_importAddShow_OK_onDirective() async {
2682 await resolveTestUnit(''' 2431 await resolveTestUnit('''
2683 import 'dart:math'; 2432 import 'dart:math';
2684 main() { 2433 main() {
2685 PI; 2434 PI;
2686 E; 2435 E;
2687 max(1, 2); 2436 max(1, 2);
2688 } 2437 }
2689 '''); 2438 ''');
2690 await assertHasAssistAt( 2439 await assertHasAssistAt('import ', DartAssistKind.IMPORT_ADD_SHOW, '''
2691 'import ',
2692 DartAssistKind.IMPORT_ADD_SHOW,
2693 '''
2694 import 'dart:math' show E, PI, max; 2440 import 'dart:math' show E, PI, max;
2695 main() { 2441 main() {
2696 PI; 2442 PI;
2697 E; 2443 E;
2698 max(1, 2); 2444 max(1, 2);
2699 } 2445 }
2700 '''); 2446 ''');
2701 } 2447 }
2702 2448
2703 test_importAddShow_OK_onUri() async { 2449 test_importAddShow_OK_onUri() async {
2704 await resolveTestUnit(''' 2450 await resolveTestUnit('''
2705 import 'dart:math'; 2451 import 'dart:math';
2706 main() { 2452 main() {
2707 PI; 2453 PI;
2708 E; 2454 E;
2709 max(1, 2); 2455 max(1, 2);
2710 } 2456 }
2711 '''); 2457 ''');
2712 await assertHasAssistAt( 2458 await assertHasAssistAt('art:math', DartAssistKind.IMPORT_ADD_SHOW, '''
2713 'art:math',
2714 DartAssistKind.IMPORT_ADD_SHOW,
2715 '''
2716 import 'dart:math' show E, PI, max; 2459 import 'dart:math' show E, PI, max;
2717 main() { 2460 main() {
2718 PI; 2461 PI;
2719 E; 2462 E;
2720 max(1, 2); 2463 max(1, 2);
2721 } 2464 }
2722 '''); 2465 ''');
2723 } 2466 }
2724 2467
2725 test_introduceLocalTestedType_BAD_notBlock() async { 2468 test_introduceLocalTestedType_BAD_notBlock() async {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
2844 test_invertIfStatement_blocks() async { 2587 test_invertIfStatement_blocks() async {
2845 await resolveTestUnit(''' 2588 await resolveTestUnit('''
2846 main() { 2589 main() {
2847 if (true) { 2590 if (true) {
2848 0; 2591 0;
2849 } else { 2592 } else {
2850 1; 2593 1;
2851 } 2594 }
2852 } 2595 }
2853 '''); 2596 ''');
2854 await assertHasAssistAt( 2597 await assertHasAssistAt('if (', DartAssistKind.INVERT_IF_STATEMENT, '''
2855 'if (',
2856 DartAssistKind.INVERT_IF_STATEMENT,
2857 '''
2858 main() { 2598 main() {
2859 if (false) { 2599 if (false) {
2860 1; 2600 1;
2861 } else { 2601 } else {
2862 0; 2602 0;
2863 } 2603 }
2864 } 2604 }
2865 '''); 2605 ''');
2866 } 2606 }
2867 2607
2868 test_invertIfStatement_statements() async { 2608 test_invertIfStatement_statements() async {
2869 await resolveTestUnit(''' 2609 await resolveTestUnit('''
2870 main() { 2610 main() {
2871 if (true) 2611 if (true)
2872 0; 2612 0;
2873 else 2613 else
2874 1; 2614 1;
2875 } 2615 }
2876 '''); 2616 ''');
2877 await assertHasAssistAt( 2617 await assertHasAssistAt('if (', DartAssistKind.INVERT_IF_STATEMENT, '''
2878 'if (',
2879 DartAssistKind.INVERT_IF_STATEMENT,
2880 '''
2881 main() { 2618 main() {
2882 if (false) 2619 if (false)
2883 1; 2620 1;
2884 else 2621 else
2885 0; 2622 0;
2886 } 2623 }
2887 '''); 2624 ''');
2888 } 2625 }
2889 2626
2890 test_joinIfStatementInner_BAD_innerNotIf() async { 2627 test_joinIfStatementInner_BAD_innerNotIf() async {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2968 test_joinIfStatementInner_OK_conditionAndOr() async { 2705 test_joinIfStatementInner_OK_conditionAndOr() async {
2969 await resolveTestUnit(''' 2706 await resolveTestUnit('''
2970 main() { 2707 main() {
2971 if (1 == 1) { 2708 if (1 == 1) {
2972 if (2 == 2 || 3 == 3) { 2709 if (2 == 2 || 3 == 3) {
2973 print(0); 2710 print(0);
2974 } 2711 }
2975 } 2712 }
2976 } 2713 }
2977 '''); 2714 ''');
2978 await assertHasAssistAt( 2715 await assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
2979 'if (1 ==',
2980 DartAssistKind.JOIN_IF_WITH_INNER,
2981 '''
2982 main() { 2716 main() {
2983 if (1 == 1 && (2 == 2 || 3 == 3)) { 2717 if (1 == 1 && (2 == 2 || 3 == 3)) {
2984 print(0); 2718 print(0);
2985 } 2719 }
2986 } 2720 }
2987 '''); 2721 ''');
2988 } 2722 }
2989 2723
2990 test_joinIfStatementInner_OK_conditionInvocation() async { 2724 test_joinIfStatementInner_OK_conditionInvocation() async {
2991 await resolveTestUnit(''' 2725 await resolveTestUnit('''
2992 main() { 2726 main() {
2993 if (isCheck()) { 2727 if (isCheck()) {
2994 if (2 == 2) { 2728 if (2 == 2) {
2995 print(0); 2729 print(0);
2996 } 2730 }
2997 } 2731 }
2998 } 2732 }
2999 bool isCheck() => false; 2733 bool isCheck() => false;
3000 '''); 2734 ''');
3001 await assertHasAssistAt( 2735 await assertHasAssistAt(
3002 'if (isCheck', 2736 'if (isCheck', DartAssistKind.JOIN_IF_WITH_INNER, '''
3003 DartAssistKind.JOIN_IF_WITH_INNER,
3004 '''
3005 main() { 2737 main() {
3006 if (isCheck() && 2 == 2) { 2738 if (isCheck() && 2 == 2) {
3007 print(0); 2739 print(0);
3008 } 2740 }
3009 } 2741 }
3010 bool isCheck() => false; 2742 bool isCheck() => false;
3011 '''); 2743 ''');
3012 } 2744 }
3013 2745
3014 test_joinIfStatementInner_OK_conditionOrAnd() async { 2746 test_joinIfStatementInner_OK_conditionOrAnd() async {
3015 await resolveTestUnit(''' 2747 await resolveTestUnit('''
3016 main() { 2748 main() {
3017 if (1 == 1 || 2 == 2) { 2749 if (1 == 1 || 2 == 2) {
3018 if (3 == 3) { 2750 if (3 == 3) {
3019 print(0); 2751 print(0);
3020 } 2752 }
3021 } 2753 }
3022 } 2754 }
3023 '''); 2755 ''');
3024 await assertHasAssistAt( 2756 await assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
3025 'if (1 ==',
3026 DartAssistKind.JOIN_IF_WITH_INNER,
3027 '''
3028 main() { 2757 main() {
3029 if ((1 == 1 || 2 == 2) && 3 == 3) { 2758 if ((1 == 1 || 2 == 2) && 3 == 3) {
3030 print(0); 2759 print(0);
3031 } 2760 }
3032 } 2761 }
3033 '''); 2762 ''');
3034 } 2763 }
3035 2764
3036 test_joinIfStatementInner_OK_onCondition() async { 2765 test_joinIfStatementInner_OK_onCondition() async {
3037 await resolveTestUnit(''' 2766 await resolveTestUnit('''
3038 main() { 2767 main() {
3039 if (1 == 1) { 2768 if (1 == 1) {
3040 if (2 == 2) { 2769 if (2 == 2) {
3041 print(0); 2770 print(0);
3042 } 2771 }
3043 } 2772 }
3044 } 2773 }
3045 '''); 2774 ''');
3046 await assertHasAssistAt( 2775 await assertHasAssistAt('1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
3047 '1 ==',
3048 DartAssistKind.JOIN_IF_WITH_INNER,
3049 '''
3050 main() { 2776 main() {
3051 if (1 == 1 && 2 == 2) { 2777 if (1 == 1 && 2 == 2) {
3052 print(0); 2778 print(0);
3053 } 2779 }
3054 } 2780 }
3055 '''); 2781 ''');
3056 } 2782 }
3057 2783
3058 test_joinIfStatementInner_OK_simpleConditions_block_block() async { 2784 test_joinIfStatementInner_OK_simpleConditions_block_block() async {
3059 await resolveTestUnit(''' 2785 await resolveTestUnit('''
3060 main() { 2786 main() {
3061 if (1 == 1) { 2787 if (1 == 1) {
3062 if (2 == 2) { 2788 if (2 == 2) {
3063 print(0); 2789 print(0);
3064 } 2790 }
3065 } 2791 }
3066 } 2792 }
3067 '''); 2793 ''');
3068 await assertHasAssistAt( 2794 await assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
3069 'if (1 ==',
3070 DartAssistKind.JOIN_IF_WITH_INNER,
3071 '''
3072 main() { 2795 main() {
3073 if (1 == 1 && 2 == 2) { 2796 if (1 == 1 && 2 == 2) {
3074 print(0); 2797 print(0);
3075 } 2798 }
3076 } 2799 }
3077 '''); 2800 ''');
3078 } 2801 }
3079 2802
3080 test_joinIfStatementInner_OK_simpleConditions_block_single() async { 2803 test_joinIfStatementInner_OK_simpleConditions_block_single() async {
3081 await resolveTestUnit(''' 2804 await resolveTestUnit('''
3082 main() { 2805 main() {
3083 if (1 == 1) { 2806 if (1 == 1) {
3084 if (2 == 2) 2807 if (2 == 2)
3085 print(0); 2808 print(0);
3086 } 2809 }
3087 } 2810 }
3088 '''); 2811 ''');
3089 await assertHasAssistAt( 2812 await assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
3090 'if (1 ==',
3091 DartAssistKind.JOIN_IF_WITH_INNER,
3092 '''
3093 main() { 2813 main() {
3094 if (1 == 1 && 2 == 2) { 2814 if (1 == 1 && 2 == 2) {
3095 print(0); 2815 print(0);
3096 } 2816 }
3097 } 2817 }
3098 '''); 2818 ''');
3099 } 2819 }
3100 2820
3101 test_joinIfStatementInner_OK_simpleConditions_single_blockMulti() async { 2821 test_joinIfStatementInner_OK_simpleConditions_single_blockMulti() async {
3102 await resolveTestUnit(''' 2822 await resolveTestUnit('''
3103 main() { 2823 main() {
3104 if (1 == 1) { 2824 if (1 == 1) {
3105 if (2 == 2) { 2825 if (2 == 2) {
3106 print(1); 2826 print(1);
3107 print(2); 2827 print(2);
3108 print(3); 2828 print(3);
3109 } 2829 }
3110 } 2830 }
3111 } 2831 }
3112 '''); 2832 ''');
3113 await assertHasAssistAt( 2833 await assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
3114 'if (1 ==',
3115 DartAssistKind.JOIN_IF_WITH_INNER,
3116 '''
3117 main() { 2834 main() {
3118 if (1 == 1 && 2 == 2) { 2835 if (1 == 1 && 2 == 2) {
3119 print(1); 2836 print(1);
3120 print(2); 2837 print(2);
3121 print(3); 2838 print(3);
3122 } 2839 }
3123 } 2840 }
3124 '''); 2841 ''');
3125 } 2842 }
3126 2843
3127 test_joinIfStatementInner_OK_simpleConditions_single_blockOne() async { 2844 test_joinIfStatementInner_OK_simpleConditions_single_blockOne() async {
3128 await resolveTestUnit(''' 2845 await resolveTestUnit('''
3129 main() { 2846 main() {
3130 if (1 == 1) 2847 if (1 == 1)
3131 if (2 == 2) { 2848 if (2 == 2) {
3132 print(0); 2849 print(0);
3133 } 2850 }
3134 } 2851 }
3135 '''); 2852 ''');
3136 await assertHasAssistAt( 2853 await assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, '''
3137 'if (1 ==',
3138 DartAssistKind.JOIN_IF_WITH_INNER,
3139 '''
3140 main() { 2854 main() {
3141 if (1 == 1 && 2 == 2) { 2855 if (1 == 1 && 2 == 2) {
3142 print(0); 2856 print(0);
3143 } 2857 }
3144 } 2858 }
3145 '''); 2859 ''');
3146 } 2860 }
3147 2861
3148 test_joinIfStatementOuter_BAD_outerNotIf() async { 2862 test_joinIfStatementOuter_BAD_outerNotIf() async {
3149 await resolveTestUnit(''' 2863 await resolveTestUnit('''
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
3226 test_joinIfStatementOuter_OK_conditionAndOr() async { 2940 test_joinIfStatementOuter_OK_conditionAndOr() async {
3227 await resolveTestUnit(''' 2941 await resolveTestUnit('''
3228 main() { 2942 main() {
3229 if (1 == 1) { 2943 if (1 == 1) {
3230 if (2 == 2 || 3 == 3) { 2944 if (2 == 2 || 3 == 3) {
3231 print(0); 2945 print(0);
3232 } 2946 }
3233 } 2947 }
3234 } 2948 }
3235 '''); 2949 ''');
3236 await assertHasAssistAt( 2950 await assertHasAssistAt('if (2 ==', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3237 'if (2 ==',
3238 DartAssistKind.JOIN_IF_WITH_OUTER,
3239 '''
3240 main() { 2951 main() {
3241 if (1 == 1 && (2 == 2 || 3 == 3)) { 2952 if (1 == 1 && (2 == 2 || 3 == 3)) {
3242 print(0); 2953 print(0);
3243 } 2954 }
3244 } 2955 }
3245 '''); 2956 ''');
3246 } 2957 }
3247 2958
3248 test_joinIfStatementOuter_OK_conditionInvocation() async { 2959 test_joinIfStatementOuter_OK_conditionInvocation() async {
3249 await resolveTestUnit(''' 2960 await resolveTestUnit('''
3250 main() { 2961 main() {
3251 if (1 == 1) { 2962 if (1 == 1) {
3252 if (isCheck()) { 2963 if (isCheck()) {
3253 print(0); 2964 print(0);
3254 } 2965 }
3255 } 2966 }
3256 } 2967 }
3257 bool isCheck() => false; 2968 bool isCheck() => false;
3258 '''); 2969 ''');
3259 await assertHasAssistAt( 2970 await assertHasAssistAt(
3260 'if (isCheck', 2971 'if (isCheck', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3261 DartAssistKind.JOIN_IF_WITH_OUTER,
3262 '''
3263 main() { 2972 main() {
3264 if (1 == 1 && isCheck()) { 2973 if (1 == 1 && isCheck()) {
3265 print(0); 2974 print(0);
3266 } 2975 }
3267 } 2976 }
3268 bool isCheck() => false; 2977 bool isCheck() => false;
3269 '''); 2978 ''');
3270 } 2979 }
3271 2980
3272 test_joinIfStatementOuter_OK_conditionOrAnd() async { 2981 test_joinIfStatementOuter_OK_conditionOrAnd() async {
3273 await resolveTestUnit(''' 2982 await resolveTestUnit('''
3274 main() { 2983 main() {
3275 if (1 == 1 || 2 == 2) { 2984 if (1 == 1 || 2 == 2) {
3276 if (3 == 3) { 2985 if (3 == 3) {
3277 print(0); 2986 print(0);
3278 } 2987 }
3279 } 2988 }
3280 } 2989 }
3281 '''); 2990 ''');
3282 await assertHasAssistAt( 2991 await assertHasAssistAt('if (3 == 3', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3283 'if (3 == 3',
3284 DartAssistKind.JOIN_IF_WITH_OUTER,
3285 '''
3286 main() { 2992 main() {
3287 if ((1 == 1 || 2 == 2) && 3 == 3) { 2993 if ((1 == 1 || 2 == 2) && 3 == 3) {
3288 print(0); 2994 print(0);
3289 } 2995 }
3290 } 2996 }
3291 '''); 2997 ''');
3292 } 2998 }
3293 2999
3294 test_joinIfStatementOuter_OK_onCondition() async { 3000 test_joinIfStatementOuter_OK_onCondition() async {
3295 await resolveTestUnit(''' 3001 await resolveTestUnit('''
3296 main() { 3002 main() {
3297 if (1 == 1) { 3003 if (1 == 1) {
3298 if (2 == 2) { 3004 if (2 == 2) {
3299 print(0); 3005 print(0);
3300 } 3006 }
3301 } 3007 }
3302 } 3008 }
3303 '''); 3009 ''');
3304 await assertHasAssistAt( 3010 await assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3305 'if (2 == 2',
3306 DartAssistKind.JOIN_IF_WITH_OUTER,
3307 '''
3308 main() { 3011 main() {
3309 if (1 == 1 && 2 == 2) { 3012 if (1 == 1 && 2 == 2) {
3310 print(0); 3013 print(0);
3311 } 3014 }
3312 } 3015 }
3313 '''); 3016 ''');
3314 } 3017 }
3315 3018
3316 test_joinIfStatementOuter_OK_simpleConditions_block_block() async { 3019 test_joinIfStatementOuter_OK_simpleConditions_block_block() async {
3317 await resolveTestUnit(''' 3020 await resolveTestUnit('''
3318 main() { 3021 main() {
3319 if (1 == 1) { 3022 if (1 == 1) {
3320 if (2 == 2) { 3023 if (2 == 2) {
3321 print(0); 3024 print(0);
3322 } 3025 }
3323 } 3026 }
3324 } 3027 }
3325 '''); 3028 ''');
3326 await assertHasAssistAt( 3029 await assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3327 'if (2 == 2',
3328 DartAssistKind.JOIN_IF_WITH_OUTER,
3329 '''
3330 main() { 3030 main() {
3331 if (1 == 1 && 2 == 2) { 3031 if (1 == 1 && 2 == 2) {
3332 print(0); 3032 print(0);
3333 } 3033 }
3334 } 3034 }
3335 '''); 3035 ''');
3336 } 3036 }
3337 3037
3338 test_joinIfStatementOuter_OK_simpleConditions_block_single() async { 3038 test_joinIfStatementOuter_OK_simpleConditions_block_single() async {
3339 await resolveTestUnit(''' 3039 await resolveTestUnit('''
3340 main() { 3040 main() {
3341 if (1 == 1) { 3041 if (1 == 1) {
3342 if (2 == 2) 3042 if (2 == 2)
3343 print(0); 3043 print(0);
3344 } 3044 }
3345 } 3045 }
3346 '''); 3046 ''');
3347 await assertHasAssistAt( 3047 await assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3348 'if (2 == 2',
3349 DartAssistKind.JOIN_IF_WITH_OUTER,
3350 '''
3351 main() { 3048 main() {
3352 if (1 == 1 && 2 == 2) { 3049 if (1 == 1 && 2 == 2) {
3353 print(0); 3050 print(0);
3354 } 3051 }
3355 } 3052 }
3356 '''); 3053 ''');
3357 } 3054 }
3358 3055
3359 test_joinIfStatementOuter_OK_simpleConditions_single_blockMulti() async { 3056 test_joinIfStatementOuter_OK_simpleConditions_single_blockMulti() async {
3360 await resolveTestUnit(''' 3057 await resolveTestUnit('''
3361 main() { 3058 main() {
3362 if (1 == 1) { 3059 if (1 == 1) {
3363 if (2 == 2) { 3060 if (2 == 2) {
3364 print(1); 3061 print(1);
3365 print(2); 3062 print(2);
3366 print(3); 3063 print(3);
3367 } 3064 }
3368 } 3065 }
3369 } 3066 }
3370 '''); 3067 ''');
3371 await assertHasAssistAt( 3068 await assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3372 'if (2 == 2',
3373 DartAssistKind.JOIN_IF_WITH_OUTER,
3374 '''
3375 main() { 3069 main() {
3376 if (1 == 1 && 2 == 2) { 3070 if (1 == 1 && 2 == 2) {
3377 print(1); 3071 print(1);
3378 print(2); 3072 print(2);
3379 print(3); 3073 print(3);
3380 } 3074 }
3381 } 3075 }
3382 '''); 3076 ''');
3383 } 3077 }
3384 3078
3385 test_joinIfStatementOuter_OK_simpleConditions_single_blockOne() async { 3079 test_joinIfStatementOuter_OK_simpleConditions_single_blockOne() async {
3386 await resolveTestUnit(''' 3080 await resolveTestUnit('''
3387 main() { 3081 main() {
3388 if (1 == 1) 3082 if (1 == 1)
3389 if (2 == 2) { 3083 if (2 == 2) {
3390 print(0); 3084 print(0);
3391 } 3085 }
3392 } 3086 }
3393 '''); 3087 ''');
3394 await assertHasAssistAt( 3088 await assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, '''
3395 'if (2 == 2',
3396 DartAssistKind.JOIN_IF_WITH_OUTER,
3397 '''
3398 main() { 3089 main() {
3399 if (1 == 1 && 2 == 2) { 3090 if (1 == 1 && 2 == 2) {
3400 print(0); 3091 print(0);
3401 } 3092 }
3402 } 3093 }
3403 '''); 3094 ''');
3404 } 3095 }
3405 3096
3406 test_joinVariableDeclaration_onAssignment_BAD_hasInitializer() async { 3097 test_joinVariableDeclaration_onAssignment_BAD_hasInitializer() async {
3407 await resolveTestUnit(''' 3098 await resolveTestUnit('''
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
3487 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); 3178 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION);
3488 } 3179 }
3489 3180
3490 test_joinVariableDeclaration_onAssignment_OK() async { 3181 test_joinVariableDeclaration_onAssignment_OK() async {
3491 await resolveTestUnit(''' 3182 await resolveTestUnit('''
3492 main() { 3183 main() {
3493 var v; 3184 var v;
3494 v = 1; 3185 v = 1;
3495 } 3186 }
3496 '''); 3187 ''');
3497 await assertHasAssistAt( 3188 await assertHasAssistAt('v =', DartAssistKind.JOIN_VARIABLE_DECLARATION, '''
3498 'v =',
3499 DartAssistKind.JOIN_VARIABLE_DECLARATION,
3500 '''
3501 main() { 3189 main() {
3502 var v = 1; 3190 var v = 1;
3503 } 3191 }
3504 '''); 3192 ''');
3505 } 3193 }
3506 3194
3507 test_joinVariableDeclaration_onDeclaration_BAD_hasInitializer() async { 3195 test_joinVariableDeclaration_onDeclaration_BAD_hasInitializer() async {
3508 await resolveTestUnit(''' 3196 await resolveTestUnit('''
3509 main() { 3197 main() {
3510 var v = 1; 3198 var v = 1;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
3564 await assertNoAssistAt('v, ', DartAssistKind.JOIN_VARIABLE_DECLARATION); 3252 await assertNoAssistAt('v, ', DartAssistKind.JOIN_VARIABLE_DECLARATION);
3565 } 3253 }
3566 3254
3567 test_joinVariableDeclaration_onDeclaration_OK_onName() async { 3255 test_joinVariableDeclaration_onDeclaration_OK_onName() async {
3568 await resolveTestUnit(''' 3256 await resolveTestUnit('''
3569 main() { 3257 main() {
3570 var v; 3258 var v;
3571 v = 1; 3259 v = 1;
3572 } 3260 }
3573 '''); 3261 ''');
3574 await assertHasAssistAt( 3262 await assertHasAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION, '''
3575 'v;',
3576 DartAssistKind.JOIN_VARIABLE_DECLARATION,
3577 '''
3578 main() { 3263 main() {
3579 var v = 1; 3264 var v = 1;
3580 } 3265 }
3581 '''); 3266 ''');
3582 } 3267 }
3583 3268
3584 test_joinVariableDeclaration_onDeclaration_OK_onType() async { 3269 test_joinVariableDeclaration_onDeclaration_OK_onType() async {
3585 await resolveTestUnit(''' 3270 await resolveTestUnit('''
3586 main() { 3271 main() {
3587 int v; 3272 int v;
3588 v = 1; 3273 v = 1;
3589 } 3274 }
3590 '''); 3275 ''');
3591 await assertHasAssistAt( 3276 await assertHasAssistAt(
3592 'int v', 3277 'int v', DartAssistKind.JOIN_VARIABLE_DECLARATION, '''
3593 DartAssistKind.JOIN_VARIABLE_DECLARATION,
3594 '''
3595 main() { 3278 main() {
3596 int v = 1; 3279 int v = 1;
3597 } 3280 }
3598 '''); 3281 ''');
3599 } 3282 }
3600 3283
3601 test_joinVariableDeclaration_onDeclaration_OK_onVar() async { 3284 test_joinVariableDeclaration_onDeclaration_OK_onVar() async {
3602 await resolveTestUnit(''' 3285 await resolveTestUnit('''
3603 main() { 3286 main() {
3604 var v; 3287 var v;
3605 v = 1; 3288 v = 1;
3606 } 3289 }
3607 '''); 3290 ''');
3608 await assertHasAssistAt( 3291 await assertHasAssistAt(
3609 'var v', 3292 'var v', DartAssistKind.JOIN_VARIABLE_DECLARATION, '''
3610 DartAssistKind.JOIN_VARIABLE_DECLARATION,
3611 '''
3612 main() { 3293 main() {
3613 var v = 1; 3294 var v = 1;
3614 } 3295 }
3615 '''); 3296 ''');
3616 } 3297 }
3617 3298
3618 test_moveFlutterWidgetDown_OK() async { 3299 test_moveFlutterWidgetDown_OK() async {
3619 _configureFlutterPkg({ 3300 _configureFlutterPkg({
3620 'src/widgets/framework.dart': flutter_framework_code, 3301 'src/widgets/framework.dart': flutter_framework_code,
3621 }); 3302 });
(...skipping 11 matching lines...) Expand all
3633 ), 3314 ),
3634 key: null, 3315 key: null,
3635 ), 3316 ),
3636 ), 3317 ),
3637 // end 3318 // end
3638 ); 3319 );
3639 } 3320 }
3640 startResize() {} 3321 startResize() {}
3641 '''); 3322 ''');
3642 _setCaretLocation(); 3323 _setCaretLocation();
3643 await assertHasAssist( 3324 await assertHasAssist(DartAssistKind.MOVE_FLUTTER_WIDGET_DOWN, '''
3644 DartAssistKind.MOVE_FLUTTER_WIDGET_DOWN,
3645 '''
3646 import 'package:flutter/src/widgets/framework.dart'; 3325 import 'package:flutter/src/widgets/framework.dart';
3647 build() { 3326 build() {
3648 return new Scaffold( 3327 return new Scaffold(
3649 // start 3328 // start
3650 body: new Center( 3329 body: new Center(
3651 child: new /*caret*/GestureDetector( 3330 child: new /*caret*/GestureDetector(
3652 onTap: () => startResize(), 3331 onTap: () => startResize(),
3653 child: new Container( 3332 child: new Container(
3654 width: 200.0, 3333 width: 200.0,
3655 height: 300.0, 3334 height: 300.0,
(...skipping 26 matching lines...) Expand all
3682 ), 3361 ),
3683 ), 3362 ),
3684 key: null, 3363 key: null,
3685 ), 3364 ),
3686 // end 3365 // end
3687 ); 3366 );
3688 } 3367 }
3689 startResize() {} 3368 startResize() {}
3690 '''); 3369 ''');
3691 _setCaretLocation(); 3370 _setCaretLocation();
3692 await assertHasAssist( 3371 await assertHasAssist(DartAssistKind.MOVE_FLUTTER_WIDGET_UP, '''
3693 DartAssistKind.MOVE_FLUTTER_WIDGET_UP,
3694 '''
3695 import 'package:flutter/src/widgets/framework.dart'; 3372 import 'package:flutter/src/widgets/framework.dart';
3696 build() { 3373 build() {
3697 return new Scaffold( 3374 return new Scaffold(
3698 // start 3375 // start
3699 body: new /*caret*/GestureDetector( 3376 body: new /*caret*/GestureDetector(
3700 onTap: () => startResize(), 3377 onTap: () => startResize(),
3701 child: new Center( 3378 child: new Center(
3702 child: new Container( 3379 child: new Container(
3703 width: 200.0, 3380 width: 200.0,
3704 height: 300.0, 3381 height: 300.0,
3705 ), 3382 ),
3706 key: null, 3383 key: null,
3707 ), 3384 ),
3708 ), 3385 ),
3709 // end 3386 // end
3710 ); 3387 );
3711 } 3388 }
3712 startResize() {} 3389 startResize() {}
3713 '''); 3390 ''');
3714 } 3391 }
3715 3392
3716 test_removeTypeAnnotation_classField_OK() async { 3393 test_removeTypeAnnotation_classField_OK() async {
3717 await resolveTestUnit(''' 3394 await resolveTestUnit('''
3718 class A { 3395 class A {
3719 int v = 1; 3396 int v = 1;
3720 } 3397 }
3721 '''); 3398 ''');
3722 await assertHasAssistAt( 3399 await assertHasAssistAt('v = ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3723 'v = ',
3724 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3725 '''
3726 class A { 3400 class A {
3727 var v = 1; 3401 var v = 1;
3728 } 3402 }
3729 '''); 3403 ''');
3730 } 3404 }
3731 3405
3732 test_removeTypeAnnotation_classField_OK_final() async { 3406 test_removeTypeAnnotation_classField_OK_final() async {
3733 await resolveTestUnit(''' 3407 await resolveTestUnit('''
3734 class A { 3408 class A {
3735 final int v = 1; 3409 final int v = 1;
3736 } 3410 }
3737 '''); 3411 ''');
3738 await assertHasAssistAt( 3412 await assertHasAssistAt('v = ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3739 'v = ',
3740 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3741 '''
3742 class A { 3413 class A {
3743 final v = 1; 3414 final v = 1;
3744 } 3415 }
3745 '''); 3416 ''');
3746 } 3417 }
3747 3418
3748 test_removeTypeAnnotation_localVariable_BAD_onInitializer() async { 3419 test_removeTypeAnnotation_localVariable_BAD_onInitializer() async {
3749 await resolveTestUnit(''' 3420 await resolveTestUnit('''
3750 main() { 3421 main() {
3751 final int v = 1; 3422 final int v = 1;
3752 } 3423 }
3753 '''); 3424 ''');
3754 await assertNoAssistAt('1;', DartAssistKind.REMOVE_TYPE_ANNOTATION); 3425 await assertNoAssistAt('1;', DartAssistKind.REMOVE_TYPE_ANNOTATION);
3755 } 3426 }
3756 3427
3757 test_removeTypeAnnotation_localVariable_OK() async { 3428 test_removeTypeAnnotation_localVariable_OK() async {
3758 await resolveTestUnit(''' 3429 await resolveTestUnit('''
3759 main() { 3430 main() {
3760 int a = 1, b = 2; 3431 int a = 1, b = 2;
3761 } 3432 }
3762 '''); 3433 ''');
3763 await assertHasAssistAt( 3434 await assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3764 'int ',
3765 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3766 '''
3767 main() { 3435 main() {
3768 var a = 1, b = 2; 3436 var a = 1, b = 2;
3769 } 3437 }
3770 '''); 3438 ''');
3771 } 3439 }
3772 3440
3773 test_removeTypeAnnotation_localVariable_OK_const() async { 3441 test_removeTypeAnnotation_localVariable_OK_const() async {
3774 await resolveTestUnit(''' 3442 await resolveTestUnit('''
3775 main() { 3443 main() {
3776 const int v = 1; 3444 const int v = 1;
3777 } 3445 }
3778 '''); 3446 ''');
3779 await assertHasAssistAt( 3447 await assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3780 'int ',
3781 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3782 '''
3783 main() { 3448 main() {
3784 const v = 1; 3449 const v = 1;
3785 } 3450 }
3786 '''); 3451 ''');
3787 } 3452 }
3788 3453
3789 test_removeTypeAnnotation_localVariable_OK_final() async { 3454 test_removeTypeAnnotation_localVariable_OK_final() async {
3790 await resolveTestUnit(''' 3455 await resolveTestUnit('''
3791 main() { 3456 main() {
3792 final int v = 1; 3457 final int v = 1;
3793 } 3458 }
3794 '''); 3459 ''');
3795 await assertHasAssistAt( 3460 await assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3796 'int ',
3797 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3798 '''
3799 main() { 3461 main() {
3800 final v = 1; 3462 final v = 1;
3801 } 3463 }
3802 '''); 3464 ''');
3803 } 3465 }
3804 3466
3805 test_removeTypeAnnotation_topLevelVariable_BAD_syntheticName() async { 3467 test_removeTypeAnnotation_topLevelVariable_BAD_syntheticName() async {
3806 verifyNoTestUnitErrors = false; 3468 verifyNoTestUnitErrors = false;
3807 await resolveTestUnit(''' 3469 await resolveTestUnit('''
3808 MyType 3470 MyType
3809 '''); 3471 ''');
3810 await assertNoAssistAt('MyType', DartAssistKind.REMOVE_TYPE_ANNOTATION); 3472 await assertNoAssistAt('MyType', DartAssistKind.REMOVE_TYPE_ANNOTATION);
3811 } 3473 }
3812 3474
3813 test_removeTypeAnnotation_topLevelVariable_OK() async { 3475 test_removeTypeAnnotation_topLevelVariable_OK() async {
3814 await resolveTestUnit(''' 3476 await resolveTestUnit('''
3815 int V = 1; 3477 int V = 1;
3816 '''); 3478 ''');
3817 await assertHasAssistAt( 3479 await assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3818 'int ',
3819 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3820 '''
3821 var V = 1; 3480 var V = 1;
3822 '''); 3481 ''');
3823 } 3482 }
3824 3483
3825 test_removeTypeAnnotation_topLevelVariable_OK_final() async { 3484 test_removeTypeAnnotation_topLevelVariable_OK_final() async {
3826 await resolveTestUnit(''' 3485 await resolveTestUnit('''
3827 final int V = 1; 3486 final int V = 1;
3828 '''); 3487 ''');
3829 await assertHasAssistAt( 3488 await assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, '''
3830 'int ',
3831 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3832 '''
3833 final V = 1; 3489 final V = 1;
3834 '''); 3490 ''');
3835 } 3491 }
3836 3492
3837 test_reparentFlutterList_BAD_multiLine() async { 3493 test_reparentFlutterList_BAD_multiLine() async {
3838 verifyNoTestUnitErrors = false; 3494 verifyNoTestUnitErrors = false;
3839 _configureFlutterPkg({ 3495 _configureFlutterPkg({
3840 'src/widgets/framework.dart': flutter_framework_code, 3496 'src/widgets/framework.dart': flutter_framework_code,
3841 }); 3497 });
3842 await resolveTestUnit(''' 3498 await resolveTestUnit('''
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
3892 new Transform(), 3548 new Transform(),
3893 new Transform(), 3549 new Transform(),
3894 new AspectRatio(), 3550 new AspectRatio(),
3895 ], 3551 ],
3896 // end 3552 // end
3897 ), 3553 ),
3898 ); 3554 );
3899 } 3555 }
3900 '''); 3556 ''');
3901 _setCaretLocation(); 3557 _setCaretLocation();
3902 await assertHasAssist( 3558 await assertHasAssist(DartAssistKind.REPARENT_FLUTTER_LIST, '''
3903 DartAssistKind.REPARENT_FLUTTER_LIST,
3904 '''
3905 import 'package:flutter/src/widgets/framework.dart'; 3559 import 'package:flutter/src/widgets/framework.dart';
3906 build() { 3560 build() {
3907 return new Container( 3561 return new Container(
3908 child: new Row( 3562 child: new Row(
3909 // start 3563 // start
3910 children: [ 3564 children: [
3911 new widget( 3565 new widget(
3912 children: [/*caret*/ 3566 children: [/*caret*/
3913 new Transform(), 3567 new Transform(),
3914 new Transform(), 3568 new Transform(),
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
3970 ), 3624 ),
3971 ], 3625 ],
3972 ), 3626 ),
3973 ), 3627 ),
3974 // end 3628 // end
3975 ); 3629 );
3976 } 3630 }
3977 } 3631 }
3978 '''); 3632 ''');
3979 _setCaretLocation(); 3633 _setCaretLocation();
3980 await assertHasAssist( 3634 await assertHasAssist(DartAssistKind.REPARENT_FLUTTER_WIDGET, '''
3981 DartAssistKind.REPARENT_FLUTTER_WIDGET,
3982 '''
3983 import 'package:flutter/src/widgets/framework.dart'; 3635 import 'package:flutter/src/widgets/framework.dart';
3984 class FakeFlutter { 3636 class FakeFlutter {
3985 main() { 3637 main() {
3986 return new Container( 3638 return new Container(
3987 // start 3639 // start
3988 child: new widget( 3640 child: new widget(
3989 child: new /*caret*/DefaultTextStyle( 3641 child: new /*caret*/DefaultTextStyle(
3990 child: new Row( 3642 child: new Row(
3991 children: <Widget>[ 3643 children: <Widget>[
3992 new Container( 3644 new Container(
(...skipping 26 matching lines...) Expand all
4019 ),\r 3671 ),\r
4020 ],\r 3672 ],\r
4021 ),\r 3673 ),\r
4022 ),\r 3674 ),\r
4023 // end\r 3675 // end\r
4024 );\r 3676 );\r
4025 }\r 3677 }\r
4026 }\r 3678 }\r
4027 '''); 3679 ''');
4028 _setCaretLocation(); 3680 _setCaretLocation();
4029 await assertHasAssist( 3681 await assertHasAssist(DartAssistKind.REPARENT_FLUTTER_WIDGET, '''
4030 DartAssistKind.REPARENT_FLUTTER_WIDGET,
4031 '''
4032 import 'package:flutter/src/widgets/framework.dart';\r 3682 import 'package:flutter/src/widgets/framework.dart';\r
4033 class FakeFlutter {\r 3683 class FakeFlutter {\r
4034 main() {\r 3684 main() {\r
4035 return new Container(\r 3685 return new Container(\r
4036 // start\r 3686 // start\r
4037 child: new widget(\r 3687 child: new widget(\r
4038 child: new /*caret*/DefaultTextStyle(\r 3688 child: new /*caret*/DefaultTextStyle(\r
4039 child: new Row(\r 3689 child: new Row(\r
4040 children: <Widget>[\r 3690 children: <Widget>[\r
4041 new Container(\r 3691 new Container(\r
(...skipping 17 matching lines...) Expand all
4059 import 'package:flutter/src/widgets/framework.dart'; 3709 import 'package:flutter/src/widgets/framework.dart';
4060 class FakeFlutter { 3710 class FakeFlutter {
4061 main() { 3711 main() {
4062 // start 3712 // start
4063 return /*caret*/new Container(); 3713 return /*caret*/new Container();
4064 // end 3714 // end
4065 } 3715 }
4066 } 3716 }
4067 '''); 3717 ''');
4068 _setCaretLocation(); 3718 _setCaretLocation();
4069 await assertHasAssist( 3719 await assertHasAssist(DartAssistKind.REPARENT_FLUTTER_WIDGET, '''
4070 DartAssistKind.REPARENT_FLUTTER_WIDGET,
4071 '''
4072 import 'package:flutter/src/widgets/framework.dart'; 3720 import 'package:flutter/src/widgets/framework.dart';
4073 class FakeFlutter { 3721 class FakeFlutter {
4074 main() { 3722 main() {
4075 // start 3723 // start
4076 return /*caret*/new widget(child: new Container()); 3724 return /*caret*/new widget(child: new Container());
4077 // end 3725 // end
4078 } 3726 }
4079 } 3727 }
4080 '''); 3728 ''');
4081 } 3729 }
4082 3730
4083 test_reparentFlutterWidget_OK_singleLine2() async { 3731 test_reparentFlutterWidget_OK_singleLine2() async {
4084 _configureFlutterPkg({ 3732 _configureFlutterPkg({
4085 'src/widgets/framework.dart': flutter_framework_code, 3733 'src/widgets/framework.dart': flutter_framework_code,
4086 }); 3734 });
4087 await resolveTestUnit(''' 3735 await resolveTestUnit('''
4088 import 'package:flutter/src/widgets/framework.dart'; 3736 import 'package:flutter/src/widgets/framework.dart';
4089 class FakeFlutter { 3737 class FakeFlutter {
4090 main() { 3738 main() {
4091 // start 3739 // start
4092 return new ClipRect./*caret*/rect(); 3740 return new ClipRect./*caret*/rect();
4093 // end 3741 // end
4094 } 3742 }
4095 } 3743 }
4096 '''); 3744 ''');
4097 _setCaretLocation(); 3745 _setCaretLocation();
4098 await assertHasAssist( 3746 await assertHasAssist(DartAssistKind.REPARENT_FLUTTER_WIDGET, '''
4099 DartAssistKind.REPARENT_FLUTTER_WIDGET,
4100 '''
4101 import 'package:flutter/src/widgets/framework.dart'; 3747 import 'package:flutter/src/widgets/framework.dart';
4102 class FakeFlutter { 3748 class FakeFlutter {
4103 main() { 3749 main() {
4104 // start 3750 // start
4105 return new widget(child: new ClipRect./*caret*/rect()); 3751 return new widget(child: new ClipRect./*caret*/rect());
4106 // end 3752 // end
4107 } 3753 }
4108 } 3754 }
4109 '''); 3755 ''');
4110 } 3756 }
(...skipping 18 matching lines...) Expand all
4129 3775
4130 test_replaceConditionalWithIfElse_OK_assignment() async { 3776 test_replaceConditionalWithIfElse_OK_assignment() async {
4131 await resolveTestUnit(''' 3777 await resolveTestUnit('''
4132 main() { 3778 main() {
4133 var v; 3779 var v;
4134 v = true ? 111 : 222; 3780 v = true ? 111 : 222;
4135 } 3781 }
4136 '''); 3782 ''');
4137 // on conditional 3783 // on conditional
4138 await assertHasAssistAt( 3784 await assertHasAssistAt(
4139 '11 :', 3785 '11 :', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
4140 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
4141 '''
4142 main() { 3786 main() {
4143 var v; 3787 var v;
4144 if (true) { 3788 if (true) {
4145 v = 111; 3789 v = 111;
4146 } else { 3790 } else {
4147 v = 222; 3791 v = 222;
4148 } 3792 }
4149 } 3793 }
4150 '''); 3794 ''');
4151 // on variable 3795 // on variable
4152 await assertHasAssistAt( 3796 await assertHasAssistAt(
4153 'v =', 3797 'v =', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
4154 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
4155 '''
4156 main() { 3798 main() {
4157 var v; 3799 var v;
4158 if (true) { 3800 if (true) {
4159 v = 111; 3801 v = 111;
4160 } else { 3802 } else {
4161 v = 222; 3803 v = 222;
4162 } 3804 }
4163 } 3805 }
4164 '''); 3806 ''');
4165 } 3807 }
4166 3808
4167 test_replaceConditionalWithIfElse_OK_return() async { 3809 test_replaceConditionalWithIfElse_OK_return() async {
4168 await resolveTestUnit(''' 3810 await resolveTestUnit('''
4169 main() { 3811 main() {
4170 return true ? 111 : 222; 3812 return true ? 111 : 222;
4171 } 3813 }
4172 '''); 3814 ''');
4173 await assertHasAssistAt( 3815 await assertHasAssistAt(
4174 'return ', 3816 'return ', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
4175 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
4176 '''
4177 main() { 3817 main() {
4178 if (true) { 3818 if (true) {
4179 return 111; 3819 return 111;
4180 } else { 3820 } else {
4181 return 222; 3821 return 222;
4182 } 3822 }
4183 } 3823 }
4184 '''); 3824 ''');
4185 } 3825 }
4186 3826
4187 test_replaceConditionalWithIfElse_OK_variableDeclaration() async { 3827 test_replaceConditionalWithIfElse_OK_variableDeclaration() async {
4188 await resolveTestUnit(''' 3828 await resolveTestUnit('''
4189 main() { 3829 main() {
4190 int a = 1, vvv = true ? 111 : 222, b = 2; 3830 int a = 1, vvv = true ? 111 : 222, b = 2;
4191 } 3831 }
4192 '''); 3832 ''');
4193 await assertHasAssistAt( 3833 await assertHasAssistAt(
4194 '11 :', 3834 '11 :', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
4195 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
4196 '''
4197 main() { 3835 main() {
4198 int a = 1, vvv, b = 2; 3836 int a = 1, vvv, b = 2;
4199 if (true) { 3837 if (true) {
4200 vvv = 111; 3838 vvv = 111;
4201 } else { 3839 } else {
4202 vvv = 222; 3840 vvv = 222;
4203 } 3841 }
4204 } 3842 }
4205 '''); 3843 ''');
4206 } 3844 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
4251 main() { 3889 main() {
4252 int vvv; 3890 int vvv;
4253 if (true) { 3891 if (true) {
4254 vvv = 111; 3892 vvv = 111;
4255 } else { 3893 } else {
4256 vvv = 222; 3894 vvv = 222;
4257 } 3895 }
4258 } 3896 }
4259 '''); 3897 ''');
4260 await assertHasAssistAt( 3898 await assertHasAssistAt(
4261 'if (true)', 3899 'if (true)', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, '''
4262 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL,
4263 '''
4264 main() { 3900 main() {
4265 int vvv; 3901 int vvv;
4266 vvv = true ? 111 : 222; 3902 vvv = true ? 111 : 222;
4267 } 3903 }
4268 '''); 3904 ''');
4269 } 3905 }
4270 3906
4271 test_replaceIfElseWithConditional_OK_return() async { 3907 test_replaceIfElseWithConditional_OK_return() async {
4272 await resolveTestUnit(''' 3908 await resolveTestUnit('''
4273 main() { 3909 main() {
4274 if (true) { 3910 if (true) {
4275 return 111; 3911 return 111;
4276 } else { 3912 } else {
4277 return 222; 3913 return 222;
4278 } 3914 }
4279 } 3915 }
4280 '''); 3916 ''');
4281 await assertHasAssistAt( 3917 await assertHasAssistAt(
4282 'if (true)', 3918 'if (true)', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, '''
4283 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL,
4284 '''
4285 main() { 3919 main() {
4286 return true ? 111 : 222; 3920 return true ? 111 : 222;
4287 } 3921 }
4288 '''); 3922 ''');
4289 } 3923 }
4290 3924
4291 test_splitAndCondition_BAD_hasElse() async { 3925 test_splitAndCondition_BAD_hasElse() async {
4292 await resolveTestUnit(''' 3926 await resolveTestUnit('''
4293 main() { 3927 main() {
4294 if (1 == 1 && 2 == 2) { 3928 if (1 == 1 && 2 == 2) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
4337 } 3971 }
4338 3972
4339 test_splitAndCondition_OK_innerAndExpression() async { 3973 test_splitAndCondition_OK_innerAndExpression() async {
4340 await resolveTestUnit(''' 3974 await resolveTestUnit('''
4341 main() { 3975 main() {
4342 if (1 == 1 && 2 == 2 && 3 == 3) { 3976 if (1 == 1 && 2 == 2 && 3 == 3) {
4343 print(0); 3977 print(0);
4344 } 3978 }
4345 } 3979 }
4346 '''); 3980 ''');
4347 await assertHasAssistAt( 3981 await assertHasAssistAt('&& 2 == 2', DartAssistKind.SPLIT_AND_CONDITION, '''
4348 '&& 2 == 2',
4349 DartAssistKind.SPLIT_AND_CONDITION,
4350 '''
4351 main() { 3982 main() {
4352 if (1 == 1) { 3983 if (1 == 1) {
4353 if (2 == 2 && 3 == 3) { 3984 if (2 == 2 && 3 == 3) {
4354 print(0); 3985 print(0);
4355 } 3986 }
4356 } 3987 }
4357 } 3988 }
4358 '''); 3989 ''');
4359 } 3990 }
4360 3991
4361 test_splitAndCondition_OK_thenBlock() async { 3992 test_splitAndCondition_OK_thenBlock() async {
4362 await resolveTestUnit(''' 3993 await resolveTestUnit('''
4363 main() { 3994 main() {
4364 if (true && false) { 3995 if (true && false) {
4365 print(0); 3996 print(0);
4366 if (3 == 3) { 3997 if (3 == 3) {
4367 print(1); 3998 print(1);
4368 } 3999 }
4369 } 4000 }
4370 } 4001 }
4371 '''); 4002 ''');
4372 await assertHasAssistAt( 4003 await assertHasAssistAt('&& false', DartAssistKind.SPLIT_AND_CONDITION, '''
4373 '&& false',
4374 DartAssistKind.SPLIT_AND_CONDITION,
4375 '''
4376 main() { 4004 main() {
4377 if (true) { 4005 if (true) {
4378 if (false) { 4006 if (false) {
4379 print(0); 4007 print(0);
4380 if (3 == 3) { 4008 if (3 == 3) {
4381 print(1); 4009 print(1);
4382 } 4010 }
4383 } 4011 }
4384 } 4012 }
4385 } 4013 }
4386 '''); 4014 ''');
4387 } 4015 }
4388 4016
4389 test_splitAndCondition_OK_thenStatement() async { 4017 test_splitAndCondition_OK_thenStatement() async {
4390 await resolveTestUnit(''' 4018 await resolveTestUnit('''
4391 main() { 4019 main() {
4392 if (true && false) 4020 if (true && false)
4393 print(0); 4021 print(0);
4394 } 4022 }
4395 '''); 4023 ''');
4396 await assertHasAssistAt( 4024 await assertHasAssistAt('&& false', DartAssistKind.SPLIT_AND_CONDITION, '''
4397 '&& false',
4398 DartAssistKind.SPLIT_AND_CONDITION,
4399 '''
4400 main() { 4025 main() {
4401 if (true) 4026 if (true)
4402 if (false) 4027 if (false)
4403 print(0); 4028 print(0);
4404 } 4029 }
4405 '''); 4030 ''');
4406 } 4031 }
4407 4032
4408 test_splitAndCondition_wrong() async { 4033 test_splitAndCondition_wrong() async {
4409 await resolveTestUnit(''' 4034 await resolveTestUnit('''
(...skipping 22 matching lines...) Expand all
4432 await assertNoAssistAt('v = 1', DartAssistKind.SPLIT_VARIABLE_DECLARATION); 4057 await assertNoAssistAt('v = 1', DartAssistKind.SPLIT_VARIABLE_DECLARATION);
4433 } 4058 }
4434 4059
4435 test_splitVariableDeclaration_OK_onName() async { 4060 test_splitVariableDeclaration_OK_onName() async {
4436 await resolveTestUnit(''' 4061 await resolveTestUnit('''
4437 main() { 4062 main() {
4438 var v = 1; 4063 var v = 1;
4439 } 4064 }
4440 '''); 4065 ''');
4441 await assertHasAssistAt( 4066 await assertHasAssistAt(
4442 'v =', 4067 'v =', DartAssistKind.SPLIT_VARIABLE_DECLARATION, '''
4443 DartAssistKind.SPLIT_VARIABLE_DECLARATION,
4444 '''
4445 main() { 4068 main() {
4446 var v; 4069 var v;
4447 v = 1; 4070 v = 1;
4448 } 4071 }
4449 '''); 4072 ''');
4450 } 4073 }
4451 4074
4452 test_splitVariableDeclaration_OK_onType() async { 4075 test_splitVariableDeclaration_OK_onType() async {
4453 await resolveTestUnit(''' 4076 await resolveTestUnit('''
4454 main() { 4077 main() {
4455 int v = 1; 4078 int v = 1;
4456 } 4079 }
4457 '''); 4080 ''');
4458 await assertHasAssistAt( 4081 await assertHasAssistAt(
4459 'int ', 4082 'int ', DartAssistKind.SPLIT_VARIABLE_DECLARATION, '''
4460 DartAssistKind.SPLIT_VARIABLE_DECLARATION,
4461 '''
4462 main() { 4083 main() {
4463 int v; 4084 int v;
4464 v = 1; 4085 v = 1;
4465 } 4086 }
4466 '''); 4087 ''');
4467 } 4088 }
4468 4089
4469 test_splitVariableDeclaration_OK_onVar() async { 4090 test_splitVariableDeclaration_OK_onVar() async {
4470 await resolveTestUnit(''' 4091 await resolveTestUnit('''
4471 main() { 4092 main() {
4472 var v = 1; 4093 var v = 1;
4473 } 4094 }
4474 '''); 4095 ''');
4475 await assertHasAssistAt( 4096 await assertHasAssistAt(
4476 'var ', 4097 'var ', DartAssistKind.SPLIT_VARIABLE_DECLARATION, '''
4477 DartAssistKind.SPLIT_VARIABLE_DECLARATION,
4478 '''
4479 main() { 4098 main() {
4480 var v; 4099 var v;
4481 v = 1; 4100 v = 1;
4482 } 4101 }
4483 '''); 4102 ''');
4484 } 4103 }
4485 4104
4486 test_surroundWith_block() async { 4105 test_surroundWith_block() async {
4487 await resolveTestUnit(''' 4106 await resolveTestUnit('''
4488 main() { 4107 main() {
4489 // start 4108 // start
4490 print(0); 4109 print(0);
4491 print(1); 4110 print(1);
4492 // end 4111 // end
4493 } 4112 }
4494 '''); 4113 ''');
4495 _setStartEndSelection(); 4114 _setStartEndSelection();
4496 await assertHasAssist( 4115 await assertHasAssist(DartAssistKind.SURROUND_WITH_BLOCK, '''
4497 DartAssistKind.SURROUND_WITH_BLOCK,
4498 '''
4499 main() { 4116 main() {
4500 // start 4117 // start
4501 { 4118 {
4502 print(0); 4119 print(0);
4503 print(1); 4120 print(1);
4504 } 4121 }
4505 // end 4122 // end
4506 } 4123 }
4507 '''); 4124 ''');
4508 } 4125 }
4509 4126
4510 test_surroundWith_doWhile() async { 4127 test_surroundWith_doWhile() async {
4511 await resolveTestUnit(''' 4128 await resolveTestUnit('''
4512 main() { 4129 main() {
4513 // start 4130 // start
4514 print(0); 4131 print(0);
4515 print(1); 4132 print(1);
4516 // end 4133 // end
4517 } 4134 }
4518 '''); 4135 ''');
4519 _setStartEndSelection(); 4136 _setStartEndSelection();
4520 await assertHasAssist( 4137 await assertHasAssist(DartAssistKind.SURROUND_WITH_DO_WHILE, '''
4521 DartAssistKind.SURROUND_WITH_DO_WHILE,
4522 '''
4523 main() { 4138 main() {
4524 // start 4139 // start
4525 do { 4140 do {
4526 print(0); 4141 print(0);
4527 print(1); 4142 print(1);
4528 } while (condition); 4143 } while (condition);
4529 // end 4144 // end
4530 } 4145 }
4531 '''); 4146 ''');
4532 } 4147 }
4533 4148
4534 test_surroundWith_for() async { 4149 test_surroundWith_for() async {
4535 await resolveTestUnit(''' 4150 await resolveTestUnit('''
4536 main() { 4151 main() {
4537 // start 4152 // start
4538 print(0); 4153 print(0);
4539 print(1); 4154 print(1);
4540 // end 4155 // end
4541 } 4156 }
4542 '''); 4157 ''');
4543 _setStartEndSelection(); 4158 _setStartEndSelection();
4544 await assertHasAssist( 4159 await assertHasAssist(DartAssistKind.SURROUND_WITH_FOR, '''
4545 DartAssistKind.SURROUND_WITH_FOR,
4546 '''
4547 main() { 4160 main() {
4548 // start 4161 // start
4549 for (var v = init; condition; increment) { 4162 for (var v = init; condition; increment) {
4550 print(0); 4163 print(0);
4551 print(1); 4164 print(1);
4552 } 4165 }
4553 // end 4166 // end
4554 } 4167 }
4555 '''); 4168 ''');
4556 } 4169 }
4557 4170
4558 test_surroundWith_forIn() async { 4171 test_surroundWith_forIn() async {
4559 await resolveTestUnit(''' 4172 await resolveTestUnit('''
4560 main() { 4173 main() {
4561 // start 4174 // start
4562 print(0); 4175 print(0);
4563 print(1); 4176 print(1);
4564 // end 4177 // end
4565 } 4178 }
4566 '''); 4179 ''');
4567 _setStartEndSelection(); 4180 _setStartEndSelection();
4568 await assertHasAssist( 4181 await assertHasAssist(DartAssistKind.SURROUND_WITH_FOR_IN, '''
4569 DartAssistKind.SURROUND_WITH_FOR_IN,
4570 '''
4571 main() { 4182 main() {
4572 // start 4183 // start
4573 for (var item in iterable) { 4184 for (var item in iterable) {
4574 print(0); 4185 print(0);
4575 print(1); 4186 print(1);
4576 } 4187 }
4577 // end 4188 // end
4578 } 4189 }
4579 '''); 4190 ''');
4580 } 4191 }
4581 4192
4582 test_surroundWith_if() async { 4193 test_surroundWith_if() async {
4583 await resolveTestUnit(''' 4194 await resolveTestUnit('''
4584 main() { 4195 main() {
4585 // start 4196 // start
4586 print(0); 4197 print(0);
4587 print(1); 4198 print(1);
4588 // end 4199 // end
4589 } 4200 }
4590 '''); 4201 ''');
4591 _setStartEndSelection(); 4202 _setStartEndSelection();
4592 await assertHasAssist( 4203 await assertHasAssist(DartAssistKind.SURROUND_WITH_IF, '''
4593 DartAssistKind.SURROUND_WITH_IF,
4594 '''
4595 main() { 4204 main() {
4596 // start 4205 // start
4597 if (condition) { 4206 if (condition) {
4598 print(0); 4207 print(0);
4599 print(1); 4208 print(1);
4600 } 4209 }
4601 // end 4210 // end
4602 } 4211 }
4603 '''); 4212 ''');
4604 } 4213 }
4605 4214
4606 test_surroundWith_tryCatch() async { 4215 test_surroundWith_tryCatch() async {
4607 await resolveTestUnit(''' 4216 await resolveTestUnit('''
4608 main() { 4217 main() {
4609 // start 4218 // start
4610 print(0); 4219 print(0);
4611 print(1); 4220 print(1);
4612 // end 4221 // end
4613 } 4222 }
4614 '''); 4223 ''');
4615 _setStartEndSelection(); 4224 _setStartEndSelection();
4616 await assertHasAssist( 4225 await assertHasAssist(DartAssistKind.SURROUND_WITH_TRY_CATCH, '''
4617 DartAssistKind.SURROUND_WITH_TRY_CATCH,
4618 '''
4619 main() { 4226 main() {
4620 // start 4227 // start
4621 try { 4228 try {
4622 print(0); 4229 print(0);
4623 print(1); 4230 print(1);
4624 } on Exception catch (e) { 4231 } on Exception catch (e) {
4625 // TODO 4232 // TODO
4626 } 4233 }
4627 // end 4234 // end
4628 } 4235 }
4629 '''); 4236 ''');
4630 } 4237 }
4631 4238
4632 test_surroundWith_tryFinally() async { 4239 test_surroundWith_tryFinally() async {
4633 await resolveTestUnit(''' 4240 await resolveTestUnit('''
4634 main() { 4241 main() {
4635 // start 4242 // start
4636 print(0); 4243 print(0);
4637 print(1); 4244 print(1);
4638 // end 4245 // end
4639 } 4246 }
4640 '''); 4247 ''');
4641 _setStartEndSelection(); 4248 _setStartEndSelection();
4642 await assertHasAssist( 4249 await assertHasAssist(DartAssistKind.SURROUND_WITH_TRY_FINALLY, '''
4643 DartAssistKind.SURROUND_WITH_TRY_FINALLY,
4644 '''
4645 main() { 4250 main() {
4646 // start 4251 // start
4647 try { 4252 try {
4648 print(0); 4253 print(0);
4649 print(1); 4254 print(1);
4650 } finally { 4255 } finally {
4651 // TODO 4256 // TODO
4652 } 4257 }
4653 // end 4258 // end
4654 } 4259 }
4655 '''); 4260 ''');
4656 } 4261 }
4657 4262
4658 test_surroundWith_while() async { 4263 test_surroundWith_while() async {
4659 await resolveTestUnit(''' 4264 await resolveTestUnit('''
4660 main() { 4265 main() {
4661 // start 4266 // start
4662 print(0); 4267 print(0);
4663 print(1); 4268 print(1);
4664 // end 4269 // end
4665 } 4270 }
4666 '''); 4271 ''');
4667 _setStartEndSelection(); 4272 _setStartEndSelection();
4668 await assertHasAssist( 4273 await assertHasAssist(DartAssistKind.SURROUND_WITH_WHILE, '''
4669 DartAssistKind.SURROUND_WITH_WHILE,
4670 '''
4671 main() { 4274 main() {
4672 // start 4275 // start
4673 while (condition) { 4276 while (condition) {
4674 print(0); 4277 print(0);
4675 print(1); 4278 print(1);
4676 } 4279 }
4677 // end 4280 // end
4678 } 4281 }
4679 '''); 4282 ''');
4680 } 4283 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
4770 4373
4771 @override 4374 @override
4772 final AstProvider astProvider; 4375 final AstProvider astProvider;
4773 4376
4774 @override 4377 @override
4775 final CompilationUnit unit; 4378 final CompilationUnit unit;
4776 4379
4777 _DartAssistContextForValues(this.source, this.selectionOffset, 4380 _DartAssistContextForValues(this.source, this.selectionOffset,
4778 this.selectionLength, this.analysisDriver, this.astProvider, this.unit); 4381 this.selectionLength, this.analysisDriver, this.astProvider, this.unit);
4779 } 4382 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698