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

Side by Side Diff: pkg/analysis_server/test/services/correction/assist_test.dart

Issue 1267333003: Issue 23963. Improve to/from block/expression body with void expressions. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « pkg/analysis_server/lib/src/services/correction/assist_internal.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.services.correction.assist; 5 library test.services.correction.assist;
6 6
7 import 'package:analysis_server/edit/assist/assist_core.dart'; 7 import 'package:analysis_server/edit/assist/assist_core.dart';
8 import 'package:analysis_server/src/plugin/server_plugin.dart'; 8 import 'package:analysis_server/src/plugin/server_plugin.dart';
9 import 'package:analysis_server/src/protocol.dart'; 9 import 'package:analysis_server/src/protocol.dart';
10 import 'package:analysis_server/src/services/correction/assist.dart'; 10 import 'package:analysis_server/src/services/correction/assist.dart';
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 void setUp() { 99 void setUp() {
100 super.setUp(); 100 super.setUp();
101 offset = 0; 101 offset = 0;
102 length = 0; 102 length = 0;
103 ExtensionManager manager = new ExtensionManager(); 103 ExtensionManager manager = new ExtensionManager();
104 plugin = new ServerPlugin(); 104 plugin = new ServerPlugin();
105 manager.processPlugins([plugin]); 105 manager.processPlugins([plugin]);
106 } 106 }
107 107
108 void test_addTypeAnnotation_BAD_privateType_closureParameter() { 108 void test_addTypeAnnotation_BAD_privateType_closureParameter() {
109 addSource('/my_lib.dart', ''' 109 addSource(
110 '/my_lib.dart',
111 '''
110 library my_lib; 112 library my_lib;
111 class A {} 113 class A {}
112 class _B extends A {} 114 class _B extends A {}
113 foo(f(_B p)) {} 115 foo(f(_B p)) {}
114 '''); 116 ''');
115 resolveTestUnit(''' 117 resolveTestUnit('''
116 import 'my_lib.dart'; 118 import 'my_lib.dart';
117 main() { 119 main() {
118 foo((test) {}); 120 foo((test) {});
119 } 121 }
120 '''); 122 ''');
121 assertNoAssistAt('test)', DartAssistKind.ADD_TYPE_ANNOTATION); 123 assertNoAssistAt('test)', DartAssistKind.ADD_TYPE_ANNOTATION);
122 } 124 }
123 125
124 void test_addTypeAnnotation_BAD_privateType_declaredIdentifier() { 126 void test_addTypeAnnotation_BAD_privateType_declaredIdentifier() {
125 addSource('/my_lib.dart', ''' 127 addSource(
128 '/my_lib.dart',
129 '''
126 library my_lib; 130 library my_lib;
127 class A {} 131 class A {}
128 class _B extends A {} 132 class _B extends A {}
129 List<_B> getValues() => []; 133 List<_B> getValues() => [];
130 '''); 134 ''');
131 resolveTestUnit(''' 135 resolveTestUnit('''
132 import 'my_lib.dart'; 136 import 'my_lib.dart';
133 class A<T> { 137 class A<T> {
134 main() { 138 main() {
135 for (var item in getValues()) { 139 for (var item in getValues()) {
136 } 140 }
137 } 141 }
138 } 142 }
139 '''); 143 ''');
140 assertNoAssistAt('var item', DartAssistKind.ADD_TYPE_ANNOTATION); 144 assertNoAssistAt('var item', DartAssistKind.ADD_TYPE_ANNOTATION);
141 } 145 }
142 146
143 void test_addTypeAnnotation_BAD_privateType_list() { 147 void test_addTypeAnnotation_BAD_privateType_list() {
144 addSource('/my_lib.dart', ''' 148 addSource(
149 '/my_lib.dart',
150 '''
145 library my_lib; 151 library my_lib;
146 class A {} 152 class A {}
147 class _B extends A {} 153 class _B extends A {}
148 List<_B> getValues() => []; 154 List<_B> getValues() => [];
149 '''); 155 ''');
150 resolveTestUnit(''' 156 resolveTestUnit('''
151 import 'my_lib.dart'; 157 import 'my_lib.dart';
152 main() { 158 main() {
153 var v = getValues(); 159 var v = getValues();
154 } 160 }
155 '''); 161 ''');
156 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 162 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
157 } 163 }
158 164
159 void test_addTypeAnnotation_BAD_privateType_variable() { 165 void test_addTypeAnnotation_BAD_privateType_variable() {
160 addSource('/my_lib.dart', ''' 166 addSource(
167 '/my_lib.dart',
168 '''
161 library my_lib; 169 library my_lib;
162 class A {} 170 class A {}
163 class _B extends A {} 171 class _B extends A {}
164 _B getValue() => new _B(); 172 _B getValue() => new _B();
165 '''); 173 ''');
166 resolveTestUnit(''' 174 resolveTestUnit('''
167 import 'my_lib.dart'; 175 import 'my_lib.dart';
168 main() { 176 main() {
169 var v = getValue(); 177 var v = getValue();
170 } 178 }
171 '''); 179 ''');
172 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 180 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
173 } 181 }
174 182
175 void test_addTypeAnnotation_classField_OK_final() { 183 void test_addTypeAnnotation_classField_OK_final() {
176 resolveTestUnit(''' 184 resolveTestUnit('''
177 class A { 185 class A {
178 final f = 0; 186 final f = 0;
179 } 187 }
180 '''); 188 ''');
181 assertHasAssistAt('final ', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 189 assertHasAssistAt(
190 'final ',
191 DartAssistKind.ADD_TYPE_ANNOTATION,
192 '''
182 class A { 193 class A {
183 final int f = 0; 194 final int f = 0;
184 } 195 }
185 '''); 196 ''');
186 } 197 }
187 198
188 void test_addTypeAnnotation_classField_OK_int() { 199 void test_addTypeAnnotation_classField_OK_int() {
189 resolveTestUnit(''' 200 resolveTestUnit('''
190 class A { 201 class A {
191 var f = 0; 202 var f = 0;
192 } 203 }
193 '''); 204 ''');
194 assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 205 assertHasAssistAt(
206 'var ',
207 DartAssistKind.ADD_TYPE_ANNOTATION,
208 '''
195 class A { 209 class A {
196 int f = 0; 210 int f = 0;
197 } 211 }
198 '''); 212 ''');
199 } 213 }
200 214
201 void test_addTypeAnnotation_declaredIdentifier_BAD_hasTypeAnnotation() { 215 void test_addTypeAnnotation_declaredIdentifier_BAD_hasTypeAnnotation() {
202 resolveTestUnit(''' 216 resolveTestUnit('''
203 main(List<String> items) { 217 main(List<String> items) {
204 for (String item in items) { 218 for (String item in items) {
(...skipping 27 matching lines...) Expand all
232 246
233 void test_addTypeAnnotation_declaredIdentifier_generic_OK() { 247 void test_addTypeAnnotation_declaredIdentifier_generic_OK() {
234 resolveTestUnit(''' 248 resolveTestUnit('''
235 class A<T> { 249 class A<T> {
236 main(List<List<T>> items) { 250 main(List<List<T>> items) {
237 for (var item in items) { 251 for (var item in items) {
238 } 252 }
239 } 253 }
240 } 254 }
241 '''); 255 ''');
242 assertHasAssistAt('item in', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 256 assertHasAssistAt(
257 'item in',
258 DartAssistKind.ADD_TYPE_ANNOTATION,
259 '''
243 class A<T> { 260 class A<T> {
244 main(List<List<T>> items) { 261 main(List<List<T>> items) {
245 for (List<T> item in items) { 262 for (List<T> item in items) {
246 } 263 }
247 } 264 }
248 } 265 }
249 '''); 266 ''');
250 } 267 }
251 268
252 void test_addTypeAnnotation_declaredIdentifier_OK() { 269 void test_addTypeAnnotation_declaredIdentifier_OK() {
253 resolveTestUnit(''' 270 resolveTestUnit('''
254 main(List<String> items) { 271 main(List<String> items) {
255 for (var item in items) { 272 for (var item in items) {
256 } 273 }
257 } 274 }
258 '''); 275 ''');
259 // on identifier 276 // on identifier
260 assertHasAssistAt('item in', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 277 assertHasAssistAt(
278 'item in',
279 DartAssistKind.ADD_TYPE_ANNOTATION,
280 '''
261 main(List<String> items) { 281 main(List<String> items) {
262 for (String item in items) { 282 for (String item in items) {
263 } 283 }
264 } 284 }
265 '''); 285 ''');
266 // on "for" 286 // on "for"
267 assertHasAssistAt('for (', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 287 assertHasAssistAt(
288 'for (',
289 DartAssistKind.ADD_TYPE_ANNOTATION,
290 '''
268 main(List<String> items) { 291 main(List<String> items) {
269 for (String item in items) { 292 for (String item in items) {
270 } 293 }
271 } 294 }
272 '''); 295 ''');
273 } 296 }
274 297
275 void test_addTypeAnnotation_declaredIdentifier_OK_addImport_dartUri() { 298 void test_addTypeAnnotation_declaredIdentifier_OK_addImport_dartUri() {
276 addSource('/my_lib.dart', r''' 299 addSource(
300 '/my_lib.dart',
301 r'''
277 import 'dart:async'; 302 import 'dart:async';
278 List<Future<int>> getFutures() => null; 303 List<Future<int>> getFutures() => null;
279 '''); 304 ''');
280 resolveTestUnit(''' 305 resolveTestUnit('''
281 import 'my_lib.dart'; 306 import 'my_lib.dart';
282 main() { 307 main() {
283 for (var future in getFutures()) { 308 for (var future in getFutures()) {
284 } 309 }
285 } 310 }
286 '''); 311 ''');
287 assertHasAssistAt('future in', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 312 assertHasAssistAt(
313 'future in',
314 DartAssistKind.ADD_TYPE_ANNOTATION,
315 '''
288 import 'my_lib.dart'; 316 import 'my_lib.dart';
289 import 'dart:async'; 317 import 'dart:async';
290 main() { 318 main() {
291 for (Future<int> future in getFutures()) { 319 for (Future<int> future in getFutures()) {
292 } 320 }
293 } 321 }
294 '''); 322 ''');
295 } 323 }
296 324
297 void test_addTypeAnnotation_declaredIdentifier_OK_final() { 325 void test_addTypeAnnotation_declaredIdentifier_OK_final() {
298 resolveTestUnit(''' 326 resolveTestUnit('''
299 main(List<String> items) { 327 main(List<String> items) {
300 for (final item in items) { 328 for (final item in items) {
301 } 329 }
302 } 330 }
303 '''); 331 ''');
304 assertHasAssistAt('item in', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 332 assertHasAssistAt(
333 'item in',
334 DartAssistKind.ADD_TYPE_ANNOTATION,
335 '''
305 main(List<String> items) { 336 main(List<String> items) {
306 for (final String item in items) { 337 for (final String item in items) {
307 } 338 }
308 } 339 }
309 '''); 340 ''');
310 } 341 }
311 342
312 void test_addTypeAnnotation_local_generic_OK_literal() { 343 void test_addTypeAnnotation_local_generic_OK_literal() {
313 resolveTestUnit(''' 344 resolveTestUnit('''
314 class A { 345 class A {
315 main(List<int> items) { 346 main(List<int> items) {
316 var v = items; 347 var v = items;
317 } 348 }
318 } 349 }
319 '''); 350 ''');
320 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 351 assertHasAssistAt(
352 'v =',
353 DartAssistKind.ADD_TYPE_ANNOTATION,
354 '''
321 class A { 355 class A {
322 main(List<int> items) { 356 main(List<int> items) {
323 List<int> v = items; 357 List<int> v = items;
324 } 358 }
325 } 359 }
326 '''); 360 ''');
327 } 361 }
328 362
329 void test_addTypeAnnotation_local_generic_OK_local() { 363 void test_addTypeAnnotation_local_generic_OK_local() {
330 resolveTestUnit(''' 364 resolveTestUnit('''
331 class A<T> { 365 class A<T> {
332 main(List<T> items) { 366 main(List<T> items) {
333 var v = items; 367 var v = items;
334 } 368 }
335 } 369 }
336 '''); 370 ''');
337 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 371 assertHasAssistAt(
372 'v =',
373 DartAssistKind.ADD_TYPE_ANNOTATION,
374 '''
338 class A<T> { 375 class A<T> {
339 main(List<T> items) { 376 main(List<T> items) {
340 List<T> v = items; 377 List<T> v = items;
341 } 378 }
342 } 379 }
343 '''); 380 ''');
344 } 381 }
345 382
346 void test_addTypeAnnotation_local_OK_addImport_dartUri() { 383 void test_addTypeAnnotation_local_OK_addImport_dartUri() {
347 addSource('/my_lib.dart', r''' 384 addSource(
385 '/my_lib.dart',
386 r'''
348 import 'dart:async'; 387 import 'dart:async';
349 Future<int> getFutureInt() => null; 388 Future<int> getFutureInt() => null;
350 '''); 389 ''');
351 resolveTestUnit(''' 390 resolveTestUnit('''
352 import 'my_lib.dart'; 391 import 'my_lib.dart';
353 main() { 392 main() {
354 var v = getFutureInt(); 393 var v = getFutureInt();
355 } 394 }
356 '''); 395 ''');
357 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 396 assertHasAssistAt(
397 'v =',
398 DartAssistKind.ADD_TYPE_ANNOTATION,
399 '''
358 import 'my_lib.dart'; 400 import 'my_lib.dart';
359 import 'dart:async'; 401 import 'dart:async';
360 main() { 402 main() {
361 Future<int> v = getFutureInt(); 403 Future<int> v = getFutureInt();
362 } 404 }
363 '''); 405 ''');
364 } 406 }
365 407
366 void test_addTypeAnnotation_local_OK_addImport_notLibraryUnit() { 408 void test_addTypeAnnotation_local_OK_addImport_notLibraryUnit() {
367 // prepare library 409 // prepare library
368 addSource('/my_lib.dart', r''' 410 addSource(
411 '/my_lib.dart',
412 r'''
369 import 'dart:async'; 413 import 'dart:async';
370 Future<int> getFutureInt() => null; 414 Future<int> getFutureInt() => null;
371 '''); 415 ''');
372 // prepare code 416 // prepare code
373 String appCode = r''' 417 String appCode = r'''
374 library my_app; 418 library my_app;
375 import 'my_lib.dart'; 419 import 'my_lib.dart';
376 part 'test.dart'; 420 part 'test.dart';
377 '''; 421 ''';
378 testCode = r''' 422 testCode = r'''
(...skipping 12 matching lines...) Expand all
391 testUnitElement = testUnit.element; 435 testUnitElement = testUnit.element;
392 testLibraryElement = testUnitElement.library; 436 testLibraryElement = testUnitElement.library;
393 // prepare the assist 437 // prepare the assist
394 offset = findOffset('v = '); 438 offset = findOffset('v = ');
395 assist = _assertHasAssist(DartAssistKind.ADD_TYPE_ANNOTATION); 439 assist = _assertHasAssist(DartAssistKind.ADD_TYPE_ANNOTATION);
396 change = assist.change; 440 change = assist.change;
397 // verify 441 // verify
398 { 442 {
399 var testFileEdit = change.getFileEdit('/app.dart'); 443 var testFileEdit = change.getFileEdit('/app.dart');
400 var resultCode = SourceEdit.applySequence(appCode, testFileEdit.edits); 444 var resultCode = SourceEdit.applySequence(appCode, testFileEdit.edits);
401 expect(resultCode, ''' 445 expect(
446 resultCode,
447 '''
402 library my_app; 448 library my_app;
403 import 'my_lib.dart'; 449 import 'my_lib.dart';
404 import 'dart:async'; 450 import 'dart:async';
405 part 'test.dart'; 451 part 'test.dart';
406 '''); 452 ''');
407 } 453 }
408 { 454 {
409 var testFileEdit = change.getFileEdit('/test.dart'); 455 var testFileEdit = change.getFileEdit('/test.dart');
410 var resultCode = SourceEdit.applySequence(testCode, testFileEdit.edits); 456 var resultCode = SourceEdit.applySequence(testCode, testFileEdit.edits);
411 expect(resultCode, ''' 457 expect(
458 resultCode,
459 '''
412 part of my_app; 460 part of my_app;
413 main() { 461 main() {
414 Future<int> v = getFutureInt(); 462 Future<int> v = getFutureInt();
415 } 463 }
416 '''); 464 ''');
417 } 465 }
418 } 466 }
419 467
420 void test_addTypeAnnotation_local_OK_addImport_relUri() { 468 void test_addTypeAnnotation_local_OK_addImport_relUri() {
421 addSource('/aa/bbb/lib_a.dart', r''' 469 addSource(
470 '/aa/bbb/lib_a.dart',
471 r'''
422 class MyClass {} 472 class MyClass {}
423 '''); 473 ''');
424 addSource('/ccc/lib_b.dart', r''' 474 addSource(
475 '/ccc/lib_b.dart',
476 r'''
425 import '../aa/bbb/lib_a.dart'; 477 import '../aa/bbb/lib_a.dart';
426 MyClass newMyClass() => null; 478 MyClass newMyClass() => null;
427 '''); 479 ''');
428 resolveTestUnit(''' 480 resolveTestUnit('''
429 import 'ccc/lib_b.dart'; 481 import 'ccc/lib_b.dart';
430 main() { 482 main() {
431 var v = newMyClass(); 483 var v = newMyClass();
432 } 484 }
433 '''); 485 ''');
434 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 486 assertHasAssistAt(
487 'v =',
488 DartAssistKind.ADD_TYPE_ANNOTATION,
489 '''
435 import 'ccc/lib_b.dart'; 490 import 'ccc/lib_b.dart';
436 import 'aa/bbb/lib_a.dart'; 491 import 'aa/bbb/lib_a.dart';
437 main() { 492 main() {
438 MyClass v = newMyClass(); 493 MyClass v = newMyClass();
439 } 494 }
440 '''); 495 ''');
441 } 496 }
442 497
443 void test_addTypeAnnotation_local_OK_Function() { 498 void test_addTypeAnnotation_local_OK_Function() {
444 resolveTestUnit(''' 499 resolveTestUnit('''
445 main() { 500 main() {
446 var v = () => 1; 501 var v = () => 1;
447 } 502 }
448 '''); 503 ''');
449 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 504 assertHasAssistAt(
505 'v =',
506 DartAssistKind.ADD_TYPE_ANNOTATION,
507 '''
450 main() { 508 main() {
451 Function v = () => 1; 509 Function v = () => 1;
452 } 510 }
453 '''); 511 ''');
454 } 512 }
455 513
456 void test_addTypeAnnotation_local_OK_int() { 514 void test_addTypeAnnotation_local_OK_int() {
457 resolveTestUnit(''' 515 resolveTestUnit('''
458 main() { 516 main() {
459 var v = 0; 517 var v = 0;
460 } 518 }
461 '''); 519 ''');
462 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 520 assertHasAssistAt(
521 'v =',
522 DartAssistKind.ADD_TYPE_ANNOTATION,
523 '''
463 main() { 524 main() {
464 int v = 0; 525 int v = 0;
465 } 526 }
466 '''); 527 ''');
467 } 528 }
468 529
469 void test_addTypeAnnotation_local_OK_List() { 530 void test_addTypeAnnotation_local_OK_List() {
470 resolveTestUnit(''' 531 resolveTestUnit('''
471 main() { 532 main() {
472 var v = <String>[]; 533 var v = <String>[];
473 } 534 }
474 '''); 535 ''');
475 assertHasAssistAt('v =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 536 assertHasAssistAt(
537 'v =',
538 DartAssistKind.ADD_TYPE_ANNOTATION,
539 '''
476 main() { 540 main() {
477 List<String> v = <String>[]; 541 List<String> v = <String>[];
478 } 542 }
479 '''); 543 ''');
480 } 544 }
481 545
482 void test_addTypeAnnotation_local_OK_localType() { 546 void test_addTypeAnnotation_local_OK_localType() {
483 resolveTestUnit(''' 547 resolveTestUnit('''
484 class C {} 548 class C {}
485 C f() => null; 549 C f() => null;
486 main() { 550 main() {
487 var x = f(); 551 var x = f();
488 } 552 }
489 '''); 553 ''');
490 assertHasAssistAt('x =', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 554 assertHasAssistAt(
555 'x =',
556 DartAssistKind.ADD_TYPE_ANNOTATION,
557 '''
491 class C {} 558 class C {}
492 C f() => null; 559 C f() => null;
493 main() { 560 main() {
494 C x = f(); 561 C x = f();
495 } 562 }
496 '''); 563 ''');
497 } 564 }
498 565
499 void test_addTypeAnnotation_local_OK_onInitializer() { 566 void test_addTypeAnnotation_local_OK_onInitializer() {
500 resolveTestUnit(''' 567 resolveTestUnit('''
501 main() { 568 main() {
502 var v = 123; 569 var v = 123;
503 } 570 }
504 '''); 571 ''');
505 assertHasAssistAt('23', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 572 assertHasAssistAt(
573 '23',
574 DartAssistKind.ADD_TYPE_ANNOTATION,
575 '''
506 main() { 576 main() {
507 int v = 123; 577 int v = 123;
508 } 578 }
509 '''); 579 ''');
510 } 580 }
511 581
512 void test_addTypeAnnotation_local_OK_onName() { 582 void test_addTypeAnnotation_local_OK_onName() {
513 resolveTestUnit(''' 583 resolveTestUnit('''
514 main() { 584 main() {
515 var abc = 0; 585 var abc = 0;
516 } 586 }
517 '''); 587 ''');
518 assertHasAssistAt('bc', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 588 assertHasAssistAt(
589 'bc',
590 DartAssistKind.ADD_TYPE_ANNOTATION,
591 '''
519 main() { 592 main() {
520 int abc = 0; 593 int abc = 0;
521 } 594 }
522 '''); 595 ''');
523 } 596 }
524 597
525 void test_addTypeAnnotation_local_OK_onVar() { 598 void test_addTypeAnnotation_local_OK_onVar() {
526 resolveTestUnit(''' 599 resolveTestUnit('''
527 main() { 600 main() {
528 var v = 0; 601 var v = 0;
529 } 602 }
530 '''); 603 ''');
531 assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 604 assertHasAssistAt(
605 'var ',
606 DartAssistKind.ADD_TYPE_ANNOTATION,
607 '''
532 main() { 608 main() {
533 int v = 0; 609 int v = 0;
534 } 610 }
535 '''); 611 ''');
536 } 612 }
537 613
538 void test_addTypeAnnotation_local_OK_onVariableDeclarationStatement() { 614 void test_addTypeAnnotation_local_OK_onVariableDeclarationStatement() {
539 resolveTestUnit(''' 615 resolveTestUnit('''
540 main() { 616 main() {
541 var v = 123; // marker 617 var v = 123; // marker
542 } 618 }
543 '''); 619 ''');
544 assertHasAssistAt(' // marker', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 620 assertHasAssistAt(
621 ' // marker',
622 DartAssistKind.ADD_TYPE_ANNOTATION,
623 '''
545 main() { 624 main() {
546 int v = 123; // marker 625 int v = 123; // marker
547 } 626 }
548 '''); 627 ''');
549 } 628 }
550 629
551 void test_addTypeAnnotation_local_wrong_hasTypeAnnotation() { 630 void test_addTypeAnnotation_local_wrong_hasTypeAnnotation() {
552 resolveTestUnit(''' 631 resolveTestUnit('''
553 main() { 632 main() {
554 int v = 42; 633 int v = 42;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 } 675 }
597 676
598 void test_addTypeAnnotation_OK_privateType_sameLibrary() { 677 void test_addTypeAnnotation_OK_privateType_sameLibrary() {
599 resolveTestUnit(''' 678 resolveTestUnit('''
600 class _A {} 679 class _A {}
601 _A getValue() => new _A(); 680 _A getValue() => new _A();
602 main() { 681 main() {
603 var v = getValue(); 682 var v = getValue();
604 } 683 }
605 '''); 684 ''');
606 assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 685 assertHasAssistAt(
686 'var ',
687 DartAssistKind.ADD_TYPE_ANNOTATION,
688 '''
607 class _A {} 689 class _A {}
608 _A getValue() => new _A(); 690 _A getValue() => new _A();
609 main() { 691 main() {
610 _A v = getValue(); 692 _A v = getValue();
611 } 693 }
612 '''); 694 ''');
613 } 695 }
614 696
615 void test_addTypeAnnotation_parameter_BAD_hasExplicitType() { 697 void test_addTypeAnnotation_parameter_BAD_hasExplicitType() {
616 resolveTestUnit(''' 698 resolveTestUnit('''
(...skipping 15 matching lines...) Expand all
632 assertNoAssistAt('test', DartAssistKind.ADD_TYPE_ANNOTATION); 714 assertNoAssistAt('test', DartAssistKind.ADD_TYPE_ANNOTATION);
633 } 715 }
634 716
635 void test_addTypeAnnotation_parameter_OK() { 717 void test_addTypeAnnotation_parameter_OK() {
636 resolveTestUnit(''' 718 resolveTestUnit('''
637 foo(f(int p)) {} 719 foo(f(int p)) {}
638 main() { 720 main() {
639 foo((test) {}); 721 foo((test) {});
640 } 722 }
641 '''); 723 ''');
642 assertHasAssistAt('test', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 724 assertHasAssistAt(
725 'test',
726 DartAssistKind.ADD_TYPE_ANNOTATION,
727 '''
643 foo(f(int p)) {} 728 foo(f(int p)) {}
644 main() { 729 main() {
645 foo((int test) {}); 730 foo((int test) {});
646 } 731 }
647 '''); 732 ''');
648 } 733 }
649 734
650 void test_addTypeAnnotation_topLevelField_OK_int() { 735 void test_addTypeAnnotation_topLevelField_OK_int() {
651 resolveTestUnit(''' 736 resolveTestUnit('''
652 var V = 0; 737 var V = 0;
653 '''); 738 ''');
654 assertHasAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION, ''' 739 assertHasAssistAt(
740 'var ',
741 DartAssistKind.ADD_TYPE_ANNOTATION,
742 '''
655 int V = 0; 743 int V = 0;
656 '''); 744 ''');
657 } 745 }
658 746
659 void test_addTypeAnnotation_topLevelField_wrong_multiple() { 747 void test_addTypeAnnotation_topLevelField_wrong_multiple() {
660 resolveTestUnit(''' 748 resolveTestUnit('''
661 var A = 1, V = ''; 749 var A = 1, V = '';
662 '''); 750 ''');
663 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 751 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
664 } 752 }
665 753
666 void test_addTypeAnnotation_topLevelField_wrong_noValue() { 754 void test_addTypeAnnotation_topLevelField_wrong_noValue() {
667 resolveTestUnit(''' 755 resolveTestUnit('''
668 var V; 756 var V;
669 '''); 757 ''');
670 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); 758 assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION);
671 } 759 }
672 760
673 void test_assignToLocalVariable() { 761 void test_assignToLocalVariable() {
674 resolveTestUnit(''' 762 resolveTestUnit('''
675 main() { 763 main() {
676 List<int> bytes; 764 List<int> bytes;
677 readBytes(); 765 readBytes();
678 } 766 }
679 List<int> readBytes() => <int>[]; 767 List<int> readBytes() => <int>[];
680 '''); 768 ''');
681 assertHasAssistAt('readBytes();', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE, 769 assertHasAssistAt(
770 'readBytes();',
771 DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE,
682 ''' 772 '''
683 main() { 773 main() {
684 List<int> bytes; 774 List<int> bytes;
685 var readBytes = readBytes(); 775 var readBytes = readBytes();
686 } 776 }
687 List<int> readBytes() => <int>[]; 777 List<int> readBytes() => <int>[];
688 '''); 778 ''');
689 _assertLinkedGroup(change.linkedEditGroups[0], [ 779 _assertLinkedGroup(
690 'readBytes = ' 780 change.linkedEditGroups[0],
691 ], expectedSuggestions( 781 ['readBytes = '],
692 LinkedEditSuggestionKind.VARIABLE, ['list', 'bytes2', 'readBytes'])); 782 expectedSuggestions(LinkedEditSuggestionKind.VARIABLE,
783 ['list', 'bytes2', 'readBytes']));
693 } 784 }
694 785
695 void test_assignToLocalVariable_alreadyAssignment() { 786 void test_assignToLocalVariable_alreadyAssignment() {
696 resolveTestUnit(''' 787 resolveTestUnit('''
697 main() { 788 main() {
698 var vvv; 789 var vvv;
699 vvv = 42; 790 vvv = 42;
700 } 791 }
701 '''); 792 ''');
702 assertNoAssistAt('vvv =', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE); 793 assertNoAssistAt('vvv =', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE);
(...skipping 25 matching lines...) Expand all
728 } 819 }
729 void f() {} 820 void f() {}
730 '''); 821 ''');
731 assertNoAssistAt('f();', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE); 822 assertNoAssistAt('f();', DartAssistKind.ASSIGN_TO_LOCAL_VARIABLE);
732 } 823 }
733 824
734 void test_convertToBlockBody_OK_closure() { 825 void test_convertToBlockBody_OK_closure() {
735 resolveTestUnit(''' 826 resolveTestUnit('''
736 setup(x) {} 827 setup(x) {}
737 main() { 828 main() {
829 setup(() => 42);
830 }
831 ''');
832 assertHasAssistAt(
833 '() => 42',
834 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
835 '''
836 setup(x) {}
837 main() {
838 setup(() {
839 return 42;
840 });
841 }
842 ''');
843 {
844 Position exitPos = change.selection;
845 expect(exitPos, isNotNull);
846 expect(exitPos.file, testFile);
847 expect(exitPos.offset - 3, resultCode.indexOf('42;'));
848 }
849 }
850
851 void test_convertToBlockBody_OK_closure_voidExpression() {
852 resolveTestUnit('''
853 setup(x) {}
854 main() {
738 setup(() => print('done')); 855 setup(() => print('done'));
739 } 856 }
740 '''); 857 ''');
741 assertHasAssistAt('() => print', DartAssistKind.CONVERT_INTO_BLOCK_BODY, ''' 858 assertHasAssistAt(
859 '() => print',
860 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
861 '''
742 setup(x) {} 862 setup(x) {}
743 main() { 863 main() {
744 setup(() { 864 setup(() {
745 return print('done'); 865 print('done');
746 }); 866 });
747 } 867 }
748 '''); 868 ''');
869 {
870 Position exitPos = change.selection;
871 expect(exitPos, isNotNull);
872 expect(exitPos.file, testFile);
873 expect(exitPos.offset - 3, resultCode.indexOf("');"));
874 }
749 } 875 }
750 876
751 void test_convertToBlockBody_OK_constructor() { 877 void test_convertToBlockBody_OK_constructor() {
752 resolveTestUnit(''' 878 resolveTestUnit('''
753 class A { 879 class A {
754 factory A() => null; 880 factory A() => null;
755 } 881 }
756 '''); 882 ''');
757 assertHasAssistAt('A()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, ''' 883 assertHasAssistAt(
884 'A()',
885 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
886 '''
758 class A { 887 class A {
759 factory A() { 888 factory A() {
760 return null; 889 return null;
761 } 890 }
762 } 891 }
763 '''); 892 ''');
764 } 893 }
765 894
766 void test_convertToBlockBody_OK_method() { 895 void test_convertToBlockBody_OK_method() {
767 resolveTestUnit(''' 896 resolveTestUnit('''
768 class A { 897 class A {
769 mmm() => 123; 898 mmm() => 123;
770 } 899 }
771 '''); 900 ''');
772 assertHasAssistAt('mmm()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, ''' 901 assertHasAssistAt(
902 'mmm()',
903 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
904 '''
773 class A { 905 class A {
774 mmm() { 906 mmm() {
775 return 123; 907 return 123;
776 } 908 }
777 } 909 }
778 '''); 910 ''');
779 } 911 }
780 912
781 void test_convertToBlockBody_OK_onName() { 913 void test_convertToBlockBody_OK_onName() {
782 resolveTestUnit(''' 914 resolveTestUnit('''
783 fff() => 123; 915 fff() => 123;
784 '''); 916 ''');
785 assertHasAssistAt('fff()', DartAssistKind.CONVERT_INTO_BLOCK_BODY, ''' 917 assertHasAssistAt(
918 'fff()',
919 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
920 '''
786 fff() { 921 fff() {
787 return 123; 922 return 123;
788 } 923 }
789 '''); 924 ''');
790 } 925 }
791 926
792 void test_convertToBlockBody_OK_onValue() { 927 void test_convertToBlockBody_OK_onValue() {
793 resolveTestUnit(''' 928 resolveTestUnit('''
794 fff() => 123; 929 fff() => 123;
795 '''); 930 ''');
796 assertHasAssistAt('23;', DartAssistKind.CONVERT_INTO_BLOCK_BODY, ''' 931 assertHasAssistAt(
932 '23;',
933 DartAssistKind.CONVERT_INTO_BLOCK_BODY,
934 '''
797 fff() { 935 fff() {
798 return 123; 936 return 123;
799 } 937 }
800 '''); 938 ''');
801 } 939 }
802 940
803 void test_convertToBlockBody_wrong_noEnclosingFunction() { 941 void test_convertToBlockBody_wrong_noEnclosingFunction() {
804 resolveTestUnit(''' 942 resolveTestUnit('''
805 var v = 123; 943 var v = 123;
806 '''); 944 ''');
(...skipping 11 matching lines...) Expand all
818 956
819 void test_convertToExpressionBody_OK_closure() { 957 void test_convertToExpressionBody_OK_closure() {
820 resolveTestUnit(''' 958 resolveTestUnit('''
821 setup(x) {} 959 setup(x) {}
822 main() { 960 main() {
823 setup(() { 961 setup(() {
824 return 42; 962 return 42;
825 }); 963 });
826 } 964 }
827 '''); 965 ''');
828 assertHasAssistAt('42;', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, ''' 966 assertHasAssistAt(
967 '42;',
968 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
969 '''
829 setup(x) {} 970 setup(x) {}
830 main() { 971 main() {
831 setup(() => 42); 972 setup(() => 42);
832 } 973 }
833 '''); 974 ''');
834 } 975 }
835 976
977 void test_convertToExpressionBody_OK_closure_voidExpression() {
978 resolveTestUnit('''
979 setup(x) {}
980 main() {
981 setup(() {
982 print('test');
983 });
984 }
985 ''');
986 assertHasAssistAt(
987 'print(',
988 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
989 '''
990 setup(x) {}
991 main() {
992 setup(() => print('test'));
993 }
994 ''');
995 }
996
836 void test_convertToExpressionBody_OK_constructor() { 997 void test_convertToExpressionBody_OK_constructor() {
837 resolveTestUnit(''' 998 resolveTestUnit('''
838 class A { 999 class A {
839 factory A() { 1000 factory A() {
840 return null; 1001 return null;
841 } 1002 }
842 } 1003 }
843 '''); 1004 ''');
844 assertHasAssistAt('A()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, ''' 1005 assertHasAssistAt(
1006 'A()',
1007 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1008 '''
845 class A { 1009 class A {
846 factory A() => null; 1010 factory A() => null;
847 } 1011 }
848 '''); 1012 ''');
849 } 1013 }
850 1014
851 void test_convertToExpressionBody_OK_function_onBlock() { 1015 void test_convertToExpressionBody_OK_function_onBlock() {
852 resolveTestUnit(''' 1016 resolveTestUnit('''
853 fff() { 1017 fff() {
854 return 42; 1018 return 42;
855 } 1019 }
856 '''); 1020 ''');
857 assertHasAssistAt('{', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, ''' 1021 assertHasAssistAt(
1022 '{',
1023 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1024 '''
858 fff() => 42; 1025 fff() => 42;
859 '''); 1026 ''');
860 } 1027 }
861 1028
862 void test_convertToExpressionBody_OK_function_onName() { 1029 void test_convertToExpressionBody_OK_function_onName() {
863 resolveTestUnit(''' 1030 resolveTestUnit('''
864 fff() { 1031 fff() {
865 return 42; 1032 return 42;
866 } 1033 }
867 '''); 1034 ''');
868 assertHasAssistAt('ff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, ''' 1035 assertHasAssistAt(
1036 'ff()',
1037 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1038 '''
869 fff() => 42; 1039 fff() => 42;
870 '''); 1040 ''');
871 } 1041 }
872 1042
873 void test_convertToExpressionBody_OK_method_onBlock() { 1043 void test_convertToExpressionBody_OK_method_onBlock() {
874 resolveTestUnit(''' 1044 resolveTestUnit('''
875 class A { 1045 class A {
876 m() { // marker 1046 m() { // marker
877 return 42; 1047 return 42;
878 } 1048 }
879 } 1049 }
880 '''); 1050 ''');
881 assertHasAssistAt('{ // marker', 1051 assertHasAssistAt(
882 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, ''' 1052 '{ // marker',
1053 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1054 '''
883 class A { 1055 class A {
884 m() => 42; 1056 m() => 42;
885 } 1057 }
886 '''); 1058 ''');
887 } 1059 }
888 1060
889 void test_convertToExpressionBody_OK_topFunction_onReturnStatement() { 1061 void test_convertToExpressionBody_OK_topFunction_onReturnStatement() {
890 resolveTestUnit(''' 1062 resolveTestUnit('''
891 fff() { 1063 fff() {
892 return 42; 1064 return 42;
893 } 1065 }
894 '''); 1066 ''');
895 assertHasAssistAt('return', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, ''' 1067 assertHasAssistAt(
1068 'return',
1069 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY,
1070 '''
896 fff() => 42; 1071 fff() => 42;
897 '''); 1072 ''');
898 } 1073 }
899 1074
900 void test_convertToExpressionBody_wrong_already() { 1075 void test_convertToExpressionBody_wrong_already() {
901 resolveTestUnit(''' 1076 resolveTestUnit('''
902 fff() => 42; 1077 fff() => 42;
903 '''); 1078 ''');
904 assertNoAssistAt('fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); 1079 assertNoAssistAt('fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY);
905 } 1080 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 } 1136 }
962 1137
963 void test_convertToFieldParameter_OK_firstInitializer() { 1138 void test_convertToFieldParameter_OK_firstInitializer() {
964 resolveTestUnit(''' 1139 resolveTestUnit('''
965 class A { 1140 class A {
966 double aaa2; 1141 double aaa2;
967 int bbb2; 1142 int bbb2;
968 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb; 1143 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb;
969 } 1144 }
970 '''); 1145 ''');
971 assertHasAssistAt('aaa, ', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, ''' 1146 assertHasAssistAt(
1147 'aaa, ',
1148 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1149 '''
972 class A { 1150 class A {
973 double aaa2; 1151 double aaa2;
974 int bbb2; 1152 int bbb2;
975 A(this.aaa2, int bbb) : bbb2 = bbb; 1153 A(this.aaa2, int bbb) : bbb2 = bbb;
976 } 1154 }
977 '''); 1155 ''');
978 } 1156 }
979 1157
980 void test_convertToFieldParameter_OK_onParameterName_inInitializer() { 1158 void test_convertToFieldParameter_OK_onParameterName_inInitializer() {
981 resolveTestUnit(''' 1159 resolveTestUnit('''
982 class A { 1160 class A {
983 int test2; 1161 int test2;
984 A(int test) : test2 = test { 1162 A(int test) : test2 = test {
985 } 1163 }
986 } 1164 }
987 '''); 1165 ''');
988 assertHasAssistAt('test {', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, ''' 1166 assertHasAssistAt(
1167 'test {',
1168 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1169 '''
989 class A { 1170 class A {
990 int test2; 1171 int test2;
991 A(this.test2) { 1172 A(this.test2) {
992 } 1173 }
993 } 1174 }
994 '''); 1175 ''');
995 } 1176 }
996 1177
997 void test_convertToFieldParameter_OK_onParameterName_inParameters() { 1178 void test_convertToFieldParameter_OK_onParameterName_inParameters() {
998 resolveTestUnit(''' 1179 resolveTestUnit('''
999 class A { 1180 class A {
1000 int test; 1181 int test;
1001 A(int test) : test = test { 1182 A(int test) : test = test {
1002 } 1183 }
1003 } 1184 }
1004 '''); 1185 ''');
1005 assertHasAssistAt('test)', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, ''' 1186 assertHasAssistAt(
1187 'test)',
1188 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1189 '''
1006 class A { 1190 class A {
1007 int test; 1191 int test;
1008 A(this.test) { 1192 A(this.test) {
1009 } 1193 }
1010 } 1194 }
1011 '''); 1195 ''');
1012 } 1196 }
1013 1197
1014 void test_convertToFieldParameter_OK_secondInitializer() { 1198 void test_convertToFieldParameter_OK_secondInitializer() {
1015 resolveTestUnit(''' 1199 resolveTestUnit('''
1016 class A { 1200 class A {
1017 double aaa2; 1201 double aaa2;
1018 int bbb2; 1202 int bbb2;
1019 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb; 1203 A(int aaa, int bbb) : aaa2 = aaa, bbb2 = bbb;
1020 } 1204 }
1021 '''); 1205 ''');
1022 assertHasAssistAt('bbb)', DartAssistKind.CONVERT_TO_FIELD_PARAMETER, ''' 1206 assertHasAssistAt(
1207 'bbb)',
1208 DartAssistKind.CONVERT_TO_FIELD_PARAMETER,
1209 '''
1023 class A { 1210 class A {
1024 double aaa2; 1211 double aaa2;
1025 int bbb2; 1212 int bbb2;
1026 A(int aaa, this.bbb2) : aaa2 = aaa; 1213 A(int aaa, this.bbb2) : aaa2 = aaa;
1027 } 1214 }
1028 '''); 1215 ''');
1029 } 1216 }
1030 1217
1031 void test_convertToForIndex_BAD_bodyNotBlock() { 1218 void test_convertToForIndex_BAD_bodyNotBlock() {
1032 resolveTestUnit(''' 1219 resolveTestUnit('''
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 } 1271 }
1085 1272
1086 void test_convertToForIndex_OK_onDeclaredIdentifier_name() { 1273 void test_convertToForIndex_OK_onDeclaredIdentifier_name() {
1087 resolveTestUnit(''' 1274 resolveTestUnit('''
1088 main(List<String> items) { 1275 main(List<String> items) {
1089 for (String item in items) { 1276 for (String item in items) {
1090 print(item); 1277 print(item);
1091 } 1278 }
1092 } 1279 }
1093 '''); 1280 ''');
1094 assertHasAssistAt('item in', DartAssistKind.CONVERT_INTO_FOR_INDEX, ''' 1281 assertHasAssistAt(
1282 'item in',
1283 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1284 '''
1095 main(List<String> items) { 1285 main(List<String> items) {
1096 for (int i = 0; i < items.length; i++) { 1286 for (int i = 0; i < items.length; i++) {
1097 String item = items[i]; 1287 String item = items[i];
1098 print(item); 1288 print(item);
1099 } 1289 }
1100 } 1290 }
1101 '''); 1291 ''');
1102 } 1292 }
1103 1293
1104 void test_convertToForIndex_OK_onDeclaredIdentifier_type() { 1294 void test_convertToForIndex_OK_onDeclaredIdentifier_type() {
1105 resolveTestUnit(''' 1295 resolveTestUnit('''
1106 main(List<String> items) { 1296 main(List<String> items) {
1107 for (String item in items) { 1297 for (String item in items) {
1108 print(item); 1298 print(item);
1109 } 1299 }
1110 } 1300 }
1111 '''); 1301 ''');
1112 assertHasAssistAt('tring item', DartAssistKind.CONVERT_INTO_FOR_INDEX, ''' 1302 assertHasAssistAt(
1303 'tring item',
1304 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1305 '''
1113 main(List<String> items) { 1306 main(List<String> items) {
1114 for (int i = 0; i < items.length; i++) { 1307 for (int i = 0; i < items.length; i++) {
1115 String item = items[i]; 1308 String item = items[i];
1116 print(item); 1309 print(item);
1117 } 1310 }
1118 } 1311 }
1119 '''); 1312 ''');
1120 } 1313 }
1121 1314
1122 void test_convertToForIndex_OK_onFor() { 1315 void test_convertToForIndex_OK_onFor() {
1123 resolveTestUnit(''' 1316 resolveTestUnit('''
1124 main(List<String> items) { 1317 main(List<String> items) {
1125 for (String item in items) { 1318 for (String item in items) {
1126 print(item); 1319 print(item);
1127 } 1320 }
1128 } 1321 }
1129 '''); 1322 ''');
1130 assertHasAssistAt('for (String', DartAssistKind.CONVERT_INTO_FOR_INDEX, ''' 1323 assertHasAssistAt(
1324 'for (String',
1325 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1326 '''
1131 main(List<String> items) { 1327 main(List<String> items) {
1132 for (int i = 0; i < items.length; i++) { 1328 for (int i = 0; i < items.length; i++) {
1133 String item = items[i]; 1329 String item = items[i];
1134 print(item); 1330 print(item);
1135 } 1331 }
1136 } 1332 }
1137 '''); 1333 ''');
1138 } 1334 }
1139 1335
1140 void test_convertToForIndex_OK_usesI() { 1336 void test_convertToForIndex_OK_usesI() {
1141 resolveTestUnit(''' 1337 resolveTestUnit('''
1142 main(List<String> items) { 1338 main(List<String> items) {
1143 for (String item in items) { 1339 for (String item in items) {
1144 int i = 0; 1340 int i = 0;
1145 } 1341 }
1146 } 1342 }
1147 '''); 1343 ''');
1148 assertHasAssistAt('for (String', DartAssistKind.CONVERT_INTO_FOR_INDEX, ''' 1344 assertHasAssistAt(
1345 'for (String',
1346 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1347 '''
1149 main(List<String> items) { 1348 main(List<String> items) {
1150 for (int j = 0; j < items.length; j++) { 1349 for (int j = 0; j < items.length; j++) {
1151 String item = items[j]; 1350 String item = items[j];
1152 int i = 0; 1351 int i = 0;
1153 } 1352 }
1154 } 1353 }
1155 '''); 1354 ''');
1156 } 1355 }
1157 1356
1158 void test_convertToForIndex_OK_usesIJ() { 1357 void test_convertToForIndex_OK_usesIJ() {
1159 resolveTestUnit(''' 1358 resolveTestUnit('''
1160 main(List<String> items) { 1359 main(List<String> items) {
1161 for (String item in items) { 1360 for (String item in items) {
1162 print(item); 1361 print(item);
1163 int i = 0, j = 1; 1362 int i = 0, j = 1;
1164 } 1363 }
1165 } 1364 }
1166 '''); 1365 ''');
1167 assertHasAssistAt('for (String', DartAssistKind.CONVERT_INTO_FOR_INDEX, ''' 1366 assertHasAssistAt(
1367 'for (String',
1368 DartAssistKind.CONVERT_INTO_FOR_INDEX,
1369 '''
1168 main(List<String> items) { 1370 main(List<String> items) {
1169 for (int k = 0; k < items.length; k++) { 1371 for (int k = 0; k < items.length; k++) {
1170 String item = items[k]; 1372 String item = items[k];
1171 print(item); 1373 print(item);
1172 int i = 0, j = 1; 1374 int i = 0, j = 1;
1173 } 1375 }
1174 } 1376 }
1175 '''); 1377 ''');
1176 } 1378 }
1177 1379
1178 void test_convertToIsNot_OK_childOfIs_left() { 1380 void test_convertToIsNot_OK_childOfIs_left() {
1179 resolveTestUnit(''' 1381 resolveTestUnit('''
1180 main(p) { 1382 main(p) {
1181 !(p is String); 1383 !(p is String);
1182 } 1384 }
1183 '''); 1385 ''');
1184 assertHasAssistAt('p is', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1386 assertHasAssistAt(
1387 'p is',
1388 DartAssistKind.CONVERT_INTO_IS_NOT,
1389 '''
1185 main(p) { 1390 main(p) {
1186 p is! String; 1391 p is! String;
1187 } 1392 }
1188 '''); 1393 ''');
1189 } 1394 }
1190 1395
1191 void test_convertToIsNot_OK_childOfIs_right() { 1396 void test_convertToIsNot_OK_childOfIs_right() {
1192 resolveTestUnit(''' 1397 resolveTestUnit('''
1193 main(p) { 1398 main(p) {
1194 !(p is String); 1399 !(p is String);
1195 } 1400 }
1196 '''); 1401 ''');
1197 assertHasAssistAt('String)', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1402 assertHasAssistAt(
1403 'String)',
1404 DartAssistKind.CONVERT_INTO_IS_NOT,
1405 '''
1198 main(p) { 1406 main(p) {
1199 p is! String; 1407 p is! String;
1200 } 1408 }
1201 '''); 1409 ''');
1202 } 1410 }
1203 1411
1204 void test_convertToIsNot_OK_is() { 1412 void test_convertToIsNot_OK_is() {
1205 resolveTestUnit(''' 1413 resolveTestUnit('''
1206 main(p) { 1414 main(p) {
1207 !(p is String); 1415 !(p is String);
1208 } 1416 }
1209 '''); 1417 ''');
1210 assertHasAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1418 assertHasAssistAt(
1419 'is String',
1420 DartAssistKind.CONVERT_INTO_IS_NOT,
1421 '''
1211 main(p) { 1422 main(p) {
1212 p is! String; 1423 p is! String;
1213 } 1424 }
1214 '''); 1425 ''');
1215 } 1426 }
1216 1427
1217 void test_convertToIsNot_OK_is_higherPrecedencePrefix() { 1428 void test_convertToIsNot_OK_is_higherPrecedencePrefix() {
1218 resolveTestUnit(''' 1429 resolveTestUnit('''
1219 main(p) { 1430 main(p) {
1220 !!(p is String); 1431 !!(p is String);
1221 } 1432 }
1222 '''); 1433 ''');
1223 assertHasAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1434 assertHasAssistAt(
1435 'is String',
1436 DartAssistKind.CONVERT_INTO_IS_NOT,
1437 '''
1224 main(p) { 1438 main(p) {
1225 !(p is! String); 1439 !(p is! String);
1226 } 1440 }
1227 '''); 1441 ''');
1228 } 1442 }
1229 1443
1230 void test_convertToIsNot_OK_is_not_higherPrecedencePrefix() { 1444 void test_convertToIsNot_OK_is_not_higherPrecedencePrefix() {
1231 resolveTestUnit(''' 1445 resolveTestUnit('''
1232 main(p) { 1446 main(p) {
1233 !!(p is String); 1447 !!(p is String);
1234 } 1448 }
1235 '''); 1449 ''');
1236 assertHasAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1450 assertHasAssistAt(
1451 '!(p',
1452 DartAssistKind.CONVERT_INTO_IS_NOT,
1453 '''
1237 main(p) { 1454 main(p) {
1238 !(p is! String); 1455 !(p is! String);
1239 } 1456 }
1240 '''); 1457 ''');
1241 } 1458 }
1242 1459
1243 void test_convertToIsNot_OK_not() { 1460 void test_convertToIsNot_OK_not() {
1244 resolveTestUnit(''' 1461 resolveTestUnit('''
1245 main(p) { 1462 main(p) {
1246 !(p is String); 1463 !(p is String);
1247 } 1464 }
1248 '''); 1465 ''');
1249 assertHasAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1466 assertHasAssistAt(
1467 '!(p',
1468 DartAssistKind.CONVERT_INTO_IS_NOT,
1469 '''
1250 main(p) { 1470 main(p) {
1251 p is! String; 1471 p is! String;
1252 } 1472 }
1253 '''); 1473 ''');
1254 } 1474 }
1255 1475
1256 void test_convertToIsNot_OK_parentheses() { 1476 void test_convertToIsNot_OK_parentheses() {
1257 resolveTestUnit(''' 1477 resolveTestUnit('''
1258 main(p) { 1478 main(p) {
1259 !(p is String); 1479 !(p is String);
1260 } 1480 }
1261 '''); 1481 ''');
1262 assertHasAssistAt('(p is', DartAssistKind.CONVERT_INTO_IS_NOT, ''' 1482 assertHasAssistAt(
1483 '(p is',
1484 DartAssistKind.CONVERT_INTO_IS_NOT,
1485 '''
1263 main(p) { 1486 main(p) {
1264 p is! String; 1487 p is! String;
1265 } 1488 }
1266 '''); 1489 ''');
1267 } 1490 }
1268 1491
1269 void test_convertToIsNot_wrong_is_alreadyIsNot() { 1492 void test_convertToIsNot_wrong_is_alreadyIsNot() {
1270 resolveTestUnit(''' 1493 resolveTestUnit('''
1271 main(p) { 1494 main(p) {
1272 p is! String; 1495 p is! String;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1348 '''); 1571 ''');
1349 assertNoAssistAt('++(', DartAssistKind.CONVERT_INTO_IS_NOT); 1572 assertNoAssistAt('++(', DartAssistKind.CONVERT_INTO_IS_NOT);
1350 } 1573 }
1351 1574
1352 void test_convertToIsNotEmpty_OK_on_isEmpty() { 1575 void test_convertToIsNotEmpty_OK_on_isEmpty() {
1353 resolveTestUnit(''' 1576 resolveTestUnit('''
1354 main(String str) { 1577 main(String str) {
1355 !str.isEmpty; 1578 !str.isEmpty;
1356 } 1579 }
1357 '''); 1580 ''');
1358 assertHasAssistAt('isEmpty', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, ''' 1581 assertHasAssistAt(
1582 'isEmpty',
1583 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY,
1584 '''
1359 main(String str) { 1585 main(String str) {
1360 str.isNotEmpty; 1586 str.isNotEmpty;
1361 } 1587 }
1362 '''); 1588 ''');
1363 } 1589 }
1364 1590
1365 void test_convertToIsNotEmpty_OK_on_str() { 1591 void test_convertToIsNotEmpty_OK_on_str() {
1366 resolveTestUnit(''' 1592 resolveTestUnit('''
1367 main(String str) { 1593 main(String str) {
1368 !str.isEmpty; 1594 !str.isEmpty;
1369 } 1595 }
1370 '''); 1596 ''');
1371 assertHasAssistAt('str.', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, ''' 1597 assertHasAssistAt(
1598 'str.',
1599 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY,
1600 '''
1372 main(String str) { 1601 main(String str) {
1373 str.isNotEmpty; 1602 str.isNotEmpty;
1374 } 1603 }
1375 '''); 1604 ''');
1376 } 1605 }
1377 1606
1378 void test_convertToIsNotEmpty_OK_propertyAccess() { 1607 void test_convertToIsNotEmpty_OK_propertyAccess() {
1379 resolveTestUnit(''' 1608 resolveTestUnit('''
1380 main(String str) { 1609 main(String str) {
1381 !'text'.isEmpty; 1610 !'text'.isEmpty;
1382 } 1611 }
1383 '''); 1612 ''');
1384 assertHasAssistAt('isEmpty', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, ''' 1613 assertHasAssistAt(
1614 'isEmpty',
1615 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY,
1616 '''
1385 main(String str) { 1617 main(String str) {
1386 'text'.isNotEmpty; 1618 'text'.isNotEmpty;
1387 } 1619 }
1388 '''); 1620 ''');
1389 } 1621 }
1390 1622
1391 void test_convertToIsNotEmpty_wrong_noBang() { 1623 void test_convertToIsNotEmpty_wrong_noBang() {
1392 verifyNoTestUnitErrors = false; 1624 verifyNoTestUnitErrors = false;
1393 resolveTestUnit(''' 1625 resolveTestUnit('''
1394 main(String str) { 1626 main(String str) {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 } 1661 }
1430 1662
1431 void test_convertToNormalParameter_OK_dynamic() { 1663 void test_convertToNormalParameter_OK_dynamic() {
1432 resolveTestUnit(''' 1664 resolveTestUnit('''
1433 class A { 1665 class A {
1434 var test; 1666 var test;
1435 A(this.test) { 1667 A(this.test) {
1436 } 1668 }
1437 } 1669 }
1438 '''); 1670 ''');
1439 assertHasAssistAt('test)', DartAssistKind.CONVERT_TO_NORMAL_PARAMETER, ''' 1671 assertHasAssistAt(
1672 'test)',
1673 DartAssistKind.CONVERT_TO_NORMAL_PARAMETER,
1674 '''
1440 class A { 1675 class A {
1441 var test; 1676 var test;
1442 A(test) : test = test { 1677 A(test) : test = test {
1443 } 1678 }
1444 } 1679 }
1445 '''); 1680 ''');
1446 } 1681 }
1447 1682
1448 void test_convertToNormalParameter_OK_firstInitializer() { 1683 void test_convertToNormalParameter_OK_firstInitializer() {
1449 resolveTestUnit(''' 1684 resolveTestUnit('''
1450 class A { 1685 class A {
1451 int test; 1686 int test;
1452 A(this.test) { 1687 A(this.test) {
1453 } 1688 }
1454 } 1689 }
1455 '''); 1690 ''');
1456 assertHasAssistAt('test)', DartAssistKind.CONVERT_TO_NORMAL_PARAMETER, ''' 1691 assertHasAssistAt(
1692 'test)',
1693 DartAssistKind.CONVERT_TO_NORMAL_PARAMETER,
1694 '''
1457 class A { 1695 class A {
1458 int test; 1696 int test;
1459 A(int test) : test = test { 1697 A(int test) : test = test {
1460 } 1698 }
1461 } 1699 }
1462 '''); 1700 ''');
1463 } 1701 }
1464 1702
1465 void test_convertToNormalParameter_OK_secondInitializer() { 1703 void test_convertToNormalParameter_OK_secondInitializer() {
1466 resolveTestUnit(''' 1704 resolveTestUnit('''
1467 class A { 1705 class A {
1468 double aaa; 1706 double aaa;
1469 int bbb; 1707 int bbb;
1470 A(this.bbb) : aaa = 1.0; 1708 A(this.bbb) : aaa = 1.0;
1471 } 1709 }
1472 '''); 1710 ''');
1473 assertHasAssistAt('bbb)', DartAssistKind.CONVERT_TO_NORMAL_PARAMETER, ''' 1711 assertHasAssistAt(
1712 'bbb)',
1713 DartAssistKind.CONVERT_TO_NORMAL_PARAMETER,
1714 '''
1474 class A { 1715 class A {
1475 double aaa; 1716 double aaa;
1476 int bbb; 1717 int bbb;
1477 A(int bbb) : aaa = 1.0, bbb = bbb; 1718 A(int bbb) : aaa = 1.0, bbb = bbb;
1478 } 1719 }
1479 '''); 1720 ''');
1480 } 1721 }
1481 1722
1482 void test_encapsulateField_BAD_alreadyPrivate() { 1723 void test_encapsulateField_BAD_alreadyPrivate() {
1483 resolveTestUnit(''' 1724 resolveTestUnit('''
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1546 void test_encapsulateField_OK_hasType() { 1787 void test_encapsulateField_OK_hasType() {
1547 resolveTestUnit(''' 1788 resolveTestUnit('''
1548 class A { 1789 class A {
1549 int test = 42; 1790 int test = 42;
1550 A(this.test); 1791 A(this.test);
1551 } 1792 }
1552 main(A a) { 1793 main(A a) {
1553 print(a.test); 1794 print(a.test);
1554 } 1795 }
1555 '''); 1796 ''');
1556 assertHasAssistAt('test = 42', DartAssistKind.ENCAPSULATE_FIELD, ''' 1797 assertHasAssistAt(
1798 'test = 42',
1799 DartAssistKind.ENCAPSULATE_FIELD,
1800 '''
1557 class A { 1801 class A {
1558 int _test = 42; 1802 int _test = 42;
1559 1803
1560 int get test => _test; 1804 int get test => _test;
1561 1805
1562 void set test(int test) { 1806 void set test(int test) {
1563 _test = test; 1807 _test = test;
1564 } 1808 }
1565 A(this._test); 1809 A(this._test);
1566 } 1810 }
1567 main(A a) { 1811 main(A a) {
1568 print(a.test); 1812 print(a.test);
1569 } 1813 }
1570 '''); 1814 ''');
1571 } 1815 }
1572 1816
1573 void test_encapsulateField_OK_noType() { 1817 void test_encapsulateField_OK_noType() {
1574 resolveTestUnit(''' 1818 resolveTestUnit('''
1575 class A { 1819 class A {
1576 var test = 42; 1820 var test = 42;
1577 } 1821 }
1578 main(A a) { 1822 main(A a) {
1579 print(a.test); 1823 print(a.test);
1580 } 1824 }
1581 '''); 1825 ''');
1582 assertHasAssistAt('test = 42', DartAssistKind.ENCAPSULATE_FIELD, ''' 1826 assertHasAssistAt(
1827 'test = 42',
1828 DartAssistKind.ENCAPSULATE_FIELD,
1829 '''
1583 class A { 1830 class A {
1584 var _test = 42; 1831 var _test = 42;
1585 1832
1586 get test => _test; 1833 get test => _test;
1587 1834
1588 void set test(test) { 1835 void set test(test) {
1589 _test = test; 1836 _test = test;
1590 } 1837 }
1591 } 1838 }
1592 main(A a) { 1839 main(A a) {
1593 print(a.test); 1840 print(a.test);
1594 } 1841 }
1595 '''); 1842 ''');
1596 } 1843 }
1597 1844
1598 void test_exchangeBinaryExpressionArguments_OK_compare() { 1845 void test_exchangeBinaryExpressionArguments_OK_compare() {
1599 Map<String, String> operatorMap = { 1846 Map<String, String> operatorMap = {
1600 '<': '>', 1847 '<': '>',
1601 '<=': '>=', 1848 '<=': '>=',
1602 '>': '<', 1849 '>': '<',
1603 '>=': '<=' 1850 '>=': '<='
1604 }; 1851 };
1605 operatorMap.forEach((initialOperator, resultOperator) { 1852 operatorMap.forEach((initialOperator, resultOperator) {
1606 resolveTestUnit(''' 1853 resolveTestUnit('''
1607 bool main(int a, int b) { 1854 bool main(int a, int b) {
1608 return a $initialOperator b; 1855 return a $initialOperator b;
1609 } 1856 }
1610 '''); 1857 ''');
1611 assertHasAssistAt(initialOperator, DartAssistKind.EXCHANGE_OPERANDS, ''' 1858 assertHasAssistAt(
1859 initialOperator,
1860 DartAssistKind.EXCHANGE_OPERANDS,
1861 '''
1612 bool main(int a, int b) { 1862 bool main(int a, int b) {
1613 return b $resultOperator a; 1863 return b $resultOperator a;
1614 } 1864 }
1615 '''); 1865 ''');
1616 }); 1866 });
1617 } 1867 }
1618 1868
1619 void test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_1() { 1869 void test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_1() {
1620 resolveTestUnit(''' 1870 resolveTestUnit('''
1621 main() { 1871 main() {
1622 1 * 2 * 3 + 4; 1872 1 * 2 * 3 + 4;
1623 } 1873 }
1624 '''); 1874 ''');
1625 assertHasAssistAt('* 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1875 assertHasAssistAt(
1876 '* 2',
1877 DartAssistKind.EXCHANGE_OPERANDS,
1878 '''
1626 main() { 1879 main() {
1627 2 * 3 * 1 + 4; 1880 2 * 3 * 1 + 4;
1628 } 1881 }
1629 '''); 1882 ''');
1630 } 1883 }
1631 1884
1632 void test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_2() { 1885 void test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_2() {
1633 resolveTestUnit(''' 1886 resolveTestUnit('''
1634 main() { 1887 main() {
1635 1 + 2 - 3 + 4; 1888 1 + 2 - 3 + 4;
1636 } 1889 }
1637 '''); 1890 ''');
1638 assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1891 assertHasAssistAt(
1892 '+ 2',
1893 DartAssistKind.EXCHANGE_OPERANDS,
1894 '''
1639 main() { 1895 main() {
1640 2 + 1 - 3 + 4; 1896 2 + 1 - 3 + 4;
1641 } 1897 }
1642 '''); 1898 ''');
1643 } 1899 }
1644 1900
1645 void test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterFirs t() { 1901 void test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterFirs t() {
1646 resolveTestUnit(''' 1902 resolveTestUnit('''
1647 main() { 1903 main() {
1648 1 + 2 + 3; 1904 1 + 2 + 3;
1649 } 1905 }
1650 '''); 1906 ''');
1651 assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1907 assertHasAssistAt(
1908 '+ 2',
1909 DartAssistKind.EXCHANGE_OPERANDS,
1910 '''
1652 main() { 1911 main() {
1653 2 + 3 + 1; 1912 2 + 3 + 1;
1654 } 1913 }
1655 '''); 1914 ''');
1656 } 1915 }
1657 1916
1658 void test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterSeco nd() { 1917 void test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterSeco nd() {
1659 resolveTestUnit(''' 1918 resolveTestUnit('''
1660 main() { 1919 main() {
1661 1 + 2 + 3; 1920 1 + 2 + 3;
1662 } 1921 }
1663 '''); 1922 ''');
1664 assertHasAssistAt('+ 3', DartAssistKind.EXCHANGE_OPERANDS, ''' 1923 assertHasAssistAt(
1924 '+ 3',
1925 DartAssistKind.EXCHANGE_OPERANDS,
1926 '''
1665 main() { 1927 main() {
1666 3 + 1 + 2; 1928 3 + 1 + 2;
1667 } 1929 }
1668 '''); 1930 ''');
1669 } 1931 }
1670 1932
1671 void test_exchangeBinaryExpressionArguments_OK_simple_afterOperator() { 1933 void test_exchangeBinaryExpressionArguments_OK_simple_afterOperator() {
1672 resolveTestUnit(''' 1934 resolveTestUnit('''
1673 main() { 1935 main() {
1674 1 + 2; 1936 1 + 2;
1675 } 1937 }
1676 '''); 1938 ''');
1677 assertHasAssistAt(' 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1939 assertHasAssistAt(
1940 ' 2',
1941 DartAssistKind.EXCHANGE_OPERANDS,
1942 '''
1678 main() { 1943 main() {
1679 2 + 1; 1944 2 + 1;
1680 } 1945 }
1681 '''); 1946 ''');
1682 } 1947 }
1683 1948
1684 void test_exchangeBinaryExpressionArguments_OK_simple_beforeOperator() { 1949 void test_exchangeBinaryExpressionArguments_OK_simple_beforeOperator() {
1685 resolveTestUnit(''' 1950 resolveTestUnit('''
1686 main() { 1951 main() {
1687 1 + 2; 1952 1 + 2;
1688 } 1953 }
1689 '''); 1954 ''');
1690 assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1955 assertHasAssistAt(
1956 '+ 2',
1957 DartAssistKind.EXCHANGE_OPERANDS,
1958 '''
1691 main() { 1959 main() {
1692 2 + 1; 1960 2 + 1;
1693 } 1961 }
1694 '''); 1962 ''');
1695 } 1963 }
1696 1964
1697 void test_exchangeBinaryExpressionArguments_OK_simple_fullSelection() { 1965 void test_exchangeBinaryExpressionArguments_OK_simple_fullSelection() {
1698 resolveTestUnit(''' 1966 resolveTestUnit('''
1699 main() { 1967 main() {
1700 1 + 2; 1968 1 + 2;
1701 } 1969 }
1702 '''); 1970 ''');
1703 length = '1 + 2'.length; 1971 length = '1 + 2'.length;
1704 assertHasAssistAt('1 + 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1972 assertHasAssistAt(
1973 '1 + 2',
1974 DartAssistKind.EXCHANGE_OPERANDS,
1975 '''
1705 main() { 1976 main() {
1706 2 + 1; 1977 2 + 1;
1707 } 1978 }
1708 '''); 1979 ''');
1709 } 1980 }
1710 1981
1711 void test_exchangeBinaryExpressionArguments_OK_simple_withLength() { 1982 void test_exchangeBinaryExpressionArguments_OK_simple_withLength() {
1712 resolveTestUnit(''' 1983 resolveTestUnit('''
1713 main() { 1984 main() {
1714 1 + 2; 1985 1 + 2;
1715 } 1986 }
1716 '''); 1987 ''');
1717 length = 2; 1988 length = 2;
1718 assertHasAssistAt('+ 2', DartAssistKind.EXCHANGE_OPERANDS, ''' 1989 assertHasAssistAt(
1990 '+ 2',
1991 DartAssistKind.EXCHANGE_OPERANDS,
1992 '''
1719 main() { 1993 main() {
1720 2 + 1; 1994 2 + 1;
1721 } 1995 }
1722 '''); 1996 ''');
1723 } 1997 }
1724 1998
1725 void test_exchangeBinaryExpressionArguments_wrong_extraLength() { 1999 void test_exchangeBinaryExpressionArguments_wrong_extraLength() {
1726 resolveTestUnit(''' 2000 resolveTestUnit('''
1727 main() { 2001 main() {
1728 111 + 222; 2002 111 + 222;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1777 } 2051 }
1778 2052
1779 void test_importAddShow_OK_hasUnresolvedIdentifier() { 2053 void test_importAddShow_OK_hasUnresolvedIdentifier() {
1780 resolveTestUnit(''' 2054 resolveTestUnit('''
1781 import 'dart:math'; 2055 import 'dart:math';
1782 main(x) { 2056 main(x) {
1783 PI; 2057 PI;
1784 return x.foo(); 2058 return x.foo();
1785 } 2059 }
1786 '''); 2060 ''');
1787 assertHasAssistAt('import ', DartAssistKind.IMPORT_ADD_SHOW, ''' 2061 assertHasAssistAt(
2062 'import ',
2063 DartAssistKind.IMPORT_ADD_SHOW,
2064 '''
1788 import 'dart:math' show PI; 2065 import 'dart:math' show PI;
1789 main(x) { 2066 main(x) {
1790 PI; 2067 PI;
1791 return x.foo(); 2068 return x.foo();
1792 } 2069 }
1793 '''); 2070 ''');
1794 } 2071 }
1795 2072
1796 void test_importAddShow_OK_onDirective() { 2073 void test_importAddShow_OK_onDirective() {
1797 resolveTestUnit(''' 2074 resolveTestUnit('''
1798 import 'dart:math'; 2075 import 'dart:math';
1799 main() { 2076 main() {
1800 PI; 2077 PI;
1801 E; 2078 E;
1802 max(1, 2); 2079 max(1, 2);
1803 } 2080 }
1804 '''); 2081 ''');
1805 assertHasAssistAt('import ', DartAssistKind.IMPORT_ADD_SHOW, ''' 2082 assertHasAssistAt(
2083 'import ',
2084 DartAssistKind.IMPORT_ADD_SHOW,
2085 '''
1806 import 'dart:math' show E, PI, max; 2086 import 'dart:math' show E, PI, max;
1807 main() { 2087 main() {
1808 PI; 2088 PI;
1809 E; 2089 E;
1810 max(1, 2); 2090 max(1, 2);
1811 } 2091 }
1812 '''); 2092 ''');
1813 } 2093 }
1814 2094
1815 void test_importAddShow_OK_onUri() { 2095 void test_importAddShow_OK_onUri() {
1816 resolveTestUnit(''' 2096 resolveTestUnit('''
1817 import 'dart:math'; 2097 import 'dart:math';
1818 main() { 2098 main() {
1819 PI; 2099 PI;
1820 E; 2100 E;
1821 max(1, 2); 2101 max(1, 2);
1822 } 2102 }
1823 '''); 2103 ''');
1824 assertHasAssistAt('art:math', DartAssistKind.IMPORT_ADD_SHOW, ''' 2104 assertHasAssistAt(
2105 'art:math',
2106 DartAssistKind.IMPORT_ADD_SHOW,
2107 '''
1825 import 'dart:math' show E, PI, max; 2108 import 'dart:math' show E, PI, max;
1826 main() { 2109 main() {
1827 PI; 2110 PI;
1828 E; 2111 E;
1829 max(1, 2); 2112 max(1, 2);
1830 } 2113 }
1831 '''); 2114 ''');
1832 } 2115 }
1833 2116
1834 void test_introduceLocalTestedType_BAD_notBlock() { 2117 void test_introduceLocalTestedType_BAD_notBlock() {
(...skipping 29 matching lines...) Expand all
1864 class MyTypeName {} 2147 class MyTypeName {}
1865 main(p) { 2148 main(p) {
1866 if (p is MyTypeName) { 2149 if (p is MyTypeName) {
1867 MyTypeName myTypeName = p; 2150 MyTypeName myTypeName = p;
1868 } 2151 }
1869 p = null; 2152 p = null;
1870 } 2153 }
1871 '''; 2154 ''';
1872 assertHasAssistAt( 2155 assertHasAssistAt(
1873 'is MyType', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected); 2156 'is MyType', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected);
1874 _assertLinkedGroup(change.linkedEditGroups[0], [ 2157 _assertLinkedGroup(
1875 'myTypeName = ' 2158 change.linkedEditGroups[0],
1876 ], expectedSuggestions( 2159 ['myTypeName = '],
1877 LinkedEditSuggestionKind.VARIABLE, ['myTypeName', 'typeName', 'name'])); 2160 expectedSuggestions(LinkedEditSuggestionKind.VARIABLE,
2161 ['myTypeName', 'typeName', 'name']));
1878 // another good location 2162 // another good location
1879 assertHasAssistAt( 2163 assertHasAssistAt(
1880 'if (p', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected); 2164 'if (p', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected);
1881 } 2165 }
1882 2166
1883 void test_introduceLocalTestedType_OK_if_isNot() { 2167 void test_introduceLocalTestedType_OK_if_isNot() {
1884 resolveTestUnit(''' 2168 resolveTestUnit('''
1885 class MyTypeName {} 2169 class MyTypeName {}
1886 main(p) { 2170 main(p) {
1887 if (p is! MyTypeName) { 2171 if (p is! MyTypeName) {
1888 return; 2172 return;
1889 } 2173 }
1890 } 2174 }
1891 '''); 2175 ''');
1892 String expected = ''' 2176 String expected = '''
1893 class MyTypeName {} 2177 class MyTypeName {}
1894 main(p) { 2178 main(p) {
1895 if (p is! MyTypeName) { 2179 if (p is! MyTypeName) {
1896 return; 2180 return;
1897 } 2181 }
1898 MyTypeName myTypeName = p; 2182 MyTypeName myTypeName = p;
1899 } 2183 }
1900 '''; 2184 ''';
1901 assertHasAssistAt( 2185 assertHasAssistAt(
1902 'is! MyType', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected); 2186 'is! MyType', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected);
1903 _assertLinkedGroup(change.linkedEditGroups[0], [ 2187 _assertLinkedGroup(
1904 'myTypeName = ' 2188 change.linkedEditGroups[0],
1905 ], expectedSuggestions( 2189 ['myTypeName = '],
1906 LinkedEditSuggestionKind.VARIABLE, ['myTypeName', 'typeName', 'name'])); 2190 expectedSuggestions(LinkedEditSuggestionKind.VARIABLE,
2191 ['myTypeName', 'typeName', 'name']));
1907 // another good location 2192 // another good location
1908 assertHasAssistAt( 2193 assertHasAssistAt(
1909 'if (p', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected); 2194 'if (p', DartAssistKind.INTRODUCE_LOCAL_CAST_TYPE, expected);
1910 } 2195 }
1911 2196
1912 void test_introduceLocalTestedType_OK_while() { 2197 void test_introduceLocalTestedType_OK_while() {
1913 resolveTestUnit(''' 2198 resolveTestUnit('''
1914 main(p) { 2199 main(p) {
1915 while (p is String) { 2200 while (p is String) {
1916 } 2201 }
(...skipping 24 matching lines...) Expand all
1941 void test_invertIfStatement_blocks() { 2226 void test_invertIfStatement_blocks() {
1942 resolveTestUnit(''' 2227 resolveTestUnit('''
1943 main() { 2228 main() {
1944 if (true) { 2229 if (true) {
1945 0; 2230 0;
1946 } else { 2231 } else {
1947 1; 2232 1;
1948 } 2233 }
1949 } 2234 }
1950 '''); 2235 ''');
1951 assertHasAssistAt('if (', DartAssistKind.INVERT_IF_STATEMENT, ''' 2236 assertHasAssistAt(
2237 'if (',
2238 DartAssistKind.INVERT_IF_STATEMENT,
2239 '''
1952 main() { 2240 main() {
1953 if (false) { 2241 if (false) {
1954 1; 2242 1;
1955 } else { 2243 } else {
1956 0; 2244 0;
1957 } 2245 }
1958 } 2246 }
1959 '''); 2247 ''');
1960 } 2248 }
1961 2249
1962 void test_invertIfStatement_statements() { 2250 void test_invertIfStatement_statements() {
1963 resolveTestUnit(''' 2251 resolveTestUnit('''
1964 main() { 2252 main() {
1965 if (true) 2253 if (true)
1966 0; 2254 0;
1967 else 2255 else
1968 1; 2256 1;
1969 } 2257 }
1970 '''); 2258 ''');
1971 assertHasAssistAt('if (', DartAssistKind.INVERT_IF_STATEMENT, ''' 2259 assertHasAssistAt(
2260 'if (',
2261 DartAssistKind.INVERT_IF_STATEMENT,
2262 '''
1972 main() { 2263 main() {
1973 if (false) 2264 if (false)
1974 1; 2265 1;
1975 else 2266 else
1976 0; 2267 0;
1977 } 2268 }
1978 '''); 2269 ''');
1979 } 2270 }
1980 2271
1981 void test_joinIfStatementInner_OK_conditionAndOr() { 2272 void test_joinIfStatementInner_OK_conditionAndOr() {
1982 resolveTestUnit(''' 2273 resolveTestUnit('''
1983 main() { 2274 main() {
1984 if (1 == 1) { 2275 if (1 == 1) {
1985 if (2 == 2 || 3 == 3) { 2276 if (2 == 2 || 3 == 3) {
1986 print(0); 2277 print(0);
1987 } 2278 }
1988 } 2279 }
1989 } 2280 }
1990 '''); 2281 ''');
1991 assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2282 assertHasAssistAt(
2283 'if (1 ==',
2284 DartAssistKind.JOIN_IF_WITH_INNER,
2285 '''
1992 main() { 2286 main() {
1993 if (1 == 1 && (2 == 2 || 3 == 3)) { 2287 if (1 == 1 && (2 == 2 || 3 == 3)) {
1994 print(0); 2288 print(0);
1995 } 2289 }
1996 } 2290 }
1997 '''); 2291 ''');
1998 } 2292 }
1999 2293
2000 void test_joinIfStatementInner_OK_conditionInvocation() { 2294 void test_joinIfStatementInner_OK_conditionInvocation() {
2001 resolveTestUnit(''' 2295 resolveTestUnit('''
2002 main() { 2296 main() {
2003 if (isCheck()) { 2297 if (isCheck()) {
2004 if (2 == 2) { 2298 if (2 == 2) {
2005 print(0); 2299 print(0);
2006 } 2300 }
2007 } 2301 }
2008 } 2302 }
2009 bool isCheck() => false; 2303 bool isCheck() => false;
2010 '''); 2304 ''');
2011 assertHasAssistAt('if (isCheck', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2305 assertHasAssistAt(
2306 'if (isCheck',
2307 DartAssistKind.JOIN_IF_WITH_INNER,
2308 '''
2012 main() { 2309 main() {
2013 if (isCheck() && 2 == 2) { 2310 if (isCheck() && 2 == 2) {
2014 print(0); 2311 print(0);
2015 } 2312 }
2016 } 2313 }
2017 bool isCheck() => false; 2314 bool isCheck() => false;
2018 '''); 2315 ''');
2019 } 2316 }
2020 2317
2021 void test_joinIfStatementInner_OK_conditionOrAnd() { 2318 void test_joinIfStatementInner_OK_conditionOrAnd() {
2022 resolveTestUnit(''' 2319 resolveTestUnit('''
2023 main() { 2320 main() {
2024 if (1 == 1 || 2 == 2) { 2321 if (1 == 1 || 2 == 2) {
2025 if (3 == 3) { 2322 if (3 == 3) {
2026 print(0); 2323 print(0);
2027 } 2324 }
2028 } 2325 }
2029 } 2326 }
2030 '''); 2327 ''');
2031 assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2328 assertHasAssistAt(
2329 'if (1 ==',
2330 DartAssistKind.JOIN_IF_WITH_INNER,
2331 '''
2032 main() { 2332 main() {
2033 if ((1 == 1 || 2 == 2) && 3 == 3) { 2333 if ((1 == 1 || 2 == 2) && 3 == 3) {
2034 print(0); 2334 print(0);
2035 } 2335 }
2036 } 2336 }
2037 '''); 2337 ''');
2038 } 2338 }
2039 2339
2040 void test_joinIfStatementInner_OK_onCondition() { 2340 void test_joinIfStatementInner_OK_onCondition() {
2041 resolveTestUnit(''' 2341 resolveTestUnit('''
2042 main() { 2342 main() {
2043 if (1 == 1) { 2343 if (1 == 1) {
2044 if (2 == 2) { 2344 if (2 == 2) {
2045 print(0); 2345 print(0);
2046 } 2346 }
2047 } 2347 }
2048 } 2348 }
2049 '''); 2349 ''');
2050 assertHasAssistAt('1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2350 assertHasAssistAt(
2351 '1 ==',
2352 DartAssistKind.JOIN_IF_WITH_INNER,
2353 '''
2051 main() { 2354 main() {
2052 if (1 == 1 && 2 == 2) { 2355 if (1 == 1 && 2 == 2) {
2053 print(0); 2356 print(0);
2054 } 2357 }
2055 } 2358 }
2056 '''); 2359 ''');
2057 } 2360 }
2058 2361
2059 void test_joinIfStatementInner_OK_simpleConditions_block_block() { 2362 void test_joinIfStatementInner_OK_simpleConditions_block_block() {
2060 resolveTestUnit(''' 2363 resolveTestUnit('''
2061 main() { 2364 main() {
2062 if (1 == 1) { 2365 if (1 == 1) {
2063 if (2 == 2) { 2366 if (2 == 2) {
2064 print(0); 2367 print(0);
2065 } 2368 }
2066 } 2369 }
2067 } 2370 }
2068 '''); 2371 ''');
2069 assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2372 assertHasAssistAt(
2373 'if (1 ==',
2374 DartAssistKind.JOIN_IF_WITH_INNER,
2375 '''
2070 main() { 2376 main() {
2071 if (1 == 1 && 2 == 2) { 2377 if (1 == 1 && 2 == 2) {
2072 print(0); 2378 print(0);
2073 } 2379 }
2074 } 2380 }
2075 '''); 2381 ''');
2076 } 2382 }
2077 2383
2078 void test_joinIfStatementInner_OK_simpleConditions_block_single() { 2384 void test_joinIfStatementInner_OK_simpleConditions_block_single() {
2079 resolveTestUnit(''' 2385 resolveTestUnit('''
2080 main() { 2386 main() {
2081 if (1 == 1) { 2387 if (1 == 1) {
2082 if (2 == 2) 2388 if (2 == 2)
2083 print(0); 2389 print(0);
2084 } 2390 }
2085 } 2391 }
2086 '''); 2392 ''');
2087 assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2393 assertHasAssistAt(
2394 'if (1 ==',
2395 DartAssistKind.JOIN_IF_WITH_INNER,
2396 '''
2088 main() { 2397 main() {
2089 if (1 == 1 && 2 == 2) { 2398 if (1 == 1 && 2 == 2) {
2090 print(0); 2399 print(0);
2091 } 2400 }
2092 } 2401 }
2093 '''); 2402 ''');
2094 } 2403 }
2095 2404
2096 void test_joinIfStatementInner_OK_simpleConditions_single_blockMulti() { 2405 void test_joinIfStatementInner_OK_simpleConditions_single_blockMulti() {
2097 resolveTestUnit(''' 2406 resolveTestUnit('''
2098 main() { 2407 main() {
2099 if (1 == 1) { 2408 if (1 == 1) {
2100 if (2 == 2) { 2409 if (2 == 2) {
2101 print(1); 2410 print(1);
2102 print(2); 2411 print(2);
2103 print(3); 2412 print(3);
2104 } 2413 }
2105 } 2414 }
2106 } 2415 }
2107 '''); 2416 ''');
2108 assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2417 assertHasAssistAt(
2418 'if (1 ==',
2419 DartAssistKind.JOIN_IF_WITH_INNER,
2420 '''
2109 main() { 2421 main() {
2110 if (1 == 1 && 2 == 2) { 2422 if (1 == 1 && 2 == 2) {
2111 print(1); 2423 print(1);
2112 print(2); 2424 print(2);
2113 print(3); 2425 print(3);
2114 } 2426 }
2115 } 2427 }
2116 '''); 2428 ''');
2117 } 2429 }
2118 2430
2119 void test_joinIfStatementInner_OK_simpleConditions_single_blockOne() { 2431 void test_joinIfStatementInner_OK_simpleConditions_single_blockOne() {
2120 resolveTestUnit(''' 2432 resolveTestUnit('''
2121 main() { 2433 main() {
2122 if (1 == 1) 2434 if (1 == 1)
2123 if (2 == 2) { 2435 if (2 == 2) {
2124 print(0); 2436 print(0);
2125 } 2437 }
2126 } 2438 }
2127 '''); 2439 ''');
2128 assertHasAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER, ''' 2440 assertHasAssistAt(
2441 'if (1 ==',
2442 DartAssistKind.JOIN_IF_WITH_INNER,
2443 '''
2129 main() { 2444 main() {
2130 if (1 == 1 && 2 == 2) { 2445 if (1 == 1 && 2 == 2) {
2131 print(0); 2446 print(0);
2132 } 2447 }
2133 } 2448 }
2134 '''); 2449 ''');
2135 } 2450 }
2136 2451
2137 void test_joinIfStatementInner_wrong_innerNotIf() { 2452 void test_joinIfStatementInner_wrong_innerNotIf() {
2138 resolveTestUnit(''' 2453 resolveTestUnit('''
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
2187 void test_joinIfStatementOuter_OK_conditionAndOr() { 2502 void test_joinIfStatementOuter_OK_conditionAndOr() {
2188 resolveTestUnit(''' 2503 resolveTestUnit('''
2189 main() { 2504 main() {
2190 if (1 == 1) { 2505 if (1 == 1) {
2191 if (2 == 2 || 3 == 3) { 2506 if (2 == 2 || 3 == 3) {
2192 print(0); 2507 print(0);
2193 } 2508 }
2194 } 2509 }
2195 } 2510 }
2196 '''); 2511 ''');
2197 assertHasAssistAt('if (2 ==', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2512 assertHasAssistAt(
2513 'if (2 ==',
2514 DartAssistKind.JOIN_IF_WITH_OUTER,
2515 '''
2198 main() { 2516 main() {
2199 if (1 == 1 && (2 == 2 || 3 == 3)) { 2517 if (1 == 1 && (2 == 2 || 3 == 3)) {
2200 print(0); 2518 print(0);
2201 } 2519 }
2202 } 2520 }
2203 '''); 2521 ''');
2204 } 2522 }
2205 2523
2206 void test_joinIfStatementOuter_OK_conditionInvocation() { 2524 void test_joinIfStatementOuter_OK_conditionInvocation() {
2207 resolveTestUnit(''' 2525 resolveTestUnit('''
2208 main() { 2526 main() {
2209 if (1 == 1) { 2527 if (1 == 1) {
2210 if (isCheck()) { 2528 if (isCheck()) {
2211 print(0); 2529 print(0);
2212 } 2530 }
2213 } 2531 }
2214 } 2532 }
2215 bool isCheck() => false; 2533 bool isCheck() => false;
2216 '''); 2534 ''');
2217 assertHasAssistAt('if (isCheck', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2535 assertHasAssistAt(
2536 'if (isCheck',
2537 DartAssistKind.JOIN_IF_WITH_OUTER,
2538 '''
2218 main() { 2539 main() {
2219 if (1 == 1 && isCheck()) { 2540 if (1 == 1 && isCheck()) {
2220 print(0); 2541 print(0);
2221 } 2542 }
2222 } 2543 }
2223 bool isCheck() => false; 2544 bool isCheck() => false;
2224 '''); 2545 ''');
2225 } 2546 }
2226 2547
2227 void test_joinIfStatementOuter_OK_conditionOrAnd() { 2548 void test_joinIfStatementOuter_OK_conditionOrAnd() {
2228 resolveTestUnit(''' 2549 resolveTestUnit('''
2229 main() { 2550 main() {
2230 if (1 == 1 || 2 == 2) { 2551 if (1 == 1 || 2 == 2) {
2231 if (3 == 3) { 2552 if (3 == 3) {
2232 print(0); 2553 print(0);
2233 } 2554 }
2234 } 2555 }
2235 } 2556 }
2236 '''); 2557 ''');
2237 assertHasAssistAt('if (3 == 3', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2558 assertHasAssistAt(
2559 'if (3 == 3',
2560 DartAssistKind.JOIN_IF_WITH_OUTER,
2561 '''
2238 main() { 2562 main() {
2239 if ((1 == 1 || 2 == 2) && 3 == 3) { 2563 if ((1 == 1 || 2 == 2) && 3 == 3) {
2240 print(0); 2564 print(0);
2241 } 2565 }
2242 } 2566 }
2243 '''); 2567 ''');
2244 } 2568 }
2245 2569
2246 void test_joinIfStatementOuter_OK_onCondition() { 2570 void test_joinIfStatementOuter_OK_onCondition() {
2247 resolveTestUnit(''' 2571 resolveTestUnit('''
2248 main() { 2572 main() {
2249 if (1 == 1) { 2573 if (1 == 1) {
2250 if (2 == 2) { 2574 if (2 == 2) {
2251 print(0); 2575 print(0);
2252 } 2576 }
2253 } 2577 }
2254 } 2578 }
2255 '''); 2579 ''');
2256 assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2580 assertHasAssistAt(
2581 'if (2 == 2',
2582 DartAssistKind.JOIN_IF_WITH_OUTER,
2583 '''
2257 main() { 2584 main() {
2258 if (1 == 1 && 2 == 2) { 2585 if (1 == 1 && 2 == 2) {
2259 print(0); 2586 print(0);
2260 } 2587 }
2261 } 2588 }
2262 '''); 2589 ''');
2263 } 2590 }
2264 2591
2265 void test_joinIfStatementOuter_OK_simpleConditions_block_block() { 2592 void test_joinIfStatementOuter_OK_simpleConditions_block_block() {
2266 resolveTestUnit(''' 2593 resolveTestUnit('''
2267 main() { 2594 main() {
2268 if (1 == 1) { 2595 if (1 == 1) {
2269 if (2 == 2) { 2596 if (2 == 2) {
2270 print(0); 2597 print(0);
2271 } 2598 }
2272 } 2599 }
2273 } 2600 }
2274 '''); 2601 ''');
2275 assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2602 assertHasAssistAt(
2603 'if (2 == 2',
2604 DartAssistKind.JOIN_IF_WITH_OUTER,
2605 '''
2276 main() { 2606 main() {
2277 if (1 == 1 && 2 == 2) { 2607 if (1 == 1 && 2 == 2) {
2278 print(0); 2608 print(0);
2279 } 2609 }
2280 } 2610 }
2281 '''); 2611 ''');
2282 } 2612 }
2283 2613
2284 void test_joinIfStatementOuter_OK_simpleConditions_block_single() { 2614 void test_joinIfStatementOuter_OK_simpleConditions_block_single() {
2285 resolveTestUnit(''' 2615 resolveTestUnit('''
2286 main() { 2616 main() {
2287 if (1 == 1) { 2617 if (1 == 1) {
2288 if (2 == 2) 2618 if (2 == 2)
2289 print(0); 2619 print(0);
2290 } 2620 }
2291 } 2621 }
2292 '''); 2622 ''');
2293 assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2623 assertHasAssistAt(
2624 'if (2 == 2',
2625 DartAssistKind.JOIN_IF_WITH_OUTER,
2626 '''
2294 main() { 2627 main() {
2295 if (1 == 1 && 2 == 2) { 2628 if (1 == 1 && 2 == 2) {
2296 print(0); 2629 print(0);
2297 } 2630 }
2298 } 2631 }
2299 '''); 2632 ''');
2300 } 2633 }
2301 2634
2302 void test_joinIfStatementOuter_OK_simpleConditions_single_blockMulti() { 2635 void test_joinIfStatementOuter_OK_simpleConditions_single_blockMulti() {
2303 resolveTestUnit(''' 2636 resolveTestUnit('''
2304 main() { 2637 main() {
2305 if (1 == 1) { 2638 if (1 == 1) {
2306 if (2 == 2) { 2639 if (2 == 2) {
2307 print(1); 2640 print(1);
2308 print(2); 2641 print(2);
2309 print(3); 2642 print(3);
2310 } 2643 }
2311 } 2644 }
2312 } 2645 }
2313 '''); 2646 ''');
2314 assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2647 assertHasAssistAt(
2648 'if (2 == 2',
2649 DartAssistKind.JOIN_IF_WITH_OUTER,
2650 '''
2315 main() { 2651 main() {
2316 if (1 == 1 && 2 == 2) { 2652 if (1 == 1 && 2 == 2) {
2317 print(1); 2653 print(1);
2318 print(2); 2654 print(2);
2319 print(3); 2655 print(3);
2320 } 2656 }
2321 } 2657 }
2322 '''); 2658 ''');
2323 } 2659 }
2324 2660
2325 void test_joinIfStatementOuter_OK_simpleConditions_single_blockOne() { 2661 void test_joinIfStatementOuter_OK_simpleConditions_single_blockOne() {
2326 resolveTestUnit(''' 2662 resolveTestUnit('''
2327 main() { 2663 main() {
2328 if (1 == 1) 2664 if (1 == 1)
2329 if (2 == 2) { 2665 if (2 == 2) {
2330 print(0); 2666 print(0);
2331 } 2667 }
2332 } 2668 }
2333 '''); 2669 ''');
2334 assertHasAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER, ''' 2670 assertHasAssistAt(
2671 'if (2 == 2',
2672 DartAssistKind.JOIN_IF_WITH_OUTER,
2673 '''
2335 main() { 2674 main() {
2336 if (1 == 1 && 2 == 2) { 2675 if (1 == 1 && 2 == 2) {
2337 print(0); 2676 print(0);
2338 } 2677 }
2339 } 2678 }
2340 '''); 2679 ''');
2341 } 2680 }
2342 2681
2343 void test_joinIfStatementOuter_wrong_outerNotIf() { 2682 void test_joinIfStatementOuter_wrong_outerNotIf() {
2344 resolveTestUnit(''' 2683 resolveTestUnit('''
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
2390 assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); 2729 assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER);
2391 } 2730 }
2392 2731
2393 void test_joinVariableDeclaration_onAssignment_OK() { 2732 void test_joinVariableDeclaration_onAssignment_OK() {
2394 resolveTestUnit(''' 2733 resolveTestUnit('''
2395 main() { 2734 main() {
2396 var v; 2735 var v;
2397 v = 1; 2736 v = 1;
2398 } 2737 }
2399 '''); 2738 ''');
2400 assertHasAssistAt('v =', DartAssistKind.JOIN_VARIABLE_DECLARATION, ''' 2739 assertHasAssistAt(
2740 'v =',
2741 DartAssistKind.JOIN_VARIABLE_DECLARATION,
2742 '''
2401 main() { 2743 main() {
2402 var v = 1; 2744 var v = 1;
2403 } 2745 }
2404 '''); 2746 ''');
2405 } 2747 }
2406 2748
2407 void test_joinVariableDeclaration_onAssignment_wrong_hasInitializer() { 2749 void test_joinVariableDeclaration_onAssignment_wrong_hasInitializer() {
2408 resolveTestUnit(''' 2750 resolveTestUnit('''
2409 main() { 2751 main() {
2410 var v = 1; 2752 var v = 1;
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
2487 assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); 2829 assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION);
2488 } 2830 }
2489 2831
2490 void test_joinVariableDeclaration_onDeclaration_OK_onName() { 2832 void test_joinVariableDeclaration_onDeclaration_OK_onName() {
2491 resolveTestUnit(''' 2833 resolveTestUnit('''
2492 main() { 2834 main() {
2493 var v; 2835 var v;
2494 v = 1; 2836 v = 1;
2495 } 2837 }
2496 '''); 2838 ''');
2497 assertHasAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION, ''' 2839 assertHasAssistAt(
2840 'v;',
2841 DartAssistKind.JOIN_VARIABLE_DECLARATION,
2842 '''
2498 main() { 2843 main() {
2499 var v = 1; 2844 var v = 1;
2500 } 2845 }
2501 '''); 2846 ''');
2502 } 2847 }
2503 2848
2504 void test_joinVariableDeclaration_onDeclaration_OK_onType() { 2849 void test_joinVariableDeclaration_onDeclaration_OK_onType() {
2505 resolveTestUnit(''' 2850 resolveTestUnit('''
2506 main() { 2851 main() {
2507 int v; 2852 int v;
2508 v = 1; 2853 v = 1;
2509 } 2854 }
2510 '''); 2855 ''');
2511 assertHasAssistAt('int v', DartAssistKind.JOIN_VARIABLE_DECLARATION, ''' 2856 assertHasAssistAt(
2857 'int v',
2858 DartAssistKind.JOIN_VARIABLE_DECLARATION,
2859 '''
2512 main() { 2860 main() {
2513 int v = 1; 2861 int v = 1;
2514 } 2862 }
2515 '''); 2863 ''');
2516 } 2864 }
2517 2865
2518 void test_joinVariableDeclaration_onDeclaration_OK_onVar() { 2866 void test_joinVariableDeclaration_onDeclaration_OK_onVar() {
2519 resolveTestUnit(''' 2867 resolveTestUnit('''
2520 main() { 2868 main() {
2521 var v; 2869 var v;
2522 v = 1; 2870 v = 1;
2523 } 2871 }
2524 '''); 2872 ''');
2525 assertHasAssistAt('var v', DartAssistKind.JOIN_VARIABLE_DECLARATION, ''' 2873 assertHasAssistAt(
2874 'var v',
2875 DartAssistKind.JOIN_VARIABLE_DECLARATION,
2876 '''
2526 main() { 2877 main() {
2527 var v = 1; 2878 var v = 1;
2528 } 2879 }
2529 '''); 2880 ''');
2530 } 2881 }
2531 2882
2532 void test_joinVariableDeclaration_onDeclaration_wrong_hasInitializer() { 2883 void test_joinVariableDeclaration_onDeclaration_wrong_hasInitializer() {
2533 resolveTestUnit(''' 2884 resolveTestUnit('''
2534 main() { 2885 main() {
2535 var v = 1; 2886 var v = 1;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
2588 '''); 2939 ''');
2589 assertNoAssistAt('v, ', DartAssistKind.JOIN_VARIABLE_DECLARATION); 2940 assertNoAssistAt('v, ', DartAssistKind.JOIN_VARIABLE_DECLARATION);
2590 } 2941 }
2591 2942
2592 void test_removeTypeAnnotation_classField_OK() { 2943 void test_removeTypeAnnotation_classField_OK() {
2593 resolveTestUnit(''' 2944 resolveTestUnit('''
2594 class A { 2945 class A {
2595 int v = 1; 2946 int v = 1;
2596 } 2947 }
2597 '''); 2948 ''');
2598 assertHasAssistAt('v = ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 2949 assertHasAssistAt(
2950 'v = ',
2951 DartAssistKind.REMOVE_TYPE_ANNOTATION,
2952 '''
2599 class A { 2953 class A {
2600 var v = 1; 2954 var v = 1;
2601 } 2955 }
2602 '''); 2956 ''');
2603 } 2957 }
2604 2958
2605 void test_removeTypeAnnotation_classField_OK_final() { 2959 void test_removeTypeAnnotation_classField_OK_final() {
2606 resolveTestUnit(''' 2960 resolveTestUnit('''
2607 class A { 2961 class A {
2608 final int v = 1; 2962 final int v = 1;
2609 } 2963 }
2610 '''); 2964 ''');
2611 assertHasAssistAt('v = ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 2965 assertHasAssistAt(
2966 'v = ',
2967 DartAssistKind.REMOVE_TYPE_ANNOTATION,
2968 '''
2612 class A { 2969 class A {
2613 final v = 1; 2970 final v = 1;
2614 } 2971 }
2615 '''); 2972 ''');
2616 } 2973 }
2617 2974
2618 void test_removeTypeAnnotation_localVariable_OK() { 2975 void test_removeTypeAnnotation_localVariable_OK() {
2619 resolveTestUnit(''' 2976 resolveTestUnit('''
2620 main() { 2977 main() {
2621 int a = 1, b = 2; 2978 int a = 1, b = 2;
2622 } 2979 }
2623 '''); 2980 ''');
2624 assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 2981 assertHasAssistAt(
2982 'int ',
2983 DartAssistKind.REMOVE_TYPE_ANNOTATION,
2984 '''
2625 main() { 2985 main() {
2626 var a = 1, b = 2; 2986 var a = 1, b = 2;
2627 } 2987 }
2628 '''); 2988 ''');
2629 } 2989 }
2630 2990
2631 void test_removeTypeAnnotation_localVariable_OK_const() { 2991 void test_removeTypeAnnotation_localVariable_OK_const() {
2632 resolveTestUnit(''' 2992 resolveTestUnit('''
2633 main() { 2993 main() {
2634 const int v = 1; 2994 const int v = 1;
2635 } 2995 }
2636 '''); 2996 ''');
2637 assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 2997 assertHasAssistAt(
2998 'int ',
2999 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3000 '''
2638 main() { 3001 main() {
2639 const v = 1; 3002 const v = 1;
2640 } 3003 }
2641 '''); 3004 ''');
2642 } 3005 }
2643 3006
2644 void test_removeTypeAnnotation_localVariable_OK_final() { 3007 void test_removeTypeAnnotation_localVariable_OK_final() {
2645 resolveTestUnit(''' 3008 resolveTestUnit('''
2646 main() { 3009 main() {
2647 final int v = 1; 3010 final int v = 1;
2648 } 3011 }
2649 '''); 3012 ''');
2650 assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 3013 assertHasAssistAt(
3014 'int ',
3015 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3016 '''
2651 main() { 3017 main() {
2652 final v = 1; 3018 final v = 1;
2653 } 3019 }
2654 '''); 3020 ''');
2655 } 3021 }
2656 3022
2657 void test_removeTypeAnnotation_topLevelVariable_OK() { 3023 void test_removeTypeAnnotation_topLevelVariable_OK() {
2658 resolveTestUnit(''' 3024 resolveTestUnit('''
2659 int V = 1; 3025 int V = 1;
2660 '''); 3026 ''');
2661 assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 3027 assertHasAssistAt(
3028 'int ',
3029 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3030 '''
2662 var V = 1; 3031 var V = 1;
2663 '''); 3032 ''');
2664 } 3033 }
2665 3034
2666 void test_removeTypeAnnotation_topLevelVariable_OK_final() { 3035 void test_removeTypeAnnotation_topLevelVariable_OK_final() {
2667 resolveTestUnit(''' 3036 resolveTestUnit('''
2668 final int V = 1; 3037 final int V = 1;
2669 '''); 3038 ''');
2670 assertHasAssistAt('int ', DartAssistKind.REMOVE_TYPE_ANNOTATION, ''' 3039 assertHasAssistAt(
3040 'int ',
3041 DartAssistKind.REMOVE_TYPE_ANNOTATION,
3042 '''
2671 final V = 1; 3043 final V = 1;
2672 '''); 3044 ''');
2673 } 3045 }
2674 3046
2675 void test_replaceConditionalWithIfElse_OK_assignment() { 3047 void test_replaceConditionalWithIfElse_OK_assignment() {
2676 resolveTestUnit(''' 3048 resolveTestUnit('''
2677 main() { 3049 main() {
2678 var v; 3050 var v;
2679 v = true ? 111 : 222; 3051 v = true ? 111 : 222;
2680 } 3052 }
2681 '''); 3053 ''');
2682 // on conditional 3054 // on conditional
2683 assertHasAssistAt('11 :', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, 3055 assertHasAssistAt(
3056 '11 :',
3057 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
2684 ''' 3058 '''
2685 main() { 3059 main() {
2686 var v; 3060 var v;
2687 if (true) { 3061 if (true) {
2688 v = 111; 3062 v = 111;
2689 } else { 3063 } else {
2690 v = 222; 3064 v = 222;
2691 } 3065 }
2692 } 3066 }
2693 '''); 3067 ''');
2694 // on variable 3068 // on variable
2695 assertHasAssistAt('v =', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, 3069 assertHasAssistAt(
3070 'v =',
3071 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
2696 ''' 3072 '''
2697 main() { 3073 main() {
2698 var v; 3074 var v;
2699 if (true) { 3075 if (true) {
2700 v = 111; 3076 v = 111;
2701 } else { 3077 } else {
2702 v = 222; 3078 v = 222;
2703 } 3079 }
2704 } 3080 }
2705 '''); 3081 ''');
2706 } 3082 }
2707 3083
2708 void test_replaceConditionalWithIfElse_OK_return() { 3084 void test_replaceConditionalWithIfElse_OK_return() {
2709 resolveTestUnit(''' 3085 resolveTestUnit('''
2710 main() { 3086 main() {
2711 return true ? 111 : 222; 3087 return true ? 111 : 222;
2712 } 3088 }
2713 '''); 3089 ''');
2714 assertHasAssistAt('return ', 3090 assertHasAssistAt(
2715 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, ''' 3091 'return ',
3092 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
3093 '''
2716 main() { 3094 main() {
2717 if (true) { 3095 if (true) {
2718 return 111; 3096 return 111;
2719 } else { 3097 } else {
2720 return 222; 3098 return 222;
2721 } 3099 }
2722 } 3100 }
2723 '''); 3101 ''');
2724 } 3102 }
2725 3103
2726 void test_replaceConditionalWithIfElse_OK_variableDeclaration() { 3104 void test_replaceConditionalWithIfElse_OK_variableDeclaration() {
2727 resolveTestUnit(''' 3105 resolveTestUnit('''
2728 main() { 3106 main() {
2729 int a = 1, vvv = true ? 111 : 222, b = 2; 3107 int a = 1, vvv = true ? 111 : 222, b = 2;
2730 } 3108 }
2731 '''); 3109 ''');
2732 assertHasAssistAt('11 :', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, 3110 assertHasAssistAt(
3111 '11 :',
3112 DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
2733 ''' 3113 '''
2734 main() { 3114 main() {
2735 int a = 1, vvv, b = 2; 3115 int a = 1, vvv, b = 2;
2736 if (true) { 3116 if (true) {
2737 vvv = 111; 3117 vvv = 111;
2738 } else { 3118 } else {
2739 vvv = 222; 3119 vvv = 222;
2740 } 3120 }
2741 } 3121 }
2742 '''); 3122 ''');
(...skipping 19 matching lines...) Expand all
2762 resolveTestUnit(''' 3142 resolveTestUnit('''
2763 main() { 3143 main() {
2764 int vvv; 3144 int vvv;
2765 if (true) { 3145 if (true) {
2766 vvv = 111; 3146 vvv = 111;
2767 } else { 3147 } else {
2768 vvv = 222; 3148 vvv = 222;
2769 } 3149 }
2770 } 3150 }
2771 '''); 3151 ''');
2772 assertHasAssistAt('if (true)', 3152 assertHasAssistAt(
2773 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, ''' 3153 'if (true)',
3154 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL,
3155 '''
2774 main() { 3156 main() {
2775 int vvv; 3157 int vvv;
2776 vvv = true ? 111 : 222; 3158 vvv = true ? 111 : 222;
2777 } 3159 }
2778 '''); 3160 ''');
2779 } 3161 }
2780 3162
2781 void test_replaceIfElseWithConditional_OK_return() { 3163 void test_replaceIfElseWithConditional_OK_return() {
2782 resolveTestUnit(''' 3164 resolveTestUnit('''
2783 main() { 3165 main() {
2784 if (true) { 3166 if (true) {
2785 return 111; 3167 return 111;
2786 } else { 3168 } else {
2787 return 222; 3169 return 222;
2788 } 3170 }
2789 } 3171 }
2790 '''); 3172 ''');
2791 assertHasAssistAt('if (true)', 3173 assertHasAssistAt(
2792 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, ''' 3174 'if (true)',
3175 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL,
3176 '''
2793 main() { 3177 main() {
2794 return true ? 111 : 222; 3178 return true ? 111 : 222;
2795 } 3179 }
2796 '''); 3180 ''');
2797 } 3181 }
2798 3182
2799 void test_replaceIfElseWithConditional_wrong_expressionVsReturn() { 3183 void test_replaceIfElseWithConditional_wrong_expressionVsReturn() {
2800 resolveTestUnit(''' 3184 resolveTestUnit('''
2801 main() { 3185 main() {
2802 if (true) { 3186 if (true) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2836 } 3220 }
2837 3221
2838 void test_splitAndCondition_OK_innerAndExpression() { 3222 void test_splitAndCondition_OK_innerAndExpression() {
2839 resolveTestUnit(''' 3223 resolveTestUnit('''
2840 main() { 3224 main() {
2841 if (1 == 1 && 2 == 2 && 3 == 3) { 3225 if (1 == 1 && 2 == 2 && 3 == 3) {
2842 print(0); 3226 print(0);
2843 } 3227 }
2844 } 3228 }
2845 '''); 3229 ''');
2846 assertHasAssistAt('&& 2 == 2', DartAssistKind.SPLIT_AND_CONDITION, ''' 3230 assertHasAssistAt(
3231 '&& 2 == 2',
3232 DartAssistKind.SPLIT_AND_CONDITION,
3233 '''
2847 main() { 3234 main() {
2848 if (1 == 1) { 3235 if (1 == 1) {
2849 if (2 == 2 && 3 == 3) { 3236 if (2 == 2 && 3 == 3) {
2850 print(0); 3237 print(0);
2851 } 3238 }
2852 } 3239 }
2853 } 3240 }
2854 '''); 3241 ''');
2855 } 3242 }
2856 3243
2857 void test_splitAndCondition_OK_thenBlock() { 3244 void test_splitAndCondition_OK_thenBlock() {
2858 resolveTestUnit(''' 3245 resolveTestUnit('''
2859 main() { 3246 main() {
2860 if (true && false) { 3247 if (true && false) {
2861 print(0); 3248 print(0);
2862 if (3 == 3) { 3249 if (3 == 3) {
2863 print(1); 3250 print(1);
2864 } 3251 }
2865 } 3252 }
2866 } 3253 }
2867 '''); 3254 ''');
2868 assertHasAssistAt('&& false', DartAssistKind.SPLIT_AND_CONDITION, ''' 3255 assertHasAssistAt(
3256 '&& false',
3257 DartAssistKind.SPLIT_AND_CONDITION,
3258 '''
2869 main() { 3259 main() {
2870 if (true) { 3260 if (true) {
2871 if (false) { 3261 if (false) {
2872 print(0); 3262 print(0);
2873 if (3 == 3) { 3263 if (3 == 3) {
2874 print(1); 3264 print(1);
2875 } 3265 }
2876 } 3266 }
2877 } 3267 }
2878 } 3268 }
2879 '''); 3269 ''');
2880 } 3270 }
2881 3271
2882 void test_splitAndCondition_OK_thenStatement() { 3272 void test_splitAndCondition_OK_thenStatement() {
2883 resolveTestUnit(''' 3273 resolveTestUnit('''
2884 main() { 3274 main() {
2885 if (true && false) 3275 if (true && false)
2886 print(0); 3276 print(0);
2887 } 3277 }
2888 '''); 3278 ''');
2889 assertHasAssistAt('&& false', DartAssistKind.SPLIT_AND_CONDITION, ''' 3279 assertHasAssistAt(
3280 '&& false',
3281 DartAssistKind.SPLIT_AND_CONDITION,
3282 '''
2890 main() { 3283 main() {
2891 if (true) 3284 if (true)
2892 if (false) 3285 if (false)
2893 print(0); 3286 print(0);
2894 } 3287 }
2895 '''); 3288 ''');
2896 } 3289 }
2897 3290
2898 void test_splitAndCondition_wrong() { 3291 void test_splitAndCondition_wrong() {
2899 resolveTestUnit(''' 3292 resolveTestUnit('''
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
2960 assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); 3353 assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION);
2961 assertNoAssistAt('&& 4', DartAssistKind.SPLIT_AND_CONDITION); 3354 assertNoAssistAt('&& 4', DartAssistKind.SPLIT_AND_CONDITION);
2962 } 3355 }
2963 3356
2964 void test_splitVariableDeclaration_OK_onName() { 3357 void test_splitVariableDeclaration_OK_onName() {
2965 resolveTestUnit(''' 3358 resolveTestUnit('''
2966 main() { 3359 main() {
2967 var v = 1; 3360 var v = 1;
2968 } 3361 }
2969 '''); 3362 ''');
2970 assertHasAssistAt('v =', DartAssistKind.SPLIT_VARIABLE_DECLARATION, ''' 3363 assertHasAssistAt(
3364 'v =',
3365 DartAssistKind.SPLIT_VARIABLE_DECLARATION,
3366 '''
2971 main() { 3367 main() {
2972 var v; 3368 var v;
2973 v = 1; 3369 v = 1;
2974 } 3370 }
2975 '''); 3371 ''');
2976 } 3372 }
2977 3373
2978 void test_splitVariableDeclaration_OK_onType() { 3374 void test_splitVariableDeclaration_OK_onType() {
2979 resolveTestUnit(''' 3375 resolveTestUnit('''
2980 main() { 3376 main() {
2981 int v = 1; 3377 int v = 1;
2982 } 3378 }
2983 '''); 3379 ''');
2984 assertHasAssistAt('int ', DartAssistKind.SPLIT_VARIABLE_DECLARATION, ''' 3380 assertHasAssistAt(
3381 'int ',
3382 DartAssistKind.SPLIT_VARIABLE_DECLARATION,
3383 '''
2985 main() { 3384 main() {
2986 int v; 3385 int v;
2987 v = 1; 3386 v = 1;
2988 } 3387 }
2989 '''); 3388 ''');
2990 } 3389 }
2991 3390
2992 void test_splitVariableDeclaration_OK_onVar() { 3391 void test_splitVariableDeclaration_OK_onVar() {
2993 resolveTestUnit(''' 3392 resolveTestUnit('''
2994 main() { 3393 main() {
2995 var v = 1; 3394 var v = 1;
2996 } 3395 }
2997 '''); 3396 ''');
2998 assertHasAssistAt('var ', DartAssistKind.SPLIT_VARIABLE_DECLARATION, ''' 3397 assertHasAssistAt(
3398 'var ',
3399 DartAssistKind.SPLIT_VARIABLE_DECLARATION,
3400 '''
2999 main() { 3401 main() {
3000 var v; 3402 var v;
3001 v = 1; 3403 v = 1;
3002 } 3404 }
3003 '''); 3405 ''');
3004 } 3406 }
3005 3407
3006 void test_splitVariableDeclaration_wrong_notOneVariable() { 3408 void test_splitVariableDeclaration_wrong_notOneVariable() {
3007 resolveTestUnit(''' 3409 resolveTestUnit('''
3008 main() { 3410 main() {
3009 var v = 1, v2; 3411 var v = 1, v2;
3010 } 3412 }
3011 '''); 3413 ''');
3012 assertNoAssistAt('v = 1', DartAssistKind.SPLIT_VARIABLE_DECLARATION); 3414 assertNoAssistAt('v = 1', DartAssistKind.SPLIT_VARIABLE_DECLARATION);
3013 } 3415 }
3014 3416
3015 void test_surroundWith_block() { 3417 void test_surroundWith_block() {
3016 resolveTestUnit(''' 3418 resolveTestUnit('''
3017 main() { 3419 main() {
3018 // start 3420 // start
3019 print(0); 3421 print(0);
3020 print(1); 3422 print(1);
3021 // end 3423 // end
3022 } 3424 }
3023 '''); 3425 ''');
3024 _setStartEndSelection(); 3426 _setStartEndSelection();
3025 assertHasAssist(DartAssistKind.SURROUND_WITH_BLOCK, ''' 3427 assertHasAssist(
3428 DartAssistKind.SURROUND_WITH_BLOCK,
3429 '''
3026 main() { 3430 main() {
3027 // start 3431 // start
3028 { 3432 {
3029 print(0); 3433 print(0);
3030 print(1); 3434 print(1);
3031 } 3435 }
3032 // end 3436 // end
3033 } 3437 }
3034 '''); 3438 ''');
3035 } 3439 }
3036 3440
3037 void test_surroundWith_doWhile() { 3441 void test_surroundWith_doWhile() {
3038 resolveTestUnit(''' 3442 resolveTestUnit('''
3039 main() { 3443 main() {
3040 // start 3444 // start
3041 print(0); 3445 print(0);
3042 print(1); 3446 print(1);
3043 // end 3447 // end
3044 } 3448 }
3045 '''); 3449 ''');
3046 _setStartEndSelection(); 3450 _setStartEndSelection();
3047 assertHasAssist(DartAssistKind.SURROUND_WITH_DO_WHILE, ''' 3451 assertHasAssist(
3452 DartAssistKind.SURROUND_WITH_DO_WHILE,
3453 '''
3048 main() { 3454 main() {
3049 // start 3455 // start
3050 do { 3456 do {
3051 print(0); 3457 print(0);
3052 print(1); 3458 print(1);
3053 } while (condition); 3459 } while (condition);
3054 // end 3460 // end
3055 } 3461 }
3056 '''); 3462 ''');
3057 } 3463 }
3058 3464
3059 void test_surroundWith_for() { 3465 void test_surroundWith_for() {
3060 resolveTestUnit(''' 3466 resolveTestUnit('''
3061 main() { 3467 main() {
3062 // start 3468 // start
3063 print(0); 3469 print(0);
3064 print(1); 3470 print(1);
3065 // end 3471 // end
3066 } 3472 }
3067 '''); 3473 ''');
3068 _setStartEndSelection(); 3474 _setStartEndSelection();
3069 assertHasAssist(DartAssistKind.SURROUND_WITH_FOR, ''' 3475 assertHasAssist(
3476 DartAssistKind.SURROUND_WITH_FOR,
3477 '''
3070 main() { 3478 main() {
3071 // start 3479 // start
3072 for (var v = init; condition; increment) { 3480 for (var v = init; condition; increment) {
3073 print(0); 3481 print(0);
3074 print(1); 3482 print(1);
3075 } 3483 }
3076 // end 3484 // end
3077 } 3485 }
3078 '''); 3486 ''');
3079 } 3487 }
3080 3488
3081 void test_surroundWith_forIn() { 3489 void test_surroundWith_forIn() {
3082 resolveTestUnit(''' 3490 resolveTestUnit('''
3083 main() { 3491 main() {
3084 // start 3492 // start
3085 print(0); 3493 print(0);
3086 print(1); 3494 print(1);
3087 // end 3495 // end
3088 } 3496 }
3089 '''); 3497 ''');
3090 _setStartEndSelection(); 3498 _setStartEndSelection();
3091 assertHasAssist(DartAssistKind.SURROUND_WITH_FOR_IN, ''' 3499 assertHasAssist(
3500 DartAssistKind.SURROUND_WITH_FOR_IN,
3501 '''
3092 main() { 3502 main() {
3093 // start 3503 // start
3094 for (var item in iterable) { 3504 for (var item in iterable) {
3095 print(0); 3505 print(0);
3096 print(1); 3506 print(1);
3097 } 3507 }
3098 // end 3508 // end
3099 } 3509 }
3100 '''); 3510 ''');
3101 } 3511 }
3102 3512
3103 void test_surroundWith_if() { 3513 void test_surroundWith_if() {
3104 resolveTestUnit(''' 3514 resolveTestUnit('''
3105 main() { 3515 main() {
3106 // start 3516 // start
3107 print(0); 3517 print(0);
3108 print(1); 3518 print(1);
3109 // end 3519 // end
3110 } 3520 }
3111 '''); 3521 ''');
3112 _setStartEndSelection(); 3522 _setStartEndSelection();
3113 assertHasAssist(DartAssistKind.SURROUND_WITH_IF, ''' 3523 assertHasAssist(
3524 DartAssistKind.SURROUND_WITH_IF,
3525 '''
3114 main() { 3526 main() {
3115 // start 3527 // start
3116 if (condition) { 3528 if (condition) {
3117 print(0); 3529 print(0);
3118 print(1); 3530 print(1);
3119 } 3531 }
3120 // end 3532 // end
3121 } 3533 }
3122 '''); 3534 ''');
3123 } 3535 }
3124 3536
3125 void test_surroundWith_tryCatch() { 3537 void test_surroundWith_tryCatch() {
3126 resolveTestUnit(''' 3538 resolveTestUnit('''
3127 main() { 3539 main() {
3128 // start 3540 // start
3129 print(0); 3541 print(0);
3130 print(1); 3542 print(1);
3131 // end 3543 // end
3132 } 3544 }
3133 '''); 3545 ''');
3134 _setStartEndSelection(); 3546 _setStartEndSelection();
3135 assertHasAssist(DartAssistKind.SURROUND_WITH_TRY_CATCH, ''' 3547 assertHasAssist(
3548 DartAssistKind.SURROUND_WITH_TRY_CATCH,
3549 '''
3136 main() { 3550 main() {
3137 // start 3551 // start
3138 try { 3552 try {
3139 print(0); 3553 print(0);
3140 print(1); 3554 print(1);
3141 } on Exception catch (e) { 3555 } on Exception catch (e) {
3142 // TODO 3556 // TODO
3143 } 3557 }
3144 // end 3558 // end
3145 } 3559 }
3146 '''); 3560 ''');
3147 } 3561 }
3148 3562
3149 void test_surroundWith_tryFinally() { 3563 void test_surroundWith_tryFinally() {
3150 resolveTestUnit(''' 3564 resolveTestUnit('''
3151 main() { 3565 main() {
3152 // start 3566 // start
3153 print(0); 3567 print(0);
3154 print(1); 3568 print(1);
3155 // end 3569 // end
3156 } 3570 }
3157 '''); 3571 ''');
3158 _setStartEndSelection(); 3572 _setStartEndSelection();
3159 assertHasAssist(DartAssistKind.SURROUND_WITH_TRY_FINALLY, ''' 3573 assertHasAssist(
3574 DartAssistKind.SURROUND_WITH_TRY_FINALLY,
3575 '''
3160 main() { 3576 main() {
3161 // start 3577 // start
3162 try { 3578 try {
3163 print(0); 3579 print(0);
3164 print(1); 3580 print(1);
3165 } finally { 3581 } finally {
3166 // TODO 3582 // TODO
3167 } 3583 }
3168 // end 3584 // end
3169 } 3585 }
3170 '''); 3586 ''');
3171 } 3587 }
3172 3588
3173 void test_surroundWith_while() { 3589 void test_surroundWith_while() {
3174 resolveTestUnit(''' 3590 resolveTestUnit('''
3175 main() { 3591 main() {
3176 // start 3592 // start
3177 print(0); 3593 print(0);
3178 print(1); 3594 print(1);
3179 // end 3595 // end
3180 } 3596 }
3181 '''); 3597 ''');
3182 _setStartEndSelection(); 3598 _setStartEndSelection();
3183 assertHasAssist(DartAssistKind.SURROUND_WITH_WHILE, ''' 3599 assertHasAssist(
3600 DartAssistKind.SURROUND_WITH_WHILE,
3601 '''
3184 main() { 3602 main() {
3185 // start 3603 // start
3186 while (condition) { 3604 while (condition) {
3187 print(0); 3605 print(0);
3188 print(1); 3606 print(1);
3189 } 3607 }
3190 // end 3608 // end
3191 } 3609 }
3192 '''); 3610 ''');
3193 } 3611 }
(...skipping 28 matching lines...) Expand all
3222 positions.add(new Position(testFile, offset)); 3640 positions.add(new Position(testFile, offset));
3223 } 3641 }
3224 return positions; 3642 return positions;
3225 } 3643 }
3226 3644
3227 void _setStartEndSelection() { 3645 void _setStartEndSelection() {
3228 offset = findOffset('// start\n') + '// start\n'.length; 3646 offset = findOffset('// start\n') + '// start\n'.length;
3229 length = findOffset('// end') - offset; 3647 length = findOffset('// end') - offset;
3230 } 3648 }
3231 } 3649 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/correction/assist_internal.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698