| 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 |