OLD | NEW |
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 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:analysis_server/plugin/edit/assist/assist_core.dart'; | 9 import 'package:analysis_server/plugin/edit/assist/assist_core.dart'; |
10 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 10 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 'item in', | 336 'item in', |
337 DartAssistKind.ADD_TYPE_ANNOTATION, | 337 DartAssistKind.ADD_TYPE_ANNOTATION, |
338 ''' | 338 ''' |
339 main(List<String> items) { | 339 main(List<String> items) { |
340 for (final String item in items) { | 340 for (final String item in items) { |
341 } | 341 } |
342 } | 342 } |
343 '''); | 343 '''); |
344 } | 344 } |
345 | 345 |
| 346 test_addTypeAnnotation_local_BAD_hasTypeAnnotation() async { |
| 347 resolveTestUnit(''' |
| 348 main() { |
| 349 int v = 42; |
| 350 } |
| 351 '''); |
| 352 await assertNoAssistAt(' = 42', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 353 } |
| 354 |
| 355 test_addTypeAnnotation_local_BAD_multiple() async { |
| 356 resolveTestUnit(''' |
| 357 main() { |
| 358 var a = 1, b = ''; |
| 359 } |
| 360 '''); |
| 361 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 362 } |
| 363 |
| 364 test_addTypeAnnotation_local_BAD_noValue() async { |
| 365 verifyNoTestUnitErrors = false; |
| 366 resolveTestUnit(''' |
| 367 main() { |
| 368 var v; |
| 369 } |
| 370 '''); |
| 371 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 372 } |
| 373 |
| 374 test_addTypeAnnotation_local_BAD_null() async { |
| 375 resolveTestUnit(''' |
| 376 main() { |
| 377 var v = null; |
| 378 } |
| 379 '''); |
| 380 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 381 } |
| 382 |
| 383 test_addTypeAnnotation_local_BAD_unknown() async { |
| 384 verifyNoTestUnitErrors = false; |
| 385 resolveTestUnit(''' |
| 386 main() { |
| 387 var v = unknownVar; |
| 388 } |
| 389 '''); |
| 390 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 391 } |
| 392 |
346 test_addTypeAnnotation_local_generic_OK_literal() async { | 393 test_addTypeAnnotation_local_generic_OK_literal() async { |
347 resolveTestUnit(''' | 394 resolveTestUnit(''' |
348 class A { | 395 class A { |
349 main(List<int> items) { | 396 main(List<int> items) { |
350 var v = items; | 397 var v = items; |
351 } | 398 } |
352 } | 399 } |
353 '''); | 400 '''); |
354 await assertHasAssistAt( | 401 await assertHasAssistAt( |
355 'v =', | 402 'v =', |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 await assertHasAssistAt( | 670 await assertHasAssistAt( |
624 ' // marker', | 671 ' // marker', |
625 DartAssistKind.ADD_TYPE_ANNOTATION, | 672 DartAssistKind.ADD_TYPE_ANNOTATION, |
626 ''' | 673 ''' |
627 main() { | 674 main() { |
628 int v = 123; // marker | 675 int v = 123; // marker |
629 } | 676 } |
630 '''); | 677 '''); |
631 } | 678 } |
632 | 679 |
633 test_addTypeAnnotation_local_wrong_hasTypeAnnotation() async { | |
634 resolveTestUnit(''' | |
635 main() { | |
636 int v = 42; | |
637 } | |
638 '''); | |
639 await assertNoAssistAt(' = 42', DartAssistKind.ADD_TYPE_ANNOTATION); | |
640 } | |
641 | |
642 test_addTypeAnnotation_local_wrong_multiple() async { | |
643 resolveTestUnit(''' | |
644 main() { | |
645 var a = 1, b = ''; | |
646 } | |
647 '''); | |
648 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); | |
649 } | |
650 | |
651 test_addTypeAnnotation_local_wrong_noValue() async { | |
652 verifyNoTestUnitErrors = false; | |
653 resolveTestUnit(''' | |
654 main() { | |
655 var v; | |
656 } | |
657 '''); | |
658 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); | |
659 } | |
660 | |
661 test_addTypeAnnotation_local_wrong_null() async { | |
662 resolveTestUnit(''' | |
663 main() { | |
664 var v = null; | |
665 } | |
666 '''); | |
667 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); | |
668 } | |
669 | |
670 test_addTypeAnnotation_local_wrong_unknown() async { | |
671 verifyNoTestUnitErrors = false; | |
672 resolveTestUnit(''' | |
673 main() { | |
674 var v = unknownVar; | |
675 } | |
676 '''); | |
677 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); | |
678 } | |
679 | |
680 test_addTypeAnnotation_OK_privateType_sameLibrary() async { | 680 test_addTypeAnnotation_OK_privateType_sameLibrary() async { |
681 resolveTestUnit(''' | 681 resolveTestUnit(''' |
682 class _A {} | 682 class _A {} |
683 _A getValue() => new _A(); | 683 _A getValue() => new _A(); |
684 main() { | 684 main() { |
685 var v = getValue(); | 685 var v = getValue(); |
686 } | 686 } |
687 '''); | 687 '''); |
688 await assertHasAssistAt( | 688 await assertHasAssistAt( |
689 'var ', | 689 'var ', |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
728 'test', | 728 'test', |
729 DartAssistKind.ADD_TYPE_ANNOTATION, | 729 DartAssistKind.ADD_TYPE_ANNOTATION, |
730 ''' | 730 ''' |
731 foo(f(int p)) {} | 731 foo(f(int p)) {} |
732 main() { | 732 main() { |
733 foo((int test) {}); | 733 foo((int test) {}); |
734 } | 734 } |
735 '''); | 735 '''); |
736 } | 736 } |
737 | 737 |
| 738 test_addTypeAnnotation_topLevelField_BAD_multiple() async { |
| 739 resolveTestUnit(''' |
| 740 var A = 1, V = ''; |
| 741 '''); |
| 742 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 743 } |
| 744 |
| 745 test_addTypeAnnotation_topLevelField_BAD_noValue() async { |
| 746 resolveTestUnit(''' |
| 747 var V; |
| 748 '''); |
| 749 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); |
| 750 } |
| 751 |
738 test_addTypeAnnotation_topLevelField_OK_int() async { | 752 test_addTypeAnnotation_topLevelField_OK_int() async { |
739 resolveTestUnit(''' | 753 resolveTestUnit(''' |
740 var V = 0; | 754 var V = 0; |
741 '''); | 755 '''); |
742 await assertHasAssistAt( | 756 await assertHasAssistAt( |
743 'var ', | 757 'var ', |
744 DartAssistKind.ADD_TYPE_ANNOTATION, | 758 DartAssistKind.ADD_TYPE_ANNOTATION, |
745 ''' | 759 ''' |
746 int V = 0; | 760 int V = 0; |
747 '''); | 761 '''); |
748 } | 762 } |
749 | 763 |
750 test_addTypeAnnotation_topLevelField_wrong_multiple() async { | |
751 resolveTestUnit(''' | |
752 var A = 1, V = ''; | |
753 '''); | |
754 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); | |
755 } | |
756 | |
757 test_addTypeAnnotation_topLevelField_wrong_noValue() async { | |
758 resolveTestUnit(''' | |
759 var V; | |
760 '''); | |
761 await assertNoAssistAt('var ', DartAssistKind.ADD_TYPE_ANNOTATION); | |
762 } | |
763 | |
764 test_assignToLocalVariable() async { | 764 test_assignToLocalVariable() async { |
765 resolveTestUnit(''' | 765 resolveTestUnit(''' |
766 main() { | 766 main() { |
767 List<int> bytes; | 767 List<int> bytes; |
768 readBytes(); | 768 readBytes(); |
769 } | 769 } |
770 List<int> readBytes() => <int>[]; | 770 List<int> readBytes() => <int>[]; |
771 '''); | 771 '''); |
772 await assertHasAssistAt( | 772 await assertHasAssistAt( |
773 'readBytes();', | 773 'readBytes();', |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 ''' | 979 ''' |
980 class A { | 980 class A { |
981 /// AAAAAAA [int] AAAAAAA | 981 /// AAAAAAA [int] AAAAAAA |
982 /// BBBBBBBB BBBB BBBB | 982 /// BBBBBBBB BBBB BBBB |
983 /// CCC [A] CCCCCCCCCCC | 983 /// CCC [A] CCCCCCCCCCC |
984 mmm() {} | 984 mmm() {} |
985 } | 985 } |
986 '''); | 986 '''); |
987 } | 987 } |
988 | 988 |
| 989 test_convertToBlockBody_BAD_noEnclosingFunction() async { |
| 990 resolveTestUnit(''' |
| 991 var v = 123; |
| 992 '''); |
| 993 await assertNoAssistAt('v =', DartAssistKind.CONVERT_INTO_BLOCK_BODY); |
| 994 } |
| 995 |
| 996 test_convertToBlockBody_BAD_notExpressionBlock() async { |
| 997 resolveTestUnit(''' |
| 998 fff() { |
| 999 return 123; |
| 1000 } |
| 1001 '''); |
| 1002 await assertNoAssistAt('fff() {', DartAssistKind.CONVERT_INTO_BLOCK_BODY); |
| 1003 } |
| 1004 |
989 test_convertToBlockBody_OK_async() async { | 1005 test_convertToBlockBody_OK_async() async { |
990 resolveTestUnit(''' | 1006 resolveTestUnit(''' |
991 class A { | 1007 class A { |
992 mmm() async => 123; | 1008 mmm() async => 123; |
993 } | 1009 } |
994 '''); | 1010 '''); |
995 await assertHasAssistAt( | 1011 await assertHasAssistAt( |
996 'mmm()', | 1012 'mmm()', |
997 DartAssistKind.CONVERT_INTO_BLOCK_BODY, | 1013 DartAssistKind.CONVERT_INTO_BLOCK_BODY, |
998 ''' | 1014 ''' |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1113 await assertHasAssistAt( | 1129 await assertHasAssistAt( |
1114 '23;', | 1130 '23;', |
1115 DartAssistKind.CONVERT_INTO_BLOCK_BODY, | 1131 DartAssistKind.CONVERT_INTO_BLOCK_BODY, |
1116 ''' | 1132 ''' |
1117 fff() { | 1133 fff() { |
1118 return 123; | 1134 return 123; |
1119 } | 1135 } |
1120 '''); | 1136 '''); |
1121 } | 1137 } |
1122 | 1138 |
1123 test_convertToBlockBody_wrong_noEnclosingFunction() async { | 1139 test_convertToExpressionBody_BAD_already() async { |
1124 resolveTestUnit(''' | 1140 resolveTestUnit(''' |
1125 var v = 123; | 1141 fff() => 42; |
1126 '''); | 1142 '''); |
1127 await assertNoAssistAt('v =', DartAssistKind.CONVERT_INTO_BLOCK_BODY); | 1143 await assertNoAssistAt( |
| 1144 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); |
1128 } | 1145 } |
1129 | 1146 |
1130 test_convertToBlockBody_wrong_notExpressionBlock() async { | 1147 test_convertToExpressionBody_BAD_moreThanOneStatement() async { |
1131 resolveTestUnit(''' | 1148 resolveTestUnit(''' |
1132 fff() { | 1149 fff() { |
1133 return 123; | 1150 var v = 42; |
| 1151 return v; |
1134 } | 1152 } |
1135 '''); | 1153 '''); |
1136 await assertNoAssistAt('fff() {', DartAssistKind.CONVERT_INTO_BLOCK_BODY); | 1154 await assertNoAssistAt( |
| 1155 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); |
| 1156 } |
| 1157 |
| 1158 test_convertToExpressionBody_BAD_noEnclosingFunction() async { |
| 1159 resolveTestUnit(''' |
| 1160 var V = 42; |
| 1161 '''); |
| 1162 await assertNoAssistAt('V = ', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); |
| 1163 } |
| 1164 |
| 1165 test_convertToExpressionBody_BAD_noReturn() async { |
| 1166 resolveTestUnit(''' |
| 1167 fff() { |
| 1168 var v = 42; |
| 1169 } |
| 1170 '''); |
| 1171 await assertNoAssistAt( |
| 1172 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); |
| 1173 } |
| 1174 |
| 1175 test_convertToExpressionBody_BAD_noReturnValue() async { |
| 1176 resolveTestUnit(''' |
| 1177 fff() { |
| 1178 return; |
| 1179 } |
| 1180 '''); |
| 1181 await assertNoAssistAt( |
| 1182 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); |
1137 } | 1183 } |
1138 | 1184 |
1139 test_convertToExpressionBody_OK_async() async { | 1185 test_convertToExpressionBody_OK_async() async { |
1140 resolveTestUnit(''' | 1186 resolveTestUnit(''' |
1141 class A { | 1187 class A { |
1142 mmm() async { | 1188 mmm() async { |
1143 return 42; | 1189 return 42; |
1144 } | 1190 } |
1145 } | 1191 } |
1146 '''); | 1192 '''); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1265 } | 1311 } |
1266 '''); | 1312 '''); |
1267 await assertHasAssistAt( | 1313 await assertHasAssistAt( |
1268 'return', | 1314 'return', |
1269 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, | 1315 DartAssistKind.CONVERT_INTO_EXPRESSION_BODY, |
1270 ''' | 1316 ''' |
1271 fff() => 42; | 1317 fff() => 42; |
1272 '''); | 1318 '''); |
1273 } | 1319 } |
1274 | 1320 |
1275 test_convertToExpressionBody_wrong_already() async { | |
1276 resolveTestUnit(''' | |
1277 fff() => 42; | |
1278 '''); | |
1279 await assertNoAssistAt( | |
1280 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); | |
1281 } | |
1282 | |
1283 test_convertToExpressionBody_wrong_moreThanOneStatement() async { | |
1284 resolveTestUnit(''' | |
1285 fff() { | |
1286 var v = 42; | |
1287 return v; | |
1288 } | |
1289 '''); | |
1290 await assertNoAssistAt( | |
1291 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); | |
1292 } | |
1293 | |
1294 test_convertToExpressionBody_wrong_noEnclosingFunction() async { | |
1295 resolveTestUnit(''' | |
1296 var V = 42; | |
1297 '''); | |
1298 await assertNoAssistAt('V = ', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); | |
1299 } | |
1300 | |
1301 test_convertToExpressionBody_wrong_noReturn() async { | |
1302 resolveTestUnit(''' | |
1303 fff() { | |
1304 var v = 42; | |
1305 } | |
1306 '''); | |
1307 await assertNoAssistAt( | |
1308 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); | |
1309 } | |
1310 | |
1311 test_convertToExpressionBody_wrong_noReturnValue() async { | |
1312 resolveTestUnit(''' | |
1313 fff() { | |
1314 return; | |
1315 } | |
1316 '''); | |
1317 await assertNoAssistAt( | |
1318 'fff()', DartAssistKind.CONVERT_INTO_EXPRESSION_BODY); | |
1319 } | |
1320 | |
1321 test_convertToFieldParameter_BAD_additionalUse() async { | 1321 test_convertToFieldParameter_BAD_additionalUse() async { |
1322 resolveTestUnit(''' | 1322 resolveTestUnit(''' |
1323 class A { | 1323 class A { |
1324 int aaa2; | 1324 int aaa2; |
1325 int bbb2; | 1325 int bbb2; |
1326 A(int aaa) : aaa2 = aaa, bbb2 = aaa; | 1326 A(int aaa) : aaa2 = aaa, bbb2 = aaa; |
1327 } | 1327 } |
1328 '''); | 1328 '''); |
1329 await assertNoAssistAt('aaa)', DartAssistKind.CONVERT_TO_FIELD_PARAMETER); | 1329 await assertNoAssistAt('aaa)', DartAssistKind.CONVERT_TO_FIELD_PARAMETER); |
1330 } | 1330 } |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1578 main(List<String> items) { | 1578 main(List<String> items) { |
1579 for (int k = 0; k < items.length; k++) { | 1579 for (int k = 0; k < items.length; k++) { |
1580 String item = items[k]; | 1580 String item = items[k]; |
1581 print(item); | 1581 print(item); |
1582 int i = 0, j = 1; | 1582 int i = 0, j = 1; |
1583 } | 1583 } |
1584 } | 1584 } |
1585 '''); | 1585 '''); |
1586 } | 1586 } |
1587 | 1587 |
| 1588 test_convertToIsNot_BAD_is_alreadyIsNot() async { |
| 1589 resolveTestUnit(''' |
| 1590 main(p) { |
| 1591 p is! String; |
| 1592 } |
| 1593 '''); |
| 1594 await assertNoAssistAt('is!', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1595 } |
| 1596 |
| 1597 test_convertToIsNot_BAD_is_noEnclosingParenthesis() async { |
| 1598 resolveTestUnit(''' |
| 1599 main(p) { |
| 1600 p is String; |
| 1601 } |
| 1602 '''); |
| 1603 await assertNoAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1604 } |
| 1605 |
| 1606 test_convertToIsNot_BAD_is_noPrefix() async { |
| 1607 resolveTestUnit(''' |
| 1608 main(p) { |
| 1609 (p is String); |
| 1610 } |
| 1611 '''); |
| 1612 await assertNoAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1613 } |
| 1614 |
| 1615 test_convertToIsNot_BAD_is_notIsExpression() async { |
| 1616 resolveTestUnit(''' |
| 1617 main(p) { |
| 1618 123 + 456; |
| 1619 } |
| 1620 '''); |
| 1621 await assertNoAssistAt('123 +', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1622 } |
| 1623 |
| 1624 test_convertToIsNot_BAD_is_notTheNotOperator() async { |
| 1625 verifyNoTestUnitErrors = false; |
| 1626 resolveTestUnit(''' |
| 1627 main(p) { |
| 1628 ++(p is String); |
| 1629 } |
| 1630 '''); |
| 1631 await assertNoAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1632 } |
| 1633 |
| 1634 test_convertToIsNot_BAD_not_alreadyIsNot() async { |
| 1635 resolveTestUnit(''' |
| 1636 main(p) { |
| 1637 !(p is! String); |
| 1638 } |
| 1639 '''); |
| 1640 await assertNoAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1641 } |
| 1642 |
| 1643 test_convertToIsNot_BAD_not_noEnclosingParenthesis() async { |
| 1644 resolveTestUnit(''' |
| 1645 main(p) { |
| 1646 !p; |
| 1647 } |
| 1648 '''); |
| 1649 await assertNoAssistAt('!p', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1650 } |
| 1651 |
| 1652 test_convertToIsNot_BAD_not_notIsExpression() async { |
| 1653 resolveTestUnit(''' |
| 1654 main(p) { |
| 1655 !(p == null); |
| 1656 } |
| 1657 '''); |
| 1658 await assertNoAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1659 } |
| 1660 |
| 1661 test_convertToIsNot_BAD_not_notTheNotOperator() async { |
| 1662 verifyNoTestUnitErrors = false; |
| 1663 resolveTestUnit(''' |
| 1664 main(p) { |
| 1665 ++(p is String); |
| 1666 } |
| 1667 '''); |
| 1668 await assertNoAssistAt('++(', DartAssistKind.CONVERT_INTO_IS_NOT); |
| 1669 } |
| 1670 |
1588 test_convertToIsNot_OK_childOfIs_left() async { | 1671 test_convertToIsNot_OK_childOfIs_left() async { |
1589 resolveTestUnit(''' | 1672 resolveTestUnit(''' |
1590 main(p) { | 1673 main(p) { |
1591 !(p is String); | 1674 !(p is String); |
1592 } | 1675 } |
1593 '''); | 1676 '''); |
1594 await assertHasAssistAt( | 1677 await assertHasAssistAt( |
1595 'p is', | 1678 'p is', |
1596 DartAssistKind.CONVERT_INTO_IS_NOT, | 1679 DartAssistKind.CONVERT_INTO_IS_NOT, |
1597 ''' | 1680 ''' |
1598 main(p) { | 1681 main(p) { |
1599 p is! String; | |
1600 } | |
1601 '''); | |
1602 } | |
1603 | |
1604 test_convertToIsNot_OK_childOfIs_right() async { | |
1605 resolveTestUnit(''' | |
1606 main(p) { | |
1607 !(p is String); | |
1608 } | |
1609 '''); | |
1610 await assertHasAssistAt( | |
1611 'String)', | |
1612 DartAssistKind.CONVERT_INTO_IS_NOT, | |
1613 ''' | |
1614 main(p) { | |
1615 p is! String; | |
1616 } | |
1617 '''); | |
1618 } | |
1619 | |
1620 test_convertToIsNot_OK_is() async { | |
1621 resolveTestUnit(''' | |
1622 main(p) { | |
1623 !(p is String); | |
1624 } | |
1625 '''); | |
1626 await assertHasAssistAt( | |
1627 'is String', | |
1628 DartAssistKind.CONVERT_INTO_IS_NOT, | |
1629 ''' | |
1630 main(p) { | |
1631 p is! String; | |
1632 } | |
1633 '''); | |
1634 } | |
1635 | |
1636 test_convertToIsNot_OK_is_higherPrecedencePrefix() async { | |
1637 resolveTestUnit(''' | |
1638 main(p) { | |
1639 !!(p is String); | |
1640 } | |
1641 '''); | |
1642 await assertHasAssistAt( | |
1643 'is String', | |
1644 DartAssistKind.CONVERT_INTO_IS_NOT, | |
1645 ''' | |
1646 main(p) { | |
1647 !(p is! String); | |
1648 } | |
1649 '''); | |
1650 } | |
1651 | |
1652 test_convertToIsNot_OK_is_not_higherPrecedencePrefix() async { | |
1653 resolveTestUnit(''' | |
1654 main(p) { | |
1655 !!(p is String); | |
1656 } | |
1657 '''); | |
1658 await assertHasAssistAt( | |
1659 '!(p', | |
1660 DartAssistKind.CONVERT_INTO_IS_NOT, | |
1661 ''' | |
1662 main(p) { | |
1663 !(p is! String); | |
1664 } | |
1665 '''); | |
1666 } | |
1667 | |
1668 test_convertToIsNot_OK_not() async { | |
1669 resolveTestUnit(''' | |
1670 main(p) { | |
1671 !(p is String); | |
1672 } | |
1673 '''); | |
1674 await assertHasAssistAt( | |
1675 '!(p', | |
1676 DartAssistKind.CONVERT_INTO_IS_NOT, | |
1677 ''' | |
1678 main(p) { | |
1679 p is! String; | 1682 p is! String; |
1680 } | 1683 } |
1681 '''); | 1684 '''); |
1682 } | 1685 } |
1683 | 1686 |
1684 test_convertToIsNot_OK_parentheses() async { | 1687 test_convertToIsNot_OK_childOfIs_right() async { |
1685 resolveTestUnit(''' | 1688 resolveTestUnit(''' |
1686 main(p) { | 1689 main(p) { |
1687 !(p is String); | 1690 !(p is String); |
1688 } | 1691 } |
1689 '''); | 1692 '''); |
1690 await assertHasAssistAt( | 1693 await assertHasAssistAt( |
1691 '(p is', | 1694 'String)', |
1692 DartAssistKind.CONVERT_INTO_IS_NOT, | 1695 DartAssistKind.CONVERT_INTO_IS_NOT, |
1693 ''' | 1696 ''' |
1694 main(p) { | 1697 main(p) { |
1695 p is! String; | 1698 p is! String; |
1696 } | 1699 } |
1697 '''); | 1700 '''); |
1698 } | 1701 } |
1699 | 1702 |
1700 test_convertToIsNot_wrong_is_alreadyIsNot() async { | 1703 test_convertToIsNot_OK_is() async { |
1701 resolveTestUnit(''' | 1704 resolveTestUnit(''' |
1702 main(p) { | 1705 main(p) { |
| 1706 !(p is String); |
| 1707 } |
| 1708 '''); |
| 1709 await assertHasAssistAt( |
| 1710 'is String', |
| 1711 DartAssistKind.CONVERT_INTO_IS_NOT, |
| 1712 ''' |
| 1713 main(p) { |
1703 p is! String; | 1714 p is! String; |
1704 } | 1715 } |
1705 '''); | 1716 '''); |
1706 await assertNoAssistAt('is!', DartAssistKind.CONVERT_INTO_IS_NOT); | |
1707 } | 1717 } |
1708 | 1718 |
1709 test_convertToIsNot_wrong_is_noEnclosingParenthesis() async { | 1719 test_convertToIsNot_OK_is_higherPrecedencePrefix() async { |
1710 resolveTestUnit(''' | 1720 resolveTestUnit(''' |
1711 main(p) { | 1721 main(p) { |
1712 p is String; | 1722 !!(p is String); |
1713 } | 1723 } |
1714 '''); | 1724 '''); |
1715 await assertNoAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT); | 1725 await assertHasAssistAt( |
1716 } | 1726 'is String', |
1717 | 1727 DartAssistKind.CONVERT_INTO_IS_NOT, |
1718 test_convertToIsNot_wrong_is_noPrefix() async { | 1728 ''' |
1719 resolveTestUnit(''' | |
1720 main(p) { | |
1721 (p is String); | |
1722 } | |
1723 '''); | |
1724 await assertNoAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT); | |
1725 } | |
1726 | |
1727 test_convertToIsNot_wrong_is_notIsExpression() async { | |
1728 resolveTestUnit(''' | |
1729 main(p) { | |
1730 123 + 456; | |
1731 } | |
1732 '''); | |
1733 await assertNoAssistAt('123 +', DartAssistKind.CONVERT_INTO_IS_NOT); | |
1734 } | |
1735 | |
1736 test_convertToIsNot_wrong_is_notTheNotOperator() async { | |
1737 verifyNoTestUnitErrors = false; | |
1738 resolveTestUnit(''' | |
1739 main(p) { | |
1740 ++(p is String); | |
1741 } | |
1742 '''); | |
1743 await assertNoAssistAt('is String', DartAssistKind.CONVERT_INTO_IS_NOT); | |
1744 } | |
1745 | |
1746 test_convertToIsNot_wrong_not_alreadyIsNot() async { | |
1747 resolveTestUnit(''' | |
1748 main(p) { | 1729 main(p) { |
1749 !(p is! String); | 1730 !(p is! String); |
1750 } | 1731 } |
1751 '''); | 1732 '''); |
1752 await assertNoAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT); | |
1753 } | 1733 } |
1754 | 1734 |
1755 test_convertToIsNot_wrong_not_noEnclosingParenthesis() async { | 1735 test_convertToIsNot_OK_is_not_higherPrecedencePrefix() async { |
1756 resolveTestUnit(''' | 1736 resolveTestUnit(''' |
1757 main(p) { | 1737 main(p) { |
1758 !p; | 1738 !!(p is String); |
1759 } | 1739 } |
1760 '''); | 1740 '''); |
1761 await assertNoAssistAt('!p', DartAssistKind.CONVERT_INTO_IS_NOT); | 1741 await assertHasAssistAt( |
| 1742 '!(p', |
| 1743 DartAssistKind.CONVERT_INTO_IS_NOT, |
| 1744 ''' |
| 1745 main(p) { |
| 1746 !(p is! String); |
| 1747 } |
| 1748 '''); |
1762 } | 1749 } |
1763 | 1750 |
1764 test_convertToIsNot_wrong_not_notIsExpression() async { | 1751 test_convertToIsNot_OK_not() async { |
1765 resolveTestUnit(''' | 1752 resolveTestUnit(''' |
1766 main(p) { | 1753 main(p) { |
1767 !(p == null); | 1754 !(p is String); |
1768 } | 1755 } |
1769 '''); | 1756 '''); |
1770 await assertNoAssistAt('!(p', DartAssistKind.CONVERT_INTO_IS_NOT); | 1757 await assertHasAssistAt( |
| 1758 '!(p', |
| 1759 DartAssistKind.CONVERT_INTO_IS_NOT, |
| 1760 ''' |
| 1761 main(p) { |
| 1762 p is! String; |
| 1763 } |
| 1764 '''); |
1771 } | 1765 } |
1772 | 1766 |
1773 test_convertToIsNot_wrong_not_notTheNotOperator() async { | 1767 test_convertToIsNot_OK_parentheses() async { |
| 1768 resolveTestUnit(''' |
| 1769 main(p) { |
| 1770 !(p is String); |
| 1771 } |
| 1772 '''); |
| 1773 await assertHasAssistAt( |
| 1774 '(p is', |
| 1775 DartAssistKind.CONVERT_INTO_IS_NOT, |
| 1776 ''' |
| 1777 main(p) { |
| 1778 p is! String; |
| 1779 } |
| 1780 '''); |
| 1781 } |
| 1782 |
| 1783 test_convertToIsNotEmpty_BAD_noBang() async { |
1774 verifyNoTestUnitErrors = false; | 1784 verifyNoTestUnitErrors = false; |
1775 resolveTestUnit(''' | 1785 resolveTestUnit(''' |
1776 main(p) { | 1786 main(String str) { |
1777 ++(p is String); | 1787 ~str.isEmpty; |
1778 } | 1788 } |
1779 '''); | 1789 '''); |
1780 await assertNoAssistAt('++(', DartAssistKind.CONVERT_INTO_IS_NOT); | 1790 await assertNoAssistAt( |
| 1791 'isEmpty;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); |
| 1792 } |
| 1793 |
| 1794 test_convertToIsNotEmpty_BAD_noIsNotEmpty() async { |
| 1795 resolveTestUnit(''' |
| 1796 class A { |
| 1797 bool get isEmpty => false; |
| 1798 } |
| 1799 main(A a) { |
| 1800 !a.isEmpty; |
| 1801 } |
| 1802 '''); |
| 1803 await assertNoAssistAt( |
| 1804 'isEmpty;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); |
| 1805 } |
| 1806 |
| 1807 test_convertToIsNotEmpty_BAD_notInPrefixExpression() async { |
| 1808 resolveTestUnit(''' |
| 1809 main(String str) { |
| 1810 str.isEmpty; |
| 1811 } |
| 1812 '''); |
| 1813 await assertNoAssistAt( |
| 1814 'isEmpty;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); |
| 1815 } |
| 1816 |
| 1817 test_convertToIsNotEmpty_BAD_notIsEmpty() async { |
| 1818 resolveTestUnit(''' |
| 1819 main(int p) { |
| 1820 !p.isEven; |
| 1821 } |
| 1822 '''); |
| 1823 await assertNoAssistAt('isEven;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); |
1781 } | 1824 } |
1782 | 1825 |
1783 test_convertToIsNotEmpty_OK_on_isEmpty() async { | 1826 test_convertToIsNotEmpty_OK_on_isEmpty() async { |
1784 resolveTestUnit(''' | 1827 resolveTestUnit(''' |
1785 main(String str) { | 1828 main(String str) { |
1786 !str.isEmpty; | 1829 !str.isEmpty; |
1787 } | 1830 } |
1788 '''); | 1831 '''); |
1789 await assertHasAssistAt( | 1832 await assertHasAssistAt( |
1790 'isEmpty', | 1833 'isEmpty', |
(...skipping 30 matching lines...) Expand all Loading... |
1821 await assertHasAssistAt( | 1864 await assertHasAssistAt( |
1822 'isEmpty', | 1865 'isEmpty', |
1823 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, | 1866 DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY, |
1824 ''' | 1867 ''' |
1825 main(String str) { | 1868 main(String str) { |
1826 'text'.isNotEmpty; | 1869 'text'.isNotEmpty; |
1827 } | 1870 } |
1828 '''); | 1871 '''); |
1829 } | 1872 } |
1830 | 1873 |
1831 test_convertToIsNotEmpty_wrong_noBang() async { | |
1832 verifyNoTestUnitErrors = false; | |
1833 resolveTestUnit(''' | |
1834 main(String str) { | |
1835 ~str.isEmpty; | |
1836 } | |
1837 '''); | |
1838 await assertNoAssistAt( | |
1839 'isEmpty;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); | |
1840 } | |
1841 | |
1842 test_convertToIsNotEmpty_wrong_noIsNotEmpty() async { | |
1843 resolveTestUnit(''' | |
1844 class A { | |
1845 bool get isEmpty => false; | |
1846 } | |
1847 main(A a) { | |
1848 !a.isEmpty; | |
1849 } | |
1850 '''); | |
1851 await assertNoAssistAt( | |
1852 'isEmpty;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); | |
1853 } | |
1854 | |
1855 test_convertToIsNotEmpty_wrong_notInPrefixExpression() async { | |
1856 resolveTestUnit(''' | |
1857 main(String str) { | |
1858 str.isEmpty; | |
1859 } | |
1860 '''); | |
1861 await assertNoAssistAt( | |
1862 'isEmpty;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); | |
1863 } | |
1864 | |
1865 test_convertToIsNotEmpty_wrong_notIsEmpty() async { | |
1866 resolveTestUnit(''' | |
1867 main(int p) { | |
1868 !p.isEven; | |
1869 } | |
1870 '''); | |
1871 await assertNoAssistAt('isEven;', DartAssistKind.CONVERT_INTO_IS_NOT_EMPTY); | |
1872 } | |
1873 | |
1874 test_convertToNormalParameter_OK_dynamic() async { | 1874 test_convertToNormalParameter_OK_dynamic() async { |
1875 resolveTestUnit(''' | 1875 resolveTestUnit(''' |
1876 class A { | 1876 class A { |
1877 var test; | 1877 var test; |
1878 A(this.test) { | 1878 A(this.test) { |
1879 } | 1879 } |
1880 } | 1880 } |
1881 '''); | 1881 '''); |
1882 await assertHasAssistAt( | 1882 await assertHasAssistAt( |
1883 'test)', | 1883 'test)', |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2046 void set test(test) { | 2046 void set test(test) { |
2047 _test = test; | 2047 _test = test; |
2048 } | 2048 } |
2049 } | 2049 } |
2050 main(A a) { | 2050 main(A a) { |
2051 print(a.test); | 2051 print(a.test); |
2052 } | 2052 } |
2053 '''); | 2053 '''); |
2054 } | 2054 } |
2055 | 2055 |
| 2056 test_exchangeBinaryExpressionArguments_BAD_extraLength() async { |
| 2057 resolveTestUnit(''' |
| 2058 main() { |
| 2059 111 + 222; |
| 2060 } |
| 2061 '''); |
| 2062 length = 3; |
| 2063 await assertNoAssistAt('+ 222', DartAssistKind.EXCHANGE_OPERANDS); |
| 2064 } |
| 2065 |
| 2066 test_exchangeBinaryExpressionArguments_BAD_onOperand() async { |
| 2067 resolveTestUnit(''' |
| 2068 main() { |
| 2069 111 + 222; |
| 2070 } |
| 2071 '''); |
| 2072 length = 3; |
| 2073 await assertNoAssistAt('11 +', DartAssistKind.EXCHANGE_OPERANDS); |
| 2074 } |
| 2075 |
| 2076 test_exchangeBinaryExpressionArguments_BAD_selectionWithBinary() async { |
| 2077 resolveTestUnit(''' |
| 2078 main() { |
| 2079 1 + 2 + 3; |
| 2080 } |
| 2081 '''); |
| 2082 length = '1 + 2 + 3'.length; |
| 2083 await assertNoAssistAt('1 + 2 + 3', DartAssistKind.EXCHANGE_OPERANDS); |
| 2084 } |
| 2085 |
2056 test_exchangeBinaryExpressionArguments_OK_compare() async { | 2086 test_exchangeBinaryExpressionArguments_OK_compare() async { |
2057 const initialOperators = const ['<', '<=', '>', '>=']; | 2087 const initialOperators = const ['<', '<=', '>', '>=']; |
2058 const resultOperators = const ['>', '>=', '<', '<=']; | 2088 const resultOperators = const ['>', '>=', '<', '<=']; |
2059 for (int i = 0; i <= 0; i++) { | 2089 for (int i = 0; i <= 0; i++) { |
2060 String initialOperator = initialOperators[i]; | 2090 String initialOperator = initialOperators[i]; |
2061 String resultOperator = resultOperators[i]; | 2091 String resultOperator = resultOperators[i]; |
2062 resolveTestUnit(''' | 2092 resolveTestUnit(''' |
2063 bool main(int a, int b) { | 2093 bool main(int a, int b) { |
2064 return a $initialOperator b; | 2094 return a $initialOperator b; |
2065 } | 2095 } |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2198 await assertHasAssistAt( | 2228 await assertHasAssistAt( |
2199 '+ 2', | 2229 '+ 2', |
2200 DartAssistKind.EXCHANGE_OPERANDS, | 2230 DartAssistKind.EXCHANGE_OPERANDS, |
2201 ''' | 2231 ''' |
2202 main() { | 2232 main() { |
2203 2 + 1; | 2233 2 + 1; |
2204 } | 2234 } |
2205 '''); | 2235 '''); |
2206 } | 2236 } |
2207 | 2237 |
2208 test_exchangeBinaryExpressionArguments_wrong_extraLength() async { | |
2209 resolveTestUnit(''' | |
2210 main() { | |
2211 111 + 222; | |
2212 } | |
2213 '''); | |
2214 length = 3; | |
2215 await assertNoAssistAt('+ 222', DartAssistKind.EXCHANGE_OPERANDS); | |
2216 } | |
2217 | |
2218 test_exchangeBinaryExpressionArguments_wrong_onOperand() async { | |
2219 resolveTestUnit(''' | |
2220 main() { | |
2221 111 + 222; | |
2222 } | |
2223 '''); | |
2224 length = 3; | |
2225 await assertNoAssistAt('11 +', DartAssistKind.EXCHANGE_OPERANDS); | |
2226 } | |
2227 | |
2228 test_exchangeBinaryExpressionArguments_wrong_selectionWithBinary() async { | |
2229 resolveTestUnit(''' | |
2230 main() { | |
2231 1 + 2 + 3; | |
2232 } | |
2233 '''); | |
2234 length = '1 + 2 + 3'.length; | |
2235 await assertNoAssistAt('1 + 2 + 3', DartAssistKind.EXCHANGE_OPERANDS); | |
2236 } | |
2237 | |
2238 test_importAddShow_BAD_hasShow() async { | 2238 test_importAddShow_BAD_hasShow() async { |
2239 resolveTestUnit(''' | 2239 resolveTestUnit(''' |
2240 import 'dart:math' show PI; | 2240 import 'dart:math' show PI; |
2241 main() { | 2241 main() { |
2242 PI; | 2242 PI; |
2243 } | 2243 } |
2244 '''); | 2244 '''); |
2245 await assertNoAssistAt('import ', DartAssistKind.IMPORT_ADD_SHOW); | 2245 await assertNoAssistAt('import ', DartAssistKind.IMPORT_ADD_SHOW); |
2246 } | 2246 } |
2247 | 2247 |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2471 ''' | 2471 ''' |
2472 main() { | 2472 main() { |
2473 if (false) | 2473 if (false) |
2474 1; | 2474 1; |
2475 else | 2475 else |
2476 0; | 2476 0; |
2477 } | 2477 } |
2478 '''); | 2478 '''); |
2479 } | 2479 } |
2480 | 2480 |
| 2481 test_joinIfStatementInner_BAD_innerNotIf() async { |
| 2482 resolveTestUnit(''' |
| 2483 main() { |
| 2484 if (1 == 1) { |
| 2485 print(0); |
| 2486 } |
| 2487 } |
| 2488 '''); |
| 2489 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); |
| 2490 } |
| 2491 |
| 2492 test_joinIfStatementInner_BAD_innerWithElse() async { |
| 2493 resolveTestUnit(''' |
| 2494 main() { |
| 2495 if (1 == 1) { |
| 2496 if (2 == 2) { |
| 2497 print(0); |
| 2498 } else { |
| 2499 print(1); |
| 2500 } |
| 2501 } |
| 2502 } |
| 2503 '''); |
| 2504 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); |
| 2505 } |
| 2506 |
| 2507 test_joinIfStatementInner_BAD_statementAfterInner() async { |
| 2508 resolveTestUnit(''' |
| 2509 main() { |
| 2510 if (1 == 1) { |
| 2511 if (2 == 2) { |
| 2512 print(2); |
| 2513 } |
| 2514 print(1); |
| 2515 } |
| 2516 } |
| 2517 '''); |
| 2518 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); |
| 2519 } |
| 2520 |
| 2521 test_joinIfStatementInner_BAD_statementBeforeInner() async { |
| 2522 resolveTestUnit(''' |
| 2523 main() { |
| 2524 if (1 == 1) { |
| 2525 print(1); |
| 2526 if (2 == 2) { |
| 2527 print(2); |
| 2528 } |
| 2529 } |
| 2530 } |
| 2531 '''); |
| 2532 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); |
| 2533 } |
| 2534 |
| 2535 test_joinIfStatementInner_BAD_targetNotIf() async { |
| 2536 resolveTestUnit(''' |
| 2537 main() { |
| 2538 print(0); |
| 2539 } |
| 2540 '''); |
| 2541 await assertNoAssistAt('print', DartAssistKind.JOIN_IF_WITH_INNER); |
| 2542 } |
| 2543 |
| 2544 test_joinIfStatementInner_BAD_targetWithElse() async { |
| 2545 resolveTestUnit(''' |
| 2546 main() { |
| 2547 if (1 == 1) { |
| 2548 if (2 == 2) { |
| 2549 print(0); |
| 2550 } |
| 2551 } else { |
| 2552 print(1); |
| 2553 } |
| 2554 } |
| 2555 '''); |
| 2556 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); |
| 2557 } |
| 2558 |
2481 test_joinIfStatementInner_OK_conditionAndOr() async { | 2559 test_joinIfStatementInner_OK_conditionAndOr() async { |
2482 resolveTestUnit(''' | 2560 resolveTestUnit(''' |
2483 main() { | 2561 main() { |
2484 if (1 == 1) { | 2562 if (1 == 1) { |
2485 if (2 == 2 || 3 == 3) { | 2563 if (2 == 2 || 3 == 3) { |
2486 print(0); | 2564 print(0); |
2487 } | 2565 } |
2488 } | 2566 } |
2489 } | 2567 } |
2490 '''); | 2568 '''); |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2651 DartAssistKind.JOIN_IF_WITH_INNER, | 2729 DartAssistKind.JOIN_IF_WITH_INNER, |
2652 ''' | 2730 ''' |
2653 main() { | 2731 main() { |
2654 if (1 == 1 && 2 == 2) { | 2732 if (1 == 1 && 2 == 2) { |
2655 print(0); | 2733 print(0); |
2656 } | 2734 } |
2657 } | 2735 } |
2658 '''); | 2736 '''); |
2659 } | 2737 } |
2660 | 2738 |
2661 test_joinIfStatementInner_wrong_innerNotIf() async { | 2739 test_joinIfStatementOuter_BAD_outerNotIf() async { |
2662 resolveTestUnit(''' | 2740 resolveTestUnit(''' |
2663 main() { | 2741 main() { |
2664 if (1 == 1) { | 2742 if (1 == 1) { |
2665 print(0); | 2743 print(0); |
2666 } | 2744 } |
2667 } | 2745 } |
2668 '''); | 2746 '''); |
2669 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); | 2747 await assertNoAssistAt('if (1 == 1', DartAssistKind.JOIN_IF_WITH_OUTER); |
2670 } | 2748 } |
2671 | 2749 |
2672 test_joinIfStatementInner_wrong_innerWithElse() async { | 2750 test_joinIfStatementOuter_BAD_outerWithElse() async { |
2673 resolveTestUnit(''' | 2751 resolveTestUnit(''' |
2674 main() { | 2752 main() { |
2675 if (1 == 1) { | 2753 if (1 == 1) { |
2676 if (2 == 2) { | 2754 if (2 == 2) { |
2677 print(0); | 2755 print(0); |
2678 } else { | |
2679 print(1); | |
2680 } | 2756 } |
| 2757 } else { |
| 2758 print(1); |
2681 } | 2759 } |
2682 } | 2760 } |
2683 '''); | 2761 '''); |
2684 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); | 2762 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); |
2685 } | 2763 } |
2686 | 2764 |
2687 test_joinIfStatementInner_wrong_statementAfterInner() async { | 2765 test_joinIfStatementOuter_BAD_statementAfterInner() async { |
2688 resolveTestUnit(''' | 2766 resolveTestUnit(''' |
2689 main() { | 2767 main() { |
2690 if (1 == 1) { | 2768 if (1 == 1) { |
2691 if (2 == 2) { | 2769 if (2 == 2) { |
2692 print(2); | 2770 print(2); |
2693 } | 2771 } |
2694 print(1); | 2772 print(1); |
2695 } | 2773 } |
2696 } | 2774 } |
2697 '''); | 2775 '''); |
2698 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); | 2776 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); |
2699 } | 2777 } |
2700 | 2778 |
2701 test_joinIfStatementInner_wrong_statementBeforeInner() async { | 2779 test_joinIfStatementOuter_BAD_statementBeforeInner() async { |
2702 resolveTestUnit(''' | 2780 resolveTestUnit(''' |
2703 main() { | 2781 main() { |
2704 if (1 == 1) { | 2782 if (1 == 1) { |
2705 print(1); | 2783 print(1); |
2706 if (2 == 2) { | 2784 if (2 == 2) { |
2707 print(2); | 2785 print(2); |
2708 } | 2786 } |
2709 } | 2787 } |
2710 } | 2788 } |
2711 '''); | 2789 '''); |
2712 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); | 2790 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); |
2713 } | 2791 } |
2714 | 2792 |
2715 test_joinIfStatementInner_wrong_targetNotIf() async { | 2793 test_joinIfStatementOuter_BAD_targetNotIf() async { |
2716 resolveTestUnit(''' | 2794 resolveTestUnit(''' |
2717 main() { | 2795 main() { |
2718 print(0); | 2796 print(0); |
2719 } | 2797 } |
2720 '''); | 2798 '''); |
2721 await assertNoAssistAt('print', DartAssistKind.JOIN_IF_WITH_INNER); | 2799 await assertNoAssistAt('print', DartAssistKind.JOIN_IF_WITH_OUTER); |
2722 } | 2800 } |
2723 | 2801 |
2724 test_joinIfStatementInner_wrong_targetWithElse() async { | 2802 test_joinIfStatementOuter_BAD_targetWithElse() async { |
2725 resolveTestUnit(''' | 2803 resolveTestUnit(''' |
2726 main() { | 2804 main() { |
2727 if (1 == 1) { | 2805 if (1 == 1) { |
2728 if (2 == 2) { | 2806 if (2 == 2) { |
2729 print(0); | 2807 print(0); |
| 2808 } else { |
| 2809 print(1); |
2730 } | 2810 } |
2731 } else { | |
2732 print(1); | |
2733 } | 2811 } |
2734 } | 2812 } |
2735 '''); | 2813 '''); |
2736 await assertNoAssistAt('if (1 ==', DartAssistKind.JOIN_IF_WITH_INNER); | 2814 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); |
2737 } | 2815 } |
2738 | 2816 |
2739 test_joinIfStatementOuter_OK_conditionAndOr() async { | 2817 test_joinIfStatementOuter_OK_conditionAndOr() async { |
2740 resolveTestUnit(''' | 2818 resolveTestUnit(''' |
2741 main() { | 2819 main() { |
2742 if (1 == 1) { | 2820 if (1 == 1) { |
2743 if (2 == 2 || 3 == 3) { | 2821 if (2 == 2 || 3 == 3) { |
2744 print(0); | 2822 print(0); |
2745 } | 2823 } |
2746 } | 2824 } |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2909 DartAssistKind.JOIN_IF_WITH_OUTER, | 2987 DartAssistKind.JOIN_IF_WITH_OUTER, |
2910 ''' | 2988 ''' |
2911 main() { | 2989 main() { |
2912 if (1 == 1 && 2 == 2) { | 2990 if (1 == 1 && 2 == 2) { |
2913 print(0); | 2991 print(0); |
2914 } | 2992 } |
2915 } | 2993 } |
2916 '''); | 2994 '''); |
2917 } | 2995 } |
2918 | 2996 |
2919 test_joinIfStatementOuter_wrong_outerNotIf() async { | 2997 test_joinVariableDeclaration_onAssignment_BAD_hasInitializer() async { |
2920 resolveTestUnit(''' | 2998 resolveTestUnit(''' |
2921 main() { | 2999 main() { |
2922 if (1 == 1) { | 3000 var v = 1; |
2923 print(0); | 3001 v = 2; |
| 3002 } |
| 3003 '''); |
| 3004 await assertNoAssistAt('v = 2', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3005 } |
| 3006 |
| 3007 test_joinVariableDeclaration_onAssignment_BAD_notAdjacent() async { |
| 3008 resolveTestUnit(''' |
| 3009 main() { |
| 3010 var v; |
| 3011 var bar; |
| 3012 v = 1; |
| 3013 } |
| 3014 '''); |
| 3015 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3016 } |
| 3017 |
| 3018 test_joinVariableDeclaration_onAssignment_BAD_notAssignment() async { |
| 3019 resolveTestUnit(''' |
| 3020 main() { |
| 3021 var v; |
| 3022 v += 1; |
| 3023 } |
| 3024 '''); |
| 3025 await assertNoAssistAt('v += 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3026 } |
| 3027 |
| 3028 test_joinVariableDeclaration_onAssignment_BAD_notDeclaration() async { |
| 3029 resolveTestUnit(''' |
| 3030 main(var v) { |
| 3031 v = 1; |
| 3032 } |
| 3033 '''); |
| 3034 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3035 } |
| 3036 |
| 3037 test_joinVariableDeclaration_onAssignment_BAD_notLeftArgument() async { |
| 3038 resolveTestUnit(''' |
| 3039 main() { |
| 3040 var v; |
| 3041 1 + v; // marker |
| 3042 } |
| 3043 '''); |
| 3044 await assertNoAssistAt( |
| 3045 'v; // marker', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3046 } |
| 3047 |
| 3048 test_joinVariableDeclaration_onAssignment_BAD_notOneVariable() async { |
| 3049 resolveTestUnit(''' |
| 3050 main() { |
| 3051 var v, v2; |
| 3052 v = 1; |
| 3053 } |
| 3054 '''); |
| 3055 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3056 } |
| 3057 |
| 3058 test_joinVariableDeclaration_onAssignment_BAD_notResolved() async { |
| 3059 verifyNoTestUnitErrors = false; |
| 3060 resolveTestUnit(''' |
| 3061 main() { |
| 3062 var v; |
| 3063 x = 1; |
| 3064 } |
| 3065 '''); |
| 3066 await assertNoAssistAt('x = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3067 } |
| 3068 |
| 3069 test_joinVariableDeclaration_onAssignment_BAD_notSameBlock() async { |
| 3070 resolveTestUnit(''' |
| 3071 main() { |
| 3072 var v; |
| 3073 { |
| 3074 v = 1; |
2924 } | 3075 } |
2925 } | 3076 } |
2926 '''); | 3077 '''); |
2927 await assertNoAssistAt('if (1 == 1', DartAssistKind.JOIN_IF_WITH_OUTER); | 3078 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
2928 } | |
2929 | |
2930 test_joinIfStatementOuter_wrong_outerWithElse() async { | |
2931 resolveTestUnit(''' | |
2932 main() { | |
2933 if (1 == 1) { | |
2934 if (2 == 2) { | |
2935 print(0); | |
2936 } | |
2937 } else { | |
2938 print(1); | |
2939 } | |
2940 } | |
2941 '''); | |
2942 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); | |
2943 } | |
2944 | |
2945 test_joinIfStatementOuter_wrong_statementAfterInner() async { | |
2946 resolveTestUnit(''' | |
2947 main() { | |
2948 if (1 == 1) { | |
2949 if (2 == 2) { | |
2950 print(2); | |
2951 } | |
2952 print(1); | |
2953 } | |
2954 } | |
2955 '''); | |
2956 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); | |
2957 } | |
2958 | |
2959 test_joinIfStatementOuter_wrong_statementBeforeInner() async { | |
2960 resolveTestUnit(''' | |
2961 main() { | |
2962 if (1 == 1) { | |
2963 print(1); | |
2964 if (2 == 2) { | |
2965 print(2); | |
2966 } | |
2967 } | |
2968 } | |
2969 '''); | |
2970 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); | |
2971 } | |
2972 | |
2973 test_joinIfStatementOuter_wrong_targetNotIf() async { | |
2974 resolveTestUnit(''' | |
2975 main() { | |
2976 print(0); | |
2977 } | |
2978 '''); | |
2979 await assertNoAssistAt('print', DartAssistKind.JOIN_IF_WITH_OUTER); | |
2980 } | |
2981 | |
2982 test_joinIfStatementOuter_wrong_targetWithElse() async { | |
2983 resolveTestUnit(''' | |
2984 main() { | |
2985 if (1 == 1) { | |
2986 if (2 == 2) { | |
2987 print(0); | |
2988 } else { | |
2989 print(1); | |
2990 } | |
2991 } | |
2992 } | |
2993 '''); | |
2994 await assertNoAssistAt('if (2 == 2', DartAssistKind.JOIN_IF_WITH_OUTER); | |
2995 } | 3079 } |
2996 | 3080 |
2997 test_joinVariableDeclaration_onAssignment_OK() async { | 3081 test_joinVariableDeclaration_onAssignment_OK() async { |
2998 resolveTestUnit(''' | 3082 resolveTestUnit(''' |
2999 main() { | 3083 main() { |
3000 var v; | 3084 var v; |
3001 v = 1; | 3085 v = 1; |
3002 } | 3086 } |
3003 '''); | 3087 '''); |
3004 await assertHasAssistAt( | 3088 await assertHasAssistAt( |
3005 'v =', | 3089 'v =', |
3006 DartAssistKind.JOIN_VARIABLE_DECLARATION, | 3090 DartAssistKind.JOIN_VARIABLE_DECLARATION, |
3007 ''' | 3091 ''' |
3008 main() { | 3092 main() { |
3009 var v = 1; | 3093 var v = 1; |
3010 } | 3094 } |
3011 '''); | 3095 '''); |
3012 } | 3096 } |
3013 | 3097 |
3014 test_joinVariableDeclaration_onAssignment_wrong_hasInitializer() async { | 3098 test_joinVariableDeclaration_onDeclaration_BAD_hasInitializer() async { |
3015 resolveTestUnit(''' | 3099 resolveTestUnit(''' |
3016 main() { | 3100 main() { |
3017 var v = 1; | 3101 var v = 1; |
3018 v = 2; | 3102 v = 2; |
3019 } | 3103 } |
3020 '''); | 3104 '''); |
3021 await assertNoAssistAt('v = 2', DartAssistKind.JOIN_VARIABLE_DECLARATION); | 3105 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
3022 } | 3106 } |
3023 | 3107 |
3024 test_joinVariableDeclaration_onAssignment_wrong_notAdjacent() async { | 3108 test_joinVariableDeclaration_onDeclaration_BAD_lastStatement() async { |
| 3109 resolveTestUnit(''' |
| 3110 main() { |
| 3111 if (true) |
| 3112 var v; |
| 3113 } |
| 3114 '''); |
| 3115 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3116 } |
| 3117 |
| 3118 test_joinVariableDeclaration_onDeclaration_BAD_nextNotAssignmentExpression() a
sync { |
3025 resolveTestUnit(''' | 3119 resolveTestUnit(''' |
3026 main() { | 3120 main() { |
3027 var v; | 3121 var v; |
3028 var bar; | 3122 42; |
3029 v = 1; | |
3030 } | 3123 } |
3031 '''); | 3124 '''); |
3032 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | 3125 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
3033 } | 3126 } |
3034 | 3127 |
3035 test_joinVariableDeclaration_onAssignment_wrong_notAssignment() async { | 3128 test_joinVariableDeclaration_onDeclaration_BAD_nextNotExpressionStatement() as
ync { |
| 3129 resolveTestUnit(''' |
| 3130 main() { |
| 3131 var v; |
| 3132 if (true) return; |
| 3133 } |
| 3134 '''); |
| 3135 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
| 3136 } |
| 3137 |
| 3138 test_joinVariableDeclaration_onDeclaration_BAD_nextNotPureAssignment() async { |
3036 resolveTestUnit(''' | 3139 resolveTestUnit(''' |
3037 main() { | 3140 main() { |
3038 var v; | 3141 var v; |
3039 v += 1; | 3142 v += 1; |
3040 } | 3143 } |
3041 '''); | 3144 '''); |
3042 await assertNoAssistAt('v += 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | 3145 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
3043 } | 3146 } |
3044 | 3147 |
3045 test_joinVariableDeclaration_onAssignment_wrong_notDeclaration() async { | 3148 test_joinVariableDeclaration_onDeclaration_BAD_notOneVariable() async { |
3046 resolveTestUnit(''' | |
3047 main(var v) { | |
3048 v = 1; | |
3049 } | |
3050 '''); | |
3051 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3052 } | |
3053 | |
3054 test_joinVariableDeclaration_onAssignment_wrong_notLeftArgument() async { | |
3055 resolveTestUnit(''' | |
3056 main() { | |
3057 var v; | |
3058 1 + v; // marker | |
3059 } | |
3060 '''); | |
3061 await assertNoAssistAt( | |
3062 'v; // marker', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3063 } | |
3064 | |
3065 test_joinVariableDeclaration_onAssignment_wrong_notOneVariable() async { | |
3066 resolveTestUnit(''' | 3149 resolveTestUnit(''' |
3067 main() { | 3150 main() { |
3068 var v, v2; | 3151 var v, v2; |
3069 v = 1; | 3152 v = 1; |
3070 } | 3153 } |
3071 '''); | 3154 '''); |
3072 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | 3155 await assertNoAssistAt('v, ', DartAssistKind.JOIN_VARIABLE_DECLARATION); |
3073 } | |
3074 | |
3075 test_joinVariableDeclaration_onAssignment_wrong_notResolved() async { | |
3076 verifyNoTestUnitErrors = false; | |
3077 resolveTestUnit(''' | |
3078 main() { | |
3079 var v; | |
3080 x = 1; | |
3081 } | |
3082 '''); | |
3083 await assertNoAssistAt('x = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3084 } | |
3085 | |
3086 test_joinVariableDeclaration_onAssignment_wrong_notSameBlock() async { | |
3087 resolveTestUnit(''' | |
3088 main() { | |
3089 var v; | |
3090 { | |
3091 v = 1; | |
3092 } | |
3093 } | |
3094 '''); | |
3095 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3096 } | 3156 } |
3097 | 3157 |
3098 test_joinVariableDeclaration_onDeclaration_OK_onName() async { | 3158 test_joinVariableDeclaration_onDeclaration_OK_onName() async { |
3099 resolveTestUnit(''' | 3159 resolveTestUnit(''' |
3100 main() { | 3160 main() { |
3101 var v; | 3161 var v; |
3102 v = 1; | 3162 v = 1; |
3103 } | 3163 } |
3104 '''); | 3164 '''); |
3105 await assertHasAssistAt( | 3165 await assertHasAssistAt( |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3139 await assertHasAssistAt( | 3199 await assertHasAssistAt( |
3140 'var v', | 3200 'var v', |
3141 DartAssistKind.JOIN_VARIABLE_DECLARATION, | 3201 DartAssistKind.JOIN_VARIABLE_DECLARATION, |
3142 ''' | 3202 ''' |
3143 main() { | 3203 main() { |
3144 var v = 1; | 3204 var v = 1; |
3145 } | 3205 } |
3146 '''); | 3206 '''); |
3147 } | 3207 } |
3148 | 3208 |
3149 test_joinVariableDeclaration_onDeclaration_wrong_hasInitializer() async { | |
3150 resolveTestUnit(''' | |
3151 main() { | |
3152 var v = 1; | |
3153 v = 2; | |
3154 } | |
3155 '''); | |
3156 await assertNoAssistAt('v = 1', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3157 } | |
3158 | |
3159 test_joinVariableDeclaration_onDeclaration_wrong_lastStatement() async { | |
3160 resolveTestUnit(''' | |
3161 main() { | |
3162 if (true) | |
3163 var v; | |
3164 } | |
3165 '''); | |
3166 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3167 } | |
3168 | |
3169 test_joinVariableDeclaration_onDeclaration_wrong_nextNotAssignmentExpression()
async { | |
3170 resolveTestUnit(''' | |
3171 main() { | |
3172 var v; | |
3173 42; | |
3174 } | |
3175 '''); | |
3176 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3177 } | |
3178 | |
3179 test_joinVariableDeclaration_onDeclaration_wrong_nextNotExpressionStatement()
async { | |
3180 resolveTestUnit(''' | |
3181 main() { | |
3182 var v; | |
3183 if (true) return; | |
3184 } | |
3185 '''); | |
3186 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3187 } | |
3188 | |
3189 test_joinVariableDeclaration_onDeclaration_wrong_nextNotPureAssignment() async
{ | |
3190 resolveTestUnit(''' | |
3191 main() { | |
3192 var v; | |
3193 v += 1; | |
3194 } | |
3195 '''); | |
3196 await assertNoAssistAt('v;', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3197 } | |
3198 | |
3199 test_joinVariableDeclaration_onDeclaration_wrong_notOneVariable() async { | |
3200 resolveTestUnit(''' | |
3201 main() { | |
3202 var v, v2; | |
3203 v = 1; | |
3204 } | |
3205 '''); | |
3206 await assertNoAssistAt('v, ', DartAssistKind.JOIN_VARIABLE_DECLARATION); | |
3207 } | |
3208 | |
3209 test_removeTypeAnnotation_classField_OK() async { | 3209 test_removeTypeAnnotation_classField_OK() async { |
3210 resolveTestUnit(''' | 3210 resolveTestUnit(''' |
3211 class A { | 3211 class A { |
3212 int v = 1; | 3212 int v = 1; |
3213 } | 3213 } |
3214 '''); | 3214 '''); |
3215 await assertHasAssistAt( | 3215 await assertHasAssistAt( |
3216 'v = ', | 3216 'v = ', |
3217 DartAssistKind.REMOVE_TYPE_ANNOTATION, | 3217 DartAssistKind.REMOVE_TYPE_ANNOTATION, |
3218 ''' | 3218 ''' |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3303 final int V = 1; | 3303 final int V = 1; |
3304 '''); | 3304 '''); |
3305 await assertHasAssistAt( | 3305 await assertHasAssistAt( |
3306 'int ', | 3306 'int ', |
3307 DartAssistKind.REMOVE_TYPE_ANNOTATION, | 3307 DartAssistKind.REMOVE_TYPE_ANNOTATION, |
3308 ''' | 3308 ''' |
3309 final V = 1; | 3309 final V = 1; |
3310 '''); | 3310 '''); |
3311 } | 3311 } |
3312 | 3312 |
| 3313 test_replaceConditionalWithIfElse_BAD_noEnclosingStatement() async { |
| 3314 resolveTestUnit(''' |
| 3315 var v = true ? 111 : 222; |
| 3316 '''); |
| 3317 await assertNoAssistAt( |
| 3318 '? 111', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE); |
| 3319 } |
| 3320 |
| 3321 test_replaceConditionalWithIfElse_BAD_notConditional() async { |
| 3322 resolveTestUnit(''' |
| 3323 main() { |
| 3324 var v = 42; |
| 3325 } |
| 3326 '''); |
| 3327 await assertNoAssistAt( |
| 3328 'v = 42', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE); |
| 3329 } |
| 3330 |
3313 test_replaceConditionalWithIfElse_OK_assignment() async { | 3331 test_replaceConditionalWithIfElse_OK_assignment() async { |
3314 resolveTestUnit(''' | 3332 resolveTestUnit(''' |
3315 main() { | 3333 main() { |
3316 var v; | 3334 var v; |
3317 v = true ? 111 : 222; | 3335 v = true ? 111 : 222; |
3318 } | 3336 } |
3319 '''); | 3337 '''); |
3320 // on conditional | 3338 // on conditional |
3321 await assertHasAssistAt( | 3339 await assertHasAssistAt( |
3322 '11 :', | 3340 '11 :', |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3381 int a = 1, vvv, b = 2; | 3399 int a = 1, vvv, b = 2; |
3382 if (true) { | 3400 if (true) { |
3383 vvv = 111; | 3401 vvv = 111; |
3384 } else { | 3402 } else { |
3385 vvv = 222; | 3403 vvv = 222; |
3386 } | 3404 } |
3387 } | 3405 } |
3388 '''); | 3406 '''); |
3389 } | 3407 } |
3390 | 3408 |
3391 test_replaceConditionalWithIfElse_wrong_noEnclosingStatement() async { | 3409 test_replaceIfElseWithConditional_BAD_expressionVsReturn() async { |
3392 resolveTestUnit(''' | |
3393 var v = true ? 111 : 222; | |
3394 '''); | |
3395 await assertNoAssistAt( | |
3396 '? 111', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE); | |
3397 } | |
3398 | |
3399 test_replaceConditionalWithIfElse_wrong_notConditional() async { | |
3400 resolveTestUnit(''' | 3410 resolveTestUnit(''' |
3401 main() { | 3411 main() { |
3402 var v = 42; | 3412 if (true) { |
| 3413 print(42); |
| 3414 } else { |
| 3415 return; |
| 3416 } |
3403 } | 3417 } |
3404 '''); | 3418 '''); |
3405 await assertNoAssistAt( | 3419 await assertNoAssistAt( |
3406 'v = 42', DartAssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE); | 3420 'else', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); |
| 3421 } |
| 3422 |
| 3423 test_replaceIfElseWithConditional_BAD_notIfStatement() async { |
| 3424 resolveTestUnit(''' |
| 3425 main() { |
| 3426 print(0); |
| 3427 } |
| 3428 '''); |
| 3429 await assertNoAssistAt( |
| 3430 'print', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); |
| 3431 } |
| 3432 |
| 3433 test_replaceIfElseWithConditional_BAD_notSingleStatement() async { |
| 3434 resolveTestUnit(''' |
| 3435 main() { |
| 3436 int vvv; |
| 3437 if (true) { |
| 3438 print(0); |
| 3439 vvv = 111; |
| 3440 } else { |
| 3441 print(0); |
| 3442 vvv = 222; |
| 3443 } |
| 3444 } |
| 3445 '''); |
| 3446 await assertNoAssistAt( |
| 3447 'if (true)', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); |
3407 } | 3448 } |
3408 | 3449 |
3409 test_replaceIfElseWithConditional_OK_assignment() async { | 3450 test_replaceIfElseWithConditional_OK_assignment() async { |
3410 resolveTestUnit(''' | 3451 resolveTestUnit(''' |
3411 main() { | 3452 main() { |
3412 int vvv; | 3453 int vvv; |
3413 if (true) { | 3454 if (true) { |
3414 vvv = 111; | 3455 vvv = 111; |
3415 } else { | 3456 } else { |
3416 vvv = 222; | 3457 vvv = 222; |
(...skipping 24 matching lines...) Expand all Loading... |
3441 await assertHasAssistAt( | 3482 await assertHasAssistAt( |
3442 'if (true)', | 3483 'if (true)', |
3443 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, | 3484 DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, |
3444 ''' | 3485 ''' |
3445 main() { | 3486 main() { |
3446 return true ? 111 : 222; | 3487 return true ? 111 : 222; |
3447 } | 3488 } |
3448 '''); | 3489 '''); |
3449 } | 3490 } |
3450 | 3491 |
3451 test_replaceIfElseWithConditional_wrong_expressionVsReturn() async { | 3492 test_splitAndCondition_BAD_hasElse() async { |
3452 resolveTestUnit(''' | 3493 resolveTestUnit(''' |
3453 main() { | 3494 main() { |
3454 if (true) { | 3495 if (1 == 1 && 2 == 2) { |
3455 print(42); | 3496 print(1); |
3456 } else { | 3497 } else { |
3457 return; | 3498 print(2); |
3458 } | 3499 } |
3459 } | 3500 } |
3460 '''); | 3501 '''); |
3461 await assertNoAssistAt( | 3502 await assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); |
3462 'else', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); | |
3463 } | 3503 } |
3464 | 3504 |
3465 test_replaceIfElseWithConditional_wrong_notIfStatement() async { | 3505 test_splitAndCondition_BAD_notAnd() async { |
3466 resolveTestUnit(''' | 3506 resolveTestUnit(''' |
3467 main() { | 3507 main() { |
3468 print(0); | 3508 if (1 == 1 || 2 == 2) { |
3469 } | |
3470 '''); | |
3471 await assertNoAssistAt( | |
3472 'print', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); | |
3473 } | |
3474 | |
3475 test_replaceIfElseWithConditional_wrong_notSingleStatement() async { | |
3476 resolveTestUnit(''' | |
3477 main() { | |
3478 int vvv; | |
3479 if (true) { | |
3480 print(0); | 3509 print(0); |
3481 vvv = 111; | |
3482 } else { | |
3483 print(0); | |
3484 vvv = 222; | |
3485 } | 3510 } |
3486 } | 3511 } |
3487 '''); | 3512 '''); |
3488 await assertNoAssistAt( | 3513 await assertNoAssistAt('|| 2', DartAssistKind.SPLIT_AND_CONDITION); |
3489 'if (true)', DartAssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); | 3514 } |
| 3515 |
| 3516 test_splitAndCondition_BAD_notPartOfIf() async { |
| 3517 resolveTestUnit(''' |
| 3518 main() { |
| 3519 print(1 == 1 && 2 == 2); |
| 3520 } |
| 3521 '''); |
| 3522 await assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); |
| 3523 } |
| 3524 |
| 3525 test_splitAndCondition_BAD_notTopLevelAnd() async { |
| 3526 resolveTestUnit(''' |
| 3527 main() { |
| 3528 if (true || (1 == 1 && 2 == 2)) { |
| 3529 print(0); |
| 3530 } |
| 3531 if (true && (3 == 3 && 4 == 4)) { |
| 3532 print(0); |
| 3533 } |
| 3534 } |
| 3535 '''); |
| 3536 await assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); |
| 3537 await assertNoAssistAt('&& 4', DartAssistKind.SPLIT_AND_CONDITION); |
3490 } | 3538 } |
3491 | 3539 |
3492 test_splitAndCondition_OK_innerAndExpression() async { | 3540 test_splitAndCondition_OK_innerAndExpression() async { |
3493 resolveTestUnit(''' | 3541 resolveTestUnit(''' |
3494 main() { | 3542 main() { |
3495 if (1 == 1 && 2 == 2 && 3 == 3) { | 3543 if (1 == 1 && 2 == 2 && 3 == 3) { |
3496 print(0); | 3544 print(0); |
3497 } | 3545 } |
3498 } | 3546 } |
3499 '''); | 3547 '''); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3569 '''); | 3617 '''); |
3570 // not binary expression | 3618 // not binary expression |
3571 await assertNoAssistAt('main() {', DartAssistKind.SPLIT_AND_CONDITION); | 3619 await assertNoAssistAt('main() {', DartAssistKind.SPLIT_AND_CONDITION); |
3572 // selection is not empty and includes more than just operator | 3620 // selection is not empty and includes more than just operator |
3573 { | 3621 { |
3574 length = 5; | 3622 length = 5; |
3575 await assertNoAssistAt('&& 2 == 2', DartAssistKind.SPLIT_AND_CONDITION); | 3623 await assertNoAssistAt('&& 2 == 2', DartAssistKind.SPLIT_AND_CONDITION); |
3576 } | 3624 } |
3577 } | 3625 } |
3578 | 3626 |
3579 test_splitAndCondition_wrong_hasElse() async { | 3627 test_splitVariableDeclaration_BAD_notOneVariable() async { |
3580 resolveTestUnit(''' | 3628 resolveTestUnit(''' |
3581 main() { | 3629 main() { |
3582 if (1 == 1 && 2 == 2) { | 3630 var v = 1, v2; |
3583 print(1); | |
3584 } else { | |
3585 print(2); | |
3586 } | |
3587 } | 3631 } |
3588 '''); | 3632 '''); |
3589 await assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); | 3633 await assertNoAssistAt('v = 1', DartAssistKind.SPLIT_VARIABLE_DECLARATION); |
3590 } | |
3591 | |
3592 test_splitAndCondition_wrong_notAnd() async { | |
3593 resolveTestUnit(''' | |
3594 main() { | |
3595 if (1 == 1 || 2 == 2) { | |
3596 print(0); | |
3597 } | |
3598 } | |
3599 '''); | |
3600 await assertNoAssistAt('|| 2', DartAssistKind.SPLIT_AND_CONDITION); | |
3601 } | |
3602 | |
3603 test_splitAndCondition_wrong_notPartOfIf() async { | |
3604 resolveTestUnit(''' | |
3605 main() { | |
3606 print(1 == 1 && 2 == 2); | |
3607 } | |
3608 '''); | |
3609 await assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); | |
3610 } | |
3611 | |
3612 test_splitAndCondition_wrong_notTopLevelAnd() async { | |
3613 resolveTestUnit(''' | |
3614 main() { | |
3615 if (true || (1 == 1 && 2 == 2)) { | |
3616 print(0); | |
3617 } | |
3618 if (true && (3 == 3 && 4 == 4)) { | |
3619 print(0); | |
3620 } | |
3621 } | |
3622 '''); | |
3623 await assertNoAssistAt('&& 2', DartAssistKind.SPLIT_AND_CONDITION); | |
3624 await assertNoAssistAt('&& 4', DartAssistKind.SPLIT_AND_CONDITION); | |
3625 } | 3634 } |
3626 | 3635 |
3627 test_splitVariableDeclaration_OK_onName() async { | 3636 test_splitVariableDeclaration_OK_onName() async { |
3628 resolveTestUnit(''' | 3637 resolveTestUnit(''' |
3629 main() { | 3638 main() { |
3630 var v = 1; | 3639 var v = 1; |
3631 } | 3640 } |
3632 '''); | 3641 '''); |
3633 await assertHasAssistAt( | 3642 await assertHasAssistAt( |
3634 'v =', | 3643 'v =', |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3668 'var ', | 3677 'var ', |
3669 DartAssistKind.SPLIT_VARIABLE_DECLARATION, | 3678 DartAssistKind.SPLIT_VARIABLE_DECLARATION, |
3670 ''' | 3679 ''' |
3671 main() { | 3680 main() { |
3672 var v; | 3681 var v; |
3673 v = 1; | 3682 v = 1; |
3674 } | 3683 } |
3675 '''); | 3684 '''); |
3676 } | 3685 } |
3677 | 3686 |
3678 test_splitVariableDeclaration_wrong_notOneVariable() async { | |
3679 resolveTestUnit(''' | |
3680 main() { | |
3681 var v = 1, v2; | |
3682 } | |
3683 '''); | |
3684 await assertNoAssistAt('v = 1', DartAssistKind.SPLIT_VARIABLE_DECLARATION); | |
3685 } | |
3686 | |
3687 test_surroundWith_block() async { | 3687 test_surroundWith_block() async { |
3688 resolveTestUnit(''' | 3688 resolveTestUnit(''' |
3689 main() { | 3689 main() { |
3690 // start | 3690 // start |
3691 print(0); | 3691 print(0); |
3692 print(1); | 3692 print(1); |
3693 // end | 3693 // end |
3694 } | 3694 } |
3695 '''); | 3695 '''); |
3696 _setStartEndSelection(); | 3696 _setStartEndSelection(); |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3910 positions.add(new Position(testFile, offset)); | 3910 positions.add(new Position(testFile, offset)); |
3911 } | 3911 } |
3912 return positions; | 3912 return positions; |
3913 } | 3913 } |
3914 | 3914 |
3915 void _setStartEndSelection() { | 3915 void _setStartEndSelection() { |
3916 offset = findOffset('// start\n') + '// start\n'.length; | 3916 offset = findOffset('// start\n') + '// start\n'.length; |
3917 length = findOffset('// end') - offset; | 3917 length = findOffset('// end') - offset; |
3918 } | 3918 } |
3919 } | 3919 } |
OLD | NEW |