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

Side by Side Diff: pkg/analysis_services/test/correction/assist_test.dart

Issue 438453002: Port and test more assists. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | Annotate | Revision Log
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 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library test.services.correction.assist; 8 library test.services.correction.assist;
9 9
10 import 'package:analysis_services/correction/assist.dart'; 10 import 'package:analysis_services/correction/assist.dart';
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 void test_assignToLocalVariable_void() { 333 void test_assignToLocalVariable_void() {
334 _indexTestUnit(''' 334 _indexTestUnit('''
335 main() { 335 main() {
336 f(); 336 f();
337 } 337 }
338 void f() {} 338 void f() {}
339 '''); 339 ''');
340 assertNoAssistAt('f();', AssistKind.ASSIGN_TO_LOCAL_VARIABLE); 340 assertNoAssistAt('f();', AssistKind.ASSIGN_TO_LOCAL_VARIABLE);
341 } 341 }
342 342
343 void test_convertToBlockBody_OK_closure() {
344 _indexTestUnit('''
345 setup(x) {}
346 main() {
347 setup(() => print('done'));
348 }
349 ''');
350 assertHasAssistAt('() => print', AssistKind.CONVERT_INTO_BLOCK_BODY, '''
351 setup(x) {}
352 main() {
353 setup(() {
354 return print('done');
355 });
356 }
357 ''');
358 }
359
360 void test_convertToBlockBody_OK_method() {
361 _indexTestUnit('''
362 class A {
363 mmm() => 123;
364 }
365 ''');
366 assertHasAssistAt('mmm()', AssistKind.CONVERT_INTO_BLOCK_BODY, '''
367 class A {
368 mmm() {
369 return 123;
370 }
371 }
372 ''');
373 }
374
375 void test_convertToBlockBody_OK_onName() {
376 _indexTestUnit('''
377 fff() => 123;
378 ''');
379 assertHasAssistAt('fff()', AssistKind.CONVERT_INTO_BLOCK_BODY, '''
380 fff() {
381 return 123;
382 }
383 ''');
384 }
385
386 void test_convertToBlockBody_OK_onValue() {
387 _indexTestUnit('''
388 fff() => 123;
389 ''');
390 assertHasAssistAt('23;', AssistKind.CONVERT_INTO_BLOCK_BODY, '''
391 fff() {
392 return 123;
393 }
394 ''');
395 }
396
397 void test_convertToBlockBody_wrong_noEnclosingFunction() {
398 _indexTestUnit('''
399 var v = 123;
400 ''');
401 assertNoAssistAt('v =', AssistKind.CONVERT_INTO_BLOCK_BODY);
402 }
403
404 void test_convertToBlockBody_wrong_notExpressionBlock() {
405 _indexTestUnit('''
406 fff() {
407 return 123;
408 }
409 ''');
410 assertNoAssistAt('fff() {', AssistKind.CONVERT_INTO_BLOCK_BODY);
411 }
412
413 void test_convertToExpressionBody_OK_closure() {
414 _indexTestUnit('''
415 setup(x) {}
416 main() {
417 setup(() {
418 return 42;
419 });
420 }
421 ''');
422 assertHasAssistAt('42;', AssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
423 setup(x) {}
424 main() {
425 setup(() => 42);
426 }
427 ''');
428 }
429
430 void test_convertToExpressionBody_OK_function_onBlock() {
431 _indexTestUnit('''
432 fff() {
433 return 42;
434 }
435 ''');
436 assertHasAssistAt('{', AssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
437 fff() => 42;
438 ''');
439 }
440
441 void test_convertToExpressionBody_OK_function_onName() {
442 _indexTestUnit('''
443 fff() {
444 return 42;
445 }
446 ''');
447 assertHasAssistAt('ff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
448 fff() => 42;
449 ''');
450 }
451
452 void test_convertToExpressionBody_OK_method_onBlock() {
453 _indexTestUnit('''
454 class A {
455 m() { // marker
456 return 42;
457 }
458 }
459 ''');
460 assertHasAssistAt(
461 '{ // marker',
462 AssistKind.CONVERT_INTO_EXPRESSION_BODY,
463 '''
464 class A {
465 m() => 42;
466 }
467 ''');
468 }
469
470 void test_convertToExpressionBody_OK_topFunction_onReturnStatement() {
471 _indexTestUnit('''
472 fff() {
473 return 42;
474 }
475 ''');
476 assertHasAssistAt('return', AssistKind.CONVERT_INTO_EXPRESSION_BODY, '''
477 fff() => 42;
478 ''');
479 }
480
481 void test_convertToExpressionBody_wrong_already() {
482 _indexTestUnit('''
483 fff() => 42;
484 ''');
485 assertNoAssistAt('fff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY);
486 }
487
488 void test_convertToExpressionBody_wrong_moreThanOneStatement() {
489 _indexTestUnit('''
490 fff() {
491 var v = 42;
492 return v;
493 }
494 ''');
495 assertNoAssistAt('fff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY);
496 }
497
498 void test_convertToExpressionBody_wrong_noEnclosingFunction() {
499 _indexTestUnit('''
500 var V = 42;
501 ''');
502 assertNoAssistAt('V = ', AssistKind.CONVERT_INTO_EXPRESSION_BODY);
503 }
504
505 void test_convertToExpressionBody_wrong_noReturn() {
506 _indexTestUnit('''
507 fff() {
508 var v = 42;
509 }
510 ''');
511 assertNoAssistAt('fff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY);
512 }
513
514 void test_convertToExpressionBody_wrong_noReturnValue() {
515 _indexTestUnit('''
516 fff() {
517 return;
518 }
519 ''');
520 assertNoAssistAt('fff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY);
521 }
522
523 void test_convertToIsNotEmpty_OK_on_isEmpty() {
524 _indexTestUnit('''
525 main(String str) {
526 !str.isEmpty;
527 }
528 ''');
529 assertHasAssistAt('isEmpty', AssistKind.CONVERT_INTO_IS_NOT_EMPTY, '''
530 main(String str) {
531 str.isNotEmpty;
532 }
533 ''');
534 }
535
536 void test_convertToIsNotEmpty_OK_on_str() {
537 _indexTestUnit('''
538 main(String str) {
539 !str.isEmpty;
540 }
541 ''');
542 assertHasAssistAt('str.', AssistKind.CONVERT_INTO_IS_NOT_EMPTY, '''
543 main(String str) {
544 str.isNotEmpty;
545 }
546 ''');
547 }
548
549 void test_convertToIsNotEmpty_OK_propertyAccess() {
550 _indexTestUnit('''
551 main(String str) {
552 !'text'.isEmpty;
553 }
554 ''');
555 assertHasAssistAt('isEmpty', AssistKind.CONVERT_INTO_IS_NOT_EMPTY, '''
556 main(String str) {
557 'text'.isNotEmpty;
558 }
559 ''');
560 }
561
562 void test_convertToIsNotEmpty_wrong_notInPrefixExpression() {
563 _indexTestUnit('''
564 main(String str) {
565 str.isEmpty;
566 }
567 ''');
568 assertNoAssistAt('isEmpty;', AssistKind.CONVERT_INTO_IS_NOT_EMPTY);
569 }
570
571 void test_convertToIsNotEmpty_wrong_notIsEmpty() {
572 _indexTestUnit('''
573 main(int p) {
574 !p.isEven;
575 }
576 ''');
577 assertNoAssistAt('isEven;', AssistKind.CONVERT_INTO_IS_NOT_EMPTY);
578 }
579
580 void test_convertToIsNotEmpty_wrote_noIsNotEmpty() {
581 _indexTestUnit('''
582 class A {
583 bool get isEmpty => false;
584 }
585 main(A a) {
586 !a.isEmpty;
587 }
588 ''');
589 assertNoAssistAt('isEmpty;', AssistKind.CONVERT_INTO_IS_NOT_EMPTY);
590 }
591
592 void test_convertToIsNot_OK_childOfIs_left() {
593 _indexTestUnit('''
594 main(p) {
595 !(p is String);
596 }
597 ''');
598 assertHasAssistAt('p is', AssistKind.CONVERT_INTO_IS_NOT, '''
599 main(p) {
600 p is! String;
601 }
602 ''');
603 }
604
605 void test_convertToIsNot_OK_childOfIs_right() {
606 _indexTestUnit('''
607 main(p) {
608 !(p is String);
609 }
610 ''');
611 assertHasAssistAt('String)', AssistKind.CONVERT_INTO_IS_NOT, '''
612 main(p) {
613 p is! String;
614 }
615 ''');
616 }
617
618 void test_convertToIsNot_OK_is() {
619 _indexTestUnit('''
620 main(p) {
621 !(p is String);
622 }
623 ''');
624 assertHasAssistAt('is String', AssistKind.CONVERT_INTO_IS_NOT, '''
625 main(p) {
626 p is! String;
627 }
628 ''');
629 }
630
631 void test_convertToIsNot_OK_is_higherPrecedencePrefix() {
632 _indexTestUnit('''
633 main(p) {
634 !!(p is String);
635 }
636 ''');
637 assertHasAssistAt('is String', AssistKind.CONVERT_INTO_IS_NOT, '''
638 main(p) {
639 !(p is! String);
640 }
641 ''');
642 }
643
644 void test_convertToIsNot_OK_is_not_higherPrecedencePrefix() {
645 _indexTestUnit('''
646 main(p) {
647 !!(p is String);
648 }
649 ''');
650 assertHasAssistAt('!(p', AssistKind.CONVERT_INTO_IS_NOT, '''
651 main(p) {
652 !(p is! String);
653 }
654 ''');
655 }
656
657 void test_convertToIsNot_OK_not() {
658 _indexTestUnit('''
659 main(p) {
660 !(p is String);
661 }
662 ''');
663 assertHasAssistAt('!(p', AssistKind.CONVERT_INTO_IS_NOT, '''
664 main(p) {
665 p is! String;
666 }
667 ''');
668 }
669
670 void test_convertToIsNot_OK_parentheses() {
671 _indexTestUnit('''
672 main(p) {
673 !(p is String);
674 }
675 ''');
676 assertHasAssistAt('(p is', AssistKind.CONVERT_INTO_IS_NOT, '''
677 main(p) {
678 p is! String;
679 }
680 ''');
681 }
682
683 void test_convertToIsNot_wrong_is_alreadyIsNot() {
684 _indexTestUnit('''
685 main(p) {
686 p is! String;
687 }
688 ''');
689 assertNoAssistAt('is!', AssistKind.CONVERT_INTO_IS_NOT);
690 }
691
692 void test_convertToIsNot_wrong_is_noEnclosingParenthesis() {
693 _indexTestUnit('''
694 main(p) {
695 p is String;
696 }
697 ''');
698 assertNoAssistAt('is String', AssistKind.CONVERT_INTO_IS_NOT);
699 }
700
701 void test_convertToIsNot_wrong_is_noPrefix() {
702 _indexTestUnit('''
703 main(p) {
704 (p is String);
705 }
706 ''');
707 assertNoAssistAt('is String', AssistKind.CONVERT_INTO_IS_NOT);
708 }
709
710 void test_convertToIsNot_wrong_is_notIsExpression() {
711 _indexTestUnit('''
712 main(p) {
713 123 + 456;
714 }
715 ''');
716 assertNoAssistAt('123 +', AssistKind.CONVERT_INTO_IS_NOT);
717 }
718
719 void test_convertToIsNot_wrong_is_notTheNotOperator() {
720 verifyNoTestUnitErrors = false;
721 _indexTestUnit('''
722 main(p) {
723 ++(p is String);
724 }
725 ''');
726 assertNoAssistAt('is String', AssistKind.CONVERT_INTO_IS_NOT);
727 }
728
729 void test_convertToIsNot_wrong_not_alreadyIsNot() {
730 _indexTestUnit('''
731 main(p) {
732 !(p is! String);
733 }
734 ''');
735 assertNoAssistAt('!(p', AssistKind.CONVERT_INTO_IS_NOT);
736 }
737
738 void test_convertToIsNot_wrong_not_noEnclosingParenthesis() {
739 _indexTestUnit('''
740 main(p) {
741 !p;
742 }
743 ''');
744 assertNoAssistAt('!p', AssistKind.CONVERT_INTO_IS_NOT);
745 }
746
747 void test_convertToIsNot_wrong_not_notIsExpression() {
748 _indexTestUnit('''
749 main(p) {
750 !(p == null);
751 }
752 ''');
753 assertNoAssistAt('!(p', AssistKind.CONVERT_INTO_IS_NOT);
754 }
755
756 void test_convertToIsNot_wrong_not_notTheNotOperator() {
757 verifyNoTestUnitErrors = false;
758 _indexTestUnit('''
759 main(p) {
760 ++(p is String);
761 }
762 ''');
763 assertNoAssistAt('++(', AssistKind.CONVERT_INTO_IS_NOT);
764 }
765
766 void test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_1() {
767 _indexTestUnit('''
768 main() {
769 1 * 2 * 3 + 4;
770 }
771 ''');
772 assertHasAssistAt('* 2', AssistKind.EXCHANGE_OPERANDS, '''
773 main() {
774 2 * 3 * 1 + 4;
775 }
776 ''');
777 }
778
779 void test_exchangeBinaryExpressionArguments_OK_extended_mixOperator_2() {
780 _indexTestUnit('''
781 main() {
782 1 + 2 - 3 + 4;
783 }
784 ''');
785 assertHasAssistAt('+ 2', AssistKind.EXCHANGE_OPERANDS, '''
786 main() {
787 2 + 1 - 3 + 4;
788 }
789 ''');
790 }
791
792 void
793 test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterFirst () {
794 _indexTestUnit('''
795 main() {
796 1 + 2 + 3;
797 }
798 ''');
799 assertHasAssistAt('+ 2', AssistKind.EXCHANGE_OPERANDS, '''
800 main() {
801 2 + 3 + 1;
802 }
803 ''');
804 }
805
806 void
807 test_exchangeBinaryExpressionArguments_OK_extended_sameOperator_afterSecon d() {
808 _indexTestUnit('''
809 main() {
810 1 + 2 + 3;
811 }
812 ''');
813 assertHasAssistAt('+ 3', AssistKind.EXCHANGE_OPERANDS, '''
814 main() {
815 3 + 1 + 2;
816 }
817 ''');
818 }
819
820 void test_exchangeBinaryExpressionArguments_OK_simple_afterOperator() {
821 _indexTestUnit('''
822 main() {
823 1 + 2;
824 }
825 ''');
826 assertHasAssistAt(' 2', AssistKind.EXCHANGE_OPERANDS, '''
827 main() {
828 2 + 1;
829 }
830 ''');
831 }
832
833 void test_exchangeBinaryExpressionArguments_OK_simple_beforeOperator() {
834 _indexTestUnit('''
835 main() {
836 1 + 2;
837 }
838 ''');
839 assertHasAssistAt('+ 2', AssistKind.EXCHANGE_OPERANDS, '''
840 main() {
841 2 + 1;
842 }
843 ''');
844 }
845
846 void test_exchangeBinaryExpressionArguments_OK_simple_fullSelection() {
847 _indexTestUnit('''
848 main() {
849 1 + 2;
850 }
851 ''');
852 length = '1 + 2'.length;
853 assertHasAssistAt('1 + 2', AssistKind.EXCHANGE_OPERANDS, '''
854 main() {
855 2 + 1;
856 }
857 ''');
858 }
859
860 void test_exchangeBinaryExpressionArguments_OK_simple_withLength() {
861 _indexTestUnit('''
862 main() {
863 1 + 2;
864 }
865 ''');
866 length = 2;
867 assertHasAssistAt('+ 2', AssistKind.EXCHANGE_OPERANDS, '''
868 main() {
869 2 + 1;
870 }
871 ''');
872 }
873
874 void test_exchangeBinaryExpressionArguments_wrong_extraLength() {
875 _indexTestUnit('''
876 main() {
877 111 + 222;
878 }
879 ''');
880 length = 3;
881 assertNoAssistAt('+ 222', AssistKind.EXCHANGE_OPERANDS);
882 }
883
884 void test_exchangeBinaryExpressionArguments_wrong_onOperand() {
885 _indexTestUnit('''
886 main() {
887 111 + 222;
888 }
889 ''');
890 length = 3;
891 assertNoAssistAt('11 +', AssistKind.EXCHANGE_OPERANDS);
892 }
893
894 void test_exchangeBinaryExpressionArguments_wrong_selectionWithBinary() {
895 _indexTestUnit('''
896 main() {
897 1 + 2 + 3;
898 }
899 ''');
900 length = '1 + 2 + 3'.length;
901 assertNoAssistAt('1 + 2 + 3', AssistKind.EXCHANGE_OPERANDS);
902 }
903
904 void test_joinVariableDeclaration_onAssignment_OK() {
905 _indexTestUnit('''
906 main() {
907 var v;
908 v = 1;
909 }
910 ''');
911 assertHasAssistAt('v =', AssistKind.JOIN_VARIABLE_DECLARATION, '''
912 main() {
913 var v = 1;
914 }
915 ''');
916 }
917
918 void test_joinVariableDeclaration_onAssignment_wrong_hasInitializer() {
919 _indexTestUnit('''
920 main() {
921 var v = 1;
922 v = 2;
923 }
924 ''');
925 assertNoAssistAt('v = 2', AssistKind.JOIN_VARIABLE_DECLARATION);
926 }
927
928 void test_joinVariableDeclaration_onAssignment_wrong_notAdjacent() {
929 _indexTestUnit('''
930 main() {
931 var v;
932 var bar;
933 v = 1;
934 }
935 ''');
936 assertNoAssistAt('v = 1', AssistKind.JOIN_VARIABLE_DECLARATION);
937 }
938
939 void test_joinVariableDeclaration_onAssignment_wrong_notAssignment() {
940 _indexTestUnit('''
941 main() {
942 var v;
943 v += 1;
944 }
945 ''');
946 assertNoAssistAt('v += 1', AssistKind.JOIN_VARIABLE_DECLARATION);
947 }
948
949 void test_joinVariableDeclaration_onAssignment_wrong_notDeclaration() {
950 _indexTestUnit('''
951 main(var v) {
952 v = 1;
953 }
954 ''');
955 assertNoAssistAt('v = 1', AssistKind.JOIN_VARIABLE_DECLARATION);
956 }
957
958 void test_joinVariableDeclaration_onAssignment_wrong_notLeftArgument() {
959 _indexTestUnit('''
960 main() {
961 var v;
962 1 + v; // marker
963 }
964 ''');
965 assertNoAssistAt('v; // marker', AssistKind.JOIN_VARIABLE_DECLARATION);
966 }
967
968 void test_joinVariableDeclaration_onAssignment_wrong_notOneVariable() {
969 _indexTestUnit('''
970 main() {
971 var v, v2;
972 v = 1;
973 }
974 ''');
975 assertNoAssistAt('v = 1', AssistKind.JOIN_VARIABLE_DECLARATION);
976 }
977
978 void test_joinVariableDeclaration_onAssignment_wrong_notResolved() {
979 verifyNoTestUnitErrors = false;
980 _indexTestUnit('''
981 main() {
982 var v;
983 x = 1;
984 }
985 ''');
986 assertNoAssistAt('x = 1', AssistKind.JOIN_VARIABLE_DECLARATION);
987 }
988
989 void test_joinVariableDeclaration_onAssignment_wrong_notSameBlock() {
990 _indexTestUnit('''
991 main() {
992 var v;
993 {
994 v = 1;
995 }
996 }
997 ''');
998 assertNoAssistAt('v = 1', AssistKind.JOIN_VARIABLE_DECLARATION);
999 }
1000
1001 void test_joinVariableDeclaration_onDeclaration_OK_onName() {
1002 _indexTestUnit('''
1003 main() {
1004 var v;
1005 v = 1;
1006 }
1007 ''');
1008 assertHasAssistAt('v;', AssistKind.JOIN_VARIABLE_DECLARATION, '''
1009 main() {
1010 var v = 1;
1011 }
1012 ''');
1013 }
1014
1015 void test_joinVariableDeclaration_onDeclaration_OK_onType() {
1016 _indexTestUnit('''
1017 main() {
1018 int v;
1019 v = 1;
1020 }
1021 ''');
1022 assertHasAssistAt('int v', AssistKind.JOIN_VARIABLE_DECLARATION, '''
1023 main() {
1024 int v = 1;
1025 }
1026 ''');
1027 }
1028
1029 void test_joinVariableDeclaration_onDeclaration_OK_onVar() {
1030 _indexTestUnit('''
1031 main() {
1032 var v;
1033 v = 1;
1034 }
1035 ''');
1036 assertHasAssistAt('var v', AssistKind.JOIN_VARIABLE_DECLARATION, '''
1037 main() {
1038 var v = 1;
1039 }
1040 ''');
1041 }
1042
1043 void test_joinVariableDeclaration_onDeclaration_wrong_hasInitializer() {
1044 _indexTestUnit('''
1045 main() {
1046 var v = 1;
1047 v = 2;
1048 }
1049 ''');
1050 assertNoAssistAt('v = 1', AssistKind.JOIN_VARIABLE_DECLARATION);
1051 }
1052
1053 void test_joinVariableDeclaration_onDeclaration_wrong_lastStatement() {
1054 _indexTestUnit('''
1055 main() {
1056 if (true)
1057 var v;
1058 }
1059 ''');
1060 assertNoAssistAt('v;', AssistKind.JOIN_VARIABLE_DECLARATION);
1061 }
1062
1063 void
1064 test_joinVariableDeclaration_onDeclaration_wrong_nextNotAssignmentExpressi on() {
1065 _indexTestUnit('''
1066 main() {
1067 var v;
1068 42;
1069 }
1070 ''');
1071 assertNoAssistAt('v;', AssistKind.JOIN_VARIABLE_DECLARATION);
1072 }
1073
1074 void
1075 test_joinVariableDeclaration_onDeclaration_wrong_nextNotExpressionStatemen t() {
1076 _indexTestUnit('''
1077 main() {
1078 var v;
1079 if (true) return;
1080 }
1081 ''');
1082 assertNoAssistAt('v;', AssistKind.JOIN_VARIABLE_DECLARATION);
1083 }
1084
1085 void
1086 test_joinVariableDeclaration_onDeclaration_wrong_nextNotPureAssignment() {
1087 _indexTestUnit('''
1088 main() {
1089 var v;
1090 v += 1;
1091 }
1092 ''');
1093 assertNoAssistAt('v;', AssistKind.JOIN_VARIABLE_DECLARATION);
1094 }
1095
1096 void test_joinVariableDeclaration_onDeclaration_wrong_notOneVariable() {
1097 _indexTestUnit('''
1098 main() {
1099 var v, v2;
1100 v = 1;
1101 }
1102 ''');
1103 assertNoAssistAt('v, ', AssistKind.JOIN_VARIABLE_DECLARATION);
1104 }
1105
1106 void test_removeTypeAnnotation_classField_OK() {
1107 _indexTestUnit('''
1108 class A {
1109 int v = 1;
1110 }
1111 ''');
1112 assertHasAssistAt('v = ', AssistKind.REMOVE_TYPE_ANNOTATION, '''
1113 class A {
1114 var v = 1;
1115 }
1116 ''');
1117 }
1118
1119 void test_removeTypeAnnotation_localVariable_OK() {
1120 _indexTestUnit('''
1121 main() {
1122 int a = 1, b = 2;
1123 }
1124 ''');
1125 assertHasAssistAt('int ', AssistKind.REMOVE_TYPE_ANNOTATION, '''
1126 main() {
1127 var a = 1, b = 2;
1128 }
1129 ''');
1130 }
1131
1132 void test_removeTypeAnnotation_topLevelVariable_OK() {
1133 _indexTestUnit('''
1134 int V = 1;
1135 ''');
1136 assertHasAssistAt('int ', AssistKind.REMOVE_TYPE_ANNOTATION, '''
1137 var V = 1;
1138 ''');
1139 }
1140
1141 void test_replaceConditionalWithIfElse_OK_assignment() {
1142 _indexTestUnit('''
1143 main() {
1144 var v;
1145 v = true ? 111 : 222;
1146 }
1147 ''');
1148 // on conditional
1149 assertHasAssistAt('11 :', AssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
1150 main() {
1151 var v;
1152 if (true) {
1153 v = 111;
1154 } else {
1155 v = 222;
1156 }
1157 }
1158 ''');
1159 // on variable
1160 assertHasAssistAt('v =', AssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
1161 main() {
1162 var v;
1163 if (true) {
1164 v = 111;
1165 } else {
1166 v = 222;
1167 }
1168 }
1169 ''');
1170 }
1171
1172 void test_replaceConditionalWithIfElse_OK_return() {
1173 _indexTestUnit('''
1174 main() {
1175 return true ? 111 : 222;
1176 }
1177 ''');
1178 assertHasAssistAt(
1179 'return ',
1180 AssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE,
1181 '''
1182 main() {
1183 if (true) {
1184 return 111;
1185 } else {
1186 return 222;
1187 }
1188 }
1189 ''');
1190 }
1191
1192 void test_replaceConditionalWithIfElse_OK_variableDeclaration() {
1193 _indexTestUnit('''
1194 main() {
1195 int a = 1, vvv = true ? 111 : 222, b = 2;
1196 }
1197 ''');
1198 assertHasAssistAt('11 :', AssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE, '''
1199 main() {
1200 int a = 1, vvv, b = 2;
1201 if (true) {
1202 vvv = 111;
1203 } else {
1204 vvv = 222;
1205 }
1206 }
1207 ''');
1208 }
1209
343 String _applyEdits(String code, List<Edit> edits) { 1210 String _applyEdits(String code, List<Edit> edits) {
344 edits.sort((a, b) => b.offset - a.offset); 1211 edits.sort((a, b) => b.offset - a.offset);
345 edits.forEach((Edit edit) { 1212 edits.forEach((Edit edit) {
346 code = code.substring(0, edit.offset) + 1213 code = code.substring(0, edit.offset) +
347 edit.replacement + 1214 edit.replacement +
348 code.substring(edit.end); 1215 code.substring(edit.end);
349 }); 1216 });
350 return code; 1217 return code;
351 } 1218 }
352 1219
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 positions.add(new Position(testFile, offset, length)); 1263 positions.add(new Position(testFile, offset, length));
397 } 1264 }
398 return positions; 1265 return positions;
399 } 1266 }
400 1267
401 void _indexTestUnit(String code) { 1268 void _indexTestUnit(String code) {
402 resolveTestUnit(code); 1269 resolveTestUnit(code);
403 index.indexUnit(context, testUnit); 1270 index.indexUnit(context, testUnit);
404 } 1271 }
405 } 1272 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698