| 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 // This code was auto-generated, is not intended to be edited, and is subject to | 5 // This code was auto-generated, is not intended to be edited, and is subject to |
| 6 // significant change. Please see the README file for more information. | 6 // significant change. Please see the README file for more information. |
| 7 | 7 |
| 8 library test.services.correction.assist; | 8 library test.services.correction.assist; |
| 9 | 9 |
| 10 import 'package:analysis_services/correction/assist.dart'; | 10 import 'package:analysis_services/correction/assist.dart'; |
| (...skipping 883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 void test_exchangeBinaryExpressionArguments_wrong_selectionWithBinary() { | 894 void test_exchangeBinaryExpressionArguments_wrong_selectionWithBinary() { |
| 895 _indexTestUnit(''' | 895 _indexTestUnit(''' |
| 896 main() { | 896 main() { |
| 897 1 + 2 + 3; | 897 1 + 2 + 3; |
| 898 } | 898 } |
| 899 '''); | 899 '''); |
| 900 length = '1 + 2 + 3'.length; | 900 length = '1 + 2 + 3'.length; |
| 901 assertNoAssistAt('1 + 2 + 3', AssistKind.EXCHANGE_OPERANDS); | 901 assertNoAssistAt('1 + 2 + 3', AssistKind.EXCHANGE_OPERANDS); |
| 902 } | 902 } |
| 903 | 903 |
| 904 void test_importAddShow_BAD_hasShow() { |
| 905 _indexTestUnit(''' |
| 906 import 'dart:math' show PI; |
| 907 main() { |
| 908 PI; |
| 909 } |
| 910 '''); |
| 911 assertNoAssistAt('import ', AssistKind.IMPORT_ADD_SHOW); |
| 912 } |
| 913 |
| 914 void test_importAddShow_BAD_unused() { |
| 915 _indexTestUnit(''' |
| 916 import 'dart:math'; |
| 917 '''); |
| 918 assertNoAssistAt('import ', AssistKind.IMPORT_ADD_SHOW); |
| 919 } |
| 920 |
| 921 void test_importAddShow_OK_onDirective() { |
| 922 _indexTestUnit(''' |
| 923 import 'dart:math'; |
| 924 main() { |
| 925 PI; |
| 926 E; |
| 927 max(1, 2); |
| 928 } |
| 929 '''); |
| 930 assertHasAssistAt('import ', AssistKind.IMPORT_ADD_SHOW, ''' |
| 931 import 'dart:math' show E, PI, max; |
| 932 main() { |
| 933 PI; |
| 934 E; |
| 935 max(1, 2); |
| 936 } |
| 937 '''); |
| 938 } |
| 939 |
| 940 void test_importAddShow_OK_onUri() { |
| 941 _indexTestUnit(''' |
| 942 import 'dart:math'; |
| 943 main() { |
| 944 PI; |
| 945 E; |
| 946 max(1, 2); |
| 947 } |
| 948 '''); |
| 949 assertHasAssistAt('art:math', AssistKind.IMPORT_ADD_SHOW, ''' |
| 950 import 'dart:math' show E, PI, max; |
| 951 main() { |
| 952 PI; |
| 953 E; |
| 954 max(1, 2); |
| 955 } |
| 956 '''); |
| 957 } |
| 958 |
| 959 void test_invertIfStatement_blocks() { |
| 960 _indexTestUnit(''' |
| 961 main() { |
| 962 if (true) { |
| 963 0; |
| 964 } else { |
| 965 1; |
| 966 } |
| 967 } |
| 968 '''); |
| 969 assertHasAssistAt('if (', AssistKind.INVERT_IF_STATEMENT, ''' |
| 970 main() { |
| 971 if (false) { |
| 972 1; |
| 973 } else { |
| 974 0; |
| 975 } |
| 976 } |
| 977 '''); |
| 978 } |
| 979 |
| 980 void test_invertIfStatement_statements() { |
| 981 _indexTestUnit(''' |
| 982 main() { |
| 983 if (true) |
| 984 0; |
| 985 else |
| 986 1; |
| 987 } |
| 988 '''); |
| 989 assertHasAssistAt('if (', AssistKind.INVERT_IF_STATEMENT, ''' |
| 990 main() { |
| 991 if (false) |
| 992 1; |
| 993 else |
| 994 0; |
| 995 } |
| 996 '''); |
| 997 } |
| 998 |
| 999 void test_joinIfStatementInner_OK_conditionAndOr() { |
| 1000 _indexTestUnit(''' |
| 1001 main() { |
| 1002 if (1 == 1) { |
| 1003 if (2 == 2 || 3 == 3) { |
| 1004 print(0); |
| 1005 } |
| 1006 } |
| 1007 } |
| 1008 '''); |
| 1009 assertHasAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1010 main() { |
| 1011 if (1 == 1 && (2 == 2 || 3 == 3)) { |
| 1012 print(0); |
| 1013 } |
| 1014 } |
| 1015 '''); |
| 1016 } |
| 1017 |
| 1018 void test_joinIfStatementInner_OK_conditionInvocation() { |
| 1019 _indexTestUnit(''' |
| 1020 main() { |
| 1021 if (isCheck()) { |
| 1022 if (2 == 2) { |
| 1023 print(0); |
| 1024 } |
| 1025 } |
| 1026 } |
| 1027 bool isCheck() => false; |
| 1028 '''); |
| 1029 assertHasAssistAt('if (isCheck', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1030 main() { |
| 1031 if (isCheck() && 2 == 2) { |
| 1032 print(0); |
| 1033 } |
| 1034 } |
| 1035 bool isCheck() => false; |
| 1036 '''); |
| 1037 } |
| 1038 |
| 1039 void test_joinIfStatementInner_OK_conditionOrAnd() { |
| 1040 _indexTestUnit(''' |
| 1041 main() { |
| 1042 if (1 == 1 || 2 == 2) { |
| 1043 if (3 == 3) { |
| 1044 print(0); |
| 1045 } |
| 1046 } |
| 1047 } |
| 1048 '''); |
| 1049 assertHasAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1050 main() { |
| 1051 if ((1 == 1 || 2 == 2) && 3 == 3) { |
| 1052 print(0); |
| 1053 } |
| 1054 } |
| 1055 '''); |
| 1056 } |
| 1057 |
| 1058 void test_joinIfStatementInner_OK_onCondition() { |
| 1059 _indexTestUnit(''' |
| 1060 main() { |
| 1061 if (1 == 1) { |
| 1062 if (2 == 2) { |
| 1063 print(0); |
| 1064 } |
| 1065 } |
| 1066 } |
| 1067 '''); |
| 1068 assertHasAssistAt('1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1069 main() { |
| 1070 if (1 == 1 && 2 == 2) { |
| 1071 print(0); |
| 1072 } |
| 1073 } |
| 1074 '''); |
| 1075 } |
| 1076 |
| 1077 void test_joinIfStatementInner_OK_simpleConditions_block_block() { |
| 1078 _indexTestUnit(''' |
| 1079 main() { |
| 1080 if (1 == 1) { |
| 1081 if (2 == 2) { |
| 1082 print(0); |
| 1083 } |
| 1084 } |
| 1085 } |
| 1086 '''); |
| 1087 assertHasAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1088 main() { |
| 1089 if (1 == 1 && 2 == 2) { |
| 1090 print(0); |
| 1091 } |
| 1092 } |
| 1093 '''); |
| 1094 } |
| 1095 |
| 1096 void test_joinIfStatementInner_OK_simpleConditions_block_single() { |
| 1097 _indexTestUnit(''' |
| 1098 main() { |
| 1099 if (1 == 1) { |
| 1100 if (2 == 2) |
| 1101 print(0); |
| 1102 } |
| 1103 } |
| 1104 '''); |
| 1105 assertHasAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1106 main() { |
| 1107 if (1 == 1 && 2 == 2) { |
| 1108 print(0); |
| 1109 } |
| 1110 } |
| 1111 '''); |
| 1112 } |
| 1113 |
| 1114 void test_joinIfStatementInner_OK_simpleConditions_single_blockMulti() { |
| 1115 _indexTestUnit(''' |
| 1116 main() { |
| 1117 if (1 == 1) { |
| 1118 if (2 == 2) { |
| 1119 print(1); |
| 1120 print(2); |
| 1121 print(3); |
| 1122 } |
| 1123 } |
| 1124 } |
| 1125 '''); |
| 1126 assertHasAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1127 main() { |
| 1128 if (1 == 1 && 2 == 2) { |
| 1129 print(1); |
| 1130 print(2); |
| 1131 print(3); |
| 1132 } |
| 1133 } |
| 1134 '''); |
| 1135 } |
| 1136 |
| 1137 void test_joinIfStatementInner_OK_simpleConditions_single_blockOne() { |
| 1138 _indexTestUnit(''' |
| 1139 main() { |
| 1140 if (1 == 1) |
| 1141 if (2 == 2) { |
| 1142 print(0); |
| 1143 } |
| 1144 } |
| 1145 '''); |
| 1146 assertHasAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER, ''' |
| 1147 main() { |
| 1148 if (1 == 1 && 2 == 2) { |
| 1149 print(0); |
| 1150 } |
| 1151 } |
| 1152 '''); |
| 1153 } |
| 1154 |
| 1155 void test_joinIfStatementInner_wrong_innerNotIf() { |
| 1156 _indexTestUnit(''' |
| 1157 main() { |
| 1158 if (1 == 1) { |
| 1159 print(0); |
| 1160 } |
| 1161 } |
| 1162 '''); |
| 1163 assertNoAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER); |
| 1164 } |
| 1165 |
| 1166 void test_joinIfStatementInner_wrong_innerWithElse() { |
| 1167 _indexTestUnit(''' |
| 1168 main() { |
| 1169 if (1 == 1) { |
| 1170 if (2 == 2) { |
| 1171 print(0); |
| 1172 } else { |
| 1173 print(1); |
| 1174 } |
| 1175 } |
| 1176 } |
| 1177 '''); |
| 1178 assertNoAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER); |
| 1179 } |
| 1180 |
| 1181 void test_joinIfStatementInner_wrong_targetNotIf() { |
| 1182 _indexTestUnit(''' |
| 1183 main() { |
| 1184 print(0); |
| 1185 } |
| 1186 '''); |
| 1187 assertNoAssistAt('print', AssistKind.JOIN_IF_WITH_INNER); |
| 1188 } |
| 1189 |
| 1190 void test_joinIfStatementInner_wrong_targetWithElse() { |
| 1191 _indexTestUnit(''' |
| 1192 main() { |
| 1193 if (1 == 1) { |
| 1194 if (2 == 2) { |
| 1195 print(0); |
| 1196 } |
| 1197 } else { |
| 1198 print(1); |
| 1199 } |
| 1200 } |
| 1201 '''); |
| 1202 assertNoAssistAt('if (1 ==', AssistKind.JOIN_IF_WITH_INNER); |
| 1203 } |
| 1204 |
| 1205 void test_joinIfStatementOuter_OK_conditionAndOr() { |
| 1206 _indexTestUnit(''' |
| 1207 main() { |
| 1208 if (1 == 1) { |
| 1209 if (2 == 2 || 3 == 3) { |
| 1210 print(0); |
| 1211 } |
| 1212 } |
| 1213 } |
| 1214 '''); |
| 1215 assertHasAssistAt('if (2 ==', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1216 main() { |
| 1217 if (1 == 1 && (2 == 2 || 3 == 3)) { |
| 1218 print(0); |
| 1219 } |
| 1220 } |
| 1221 '''); |
| 1222 } |
| 1223 |
| 1224 void test_joinIfStatementOuter_OK_conditionInvocation() { |
| 1225 _indexTestUnit(''' |
| 1226 main() { |
| 1227 if (1 == 1) { |
| 1228 if (isCheck()) { |
| 1229 print(0); |
| 1230 } |
| 1231 } |
| 1232 } |
| 1233 bool isCheck() => false; |
| 1234 '''); |
| 1235 assertHasAssistAt('if (isCheck', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1236 main() { |
| 1237 if (1 == 1 && isCheck()) { |
| 1238 print(0); |
| 1239 } |
| 1240 } |
| 1241 bool isCheck() => false; |
| 1242 '''); |
| 1243 } |
| 1244 |
| 1245 void test_joinIfStatementOuter_OK_conditionOrAnd() { |
| 1246 _indexTestUnit(''' |
| 1247 main() { |
| 1248 if (1 == 1 || 2 == 2) { |
| 1249 if (3 == 3) { |
| 1250 print(0); |
| 1251 } |
| 1252 } |
| 1253 } |
| 1254 '''); |
| 1255 assertHasAssistAt('if (3 == 3', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1256 main() { |
| 1257 if ((1 == 1 || 2 == 2) && 3 == 3) { |
| 1258 print(0); |
| 1259 } |
| 1260 } |
| 1261 '''); |
| 1262 } |
| 1263 |
| 1264 void test_joinIfStatementOuter_OK_onCondition() { |
| 1265 _indexTestUnit(''' |
| 1266 main() { |
| 1267 if (1 == 1) { |
| 1268 if (2 == 2) { |
| 1269 print(0); |
| 1270 } |
| 1271 } |
| 1272 } |
| 1273 '''); |
| 1274 assertHasAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1275 main() { |
| 1276 if (1 == 1 && 2 == 2) { |
| 1277 print(0); |
| 1278 } |
| 1279 } |
| 1280 '''); |
| 1281 } |
| 1282 |
| 1283 void test_joinIfStatementOuter_OK_simpleConditions_block_block() { |
| 1284 _indexTestUnit(''' |
| 1285 main() { |
| 1286 if (1 == 1) { |
| 1287 if (2 == 2) { |
| 1288 print(0); |
| 1289 } |
| 1290 } |
| 1291 } |
| 1292 '''); |
| 1293 assertHasAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1294 main() { |
| 1295 if (1 == 1 && 2 == 2) { |
| 1296 print(0); |
| 1297 } |
| 1298 } |
| 1299 '''); |
| 1300 } |
| 1301 |
| 1302 void test_joinIfStatementOuter_OK_simpleConditions_block_single() { |
| 1303 _indexTestUnit(''' |
| 1304 main() { |
| 1305 if (1 == 1) { |
| 1306 if (2 == 2) |
| 1307 print(0); |
| 1308 } |
| 1309 } |
| 1310 '''); |
| 1311 assertHasAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1312 main() { |
| 1313 if (1 == 1 && 2 == 2) { |
| 1314 print(0); |
| 1315 } |
| 1316 } |
| 1317 '''); |
| 1318 } |
| 1319 |
| 1320 void test_joinIfStatementOuter_OK_simpleConditions_single_blockMulti() { |
| 1321 _indexTestUnit(''' |
| 1322 main() { |
| 1323 if (1 == 1) { |
| 1324 if (2 == 2) { |
| 1325 print(1); |
| 1326 print(2); |
| 1327 print(3); |
| 1328 } |
| 1329 } |
| 1330 } |
| 1331 '''); |
| 1332 assertHasAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1333 main() { |
| 1334 if (1 == 1 && 2 == 2) { |
| 1335 print(1); |
| 1336 print(2); |
| 1337 print(3); |
| 1338 } |
| 1339 } |
| 1340 '''); |
| 1341 } |
| 1342 |
| 1343 void test_joinIfStatementOuter_OK_simpleConditions_single_blockOne() { |
| 1344 _indexTestUnit(''' |
| 1345 main() { |
| 1346 if (1 == 1) |
| 1347 if (2 == 2) { |
| 1348 print(0); |
| 1349 } |
| 1350 } |
| 1351 '''); |
| 1352 assertHasAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER, ''' |
| 1353 main() { |
| 1354 if (1 == 1 && 2 == 2) { |
| 1355 print(0); |
| 1356 } |
| 1357 } |
| 1358 '''); |
| 1359 } |
| 1360 |
| 1361 void test_joinIfStatementOuter_wrong_outerNotIf() { |
| 1362 _indexTestUnit(''' |
| 1363 main() { |
| 1364 if (1 == 1) { |
| 1365 print(0); |
| 1366 } |
| 1367 } |
| 1368 '''); |
| 1369 assertNoAssistAt('if (1 == 1', AssistKind.JOIN_IF_WITH_OUTER); |
| 1370 } |
| 1371 |
| 1372 void test_joinIfStatementOuter_wrong_outerWithElse() { |
| 1373 _indexTestUnit(''' |
| 1374 main() { |
| 1375 if (1 == 1) { |
| 1376 if (2 == 2) { |
| 1377 print(0); |
| 1378 } |
| 1379 } else { |
| 1380 print(1); |
| 1381 } |
| 1382 } |
| 1383 '''); |
| 1384 assertNoAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER); |
| 1385 } |
| 1386 |
| 1387 void test_joinIfStatementOuter_wrong_targetNotIf() { |
| 1388 _indexTestUnit(''' |
| 1389 main() { |
| 1390 print(0); |
| 1391 } |
| 1392 '''); |
| 1393 assertNoAssistAt('print', AssistKind.JOIN_IF_WITH_OUTER); |
| 1394 } |
| 1395 |
| 1396 void test_joinIfStatementOuter_wrong_targetWithElse() { |
| 1397 _indexTestUnit(''' |
| 1398 main() { |
| 1399 if (1 == 1) { |
| 1400 if (2 == 2) { |
| 1401 print(0); |
| 1402 } else { |
| 1403 print(1); |
| 1404 } |
| 1405 } |
| 1406 } |
| 1407 '''); |
| 1408 assertNoAssistAt('if (2 == 2', AssistKind.JOIN_IF_WITH_OUTER); |
| 1409 } |
| 1410 |
| 904 void test_joinVariableDeclaration_onAssignment_OK() { | 1411 void test_joinVariableDeclaration_onAssignment_OK() { |
| 905 _indexTestUnit(''' | 1412 _indexTestUnit(''' |
| 906 main() { | 1413 main() { |
| 907 var v; | 1414 var v; |
| 908 v = 1; | 1415 v = 1; |
| 909 } | 1416 } |
| 910 '''); | 1417 '''); |
| 911 assertHasAssistAt('v =', AssistKind.JOIN_VARIABLE_DECLARATION, ''' | 1418 assertHasAssistAt('v =', AssistKind.JOIN_VARIABLE_DECLARATION, ''' |
| 912 main() { | 1419 main() { |
| 913 var v = 1; | 1420 var v = 1; |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1200 int a = 1, vvv, b = 2; | 1707 int a = 1, vvv, b = 2; |
| 1201 if (true) { | 1708 if (true) { |
| 1202 vvv = 111; | 1709 vvv = 111; |
| 1203 } else { | 1710 } else { |
| 1204 vvv = 222; | 1711 vvv = 222; |
| 1205 } | 1712 } |
| 1206 } | 1713 } |
| 1207 '''); | 1714 '''); |
| 1208 } | 1715 } |
| 1209 | 1716 |
| 1717 void test_replaceConditionalWithIfElse_wrong_noEnclosingStatement() { |
| 1718 _indexTestUnit(''' |
| 1719 var v = true ? 111 : 222; |
| 1720 '''); |
| 1721 assertNoAssistAt('? 111', AssistKind.REPLACE_CONDITIONAL_WITH_IF_ELSE); |
| 1722 } |
| 1723 |
| 1724 void test_replaceIfElseWithConditional_OK_assignment() { |
| 1725 _indexTestUnit(''' |
| 1726 main() { |
| 1727 int vvv; |
| 1728 if (true) { |
| 1729 vvv = 111; |
| 1730 } else { |
| 1731 vvv = 222; |
| 1732 } |
| 1733 } |
| 1734 '''); |
| 1735 assertHasAssistAt( |
| 1736 'if (true)', |
| 1737 AssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, |
| 1738 ''' |
| 1739 main() { |
| 1740 int vvv; |
| 1741 vvv = true ? 111 : 222; |
| 1742 } |
| 1743 '''); |
| 1744 } |
| 1745 |
| 1746 void test_replaceIfElseWithConditional_OK_return() { |
| 1747 _indexTestUnit(''' |
| 1748 main() { |
| 1749 if (true) { |
| 1750 return 111; |
| 1751 } else { |
| 1752 return 222; |
| 1753 } |
| 1754 } |
| 1755 '''); |
| 1756 assertHasAssistAt( |
| 1757 'if (true)', |
| 1758 AssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL, |
| 1759 ''' |
| 1760 main() { |
| 1761 return true ? 111 : 222; |
| 1762 } |
| 1763 '''); |
| 1764 } |
| 1765 |
| 1766 void test_replaceIfElseWithConditional_wrong_notIfStatement() { |
| 1767 _indexTestUnit(''' |
| 1768 main() { |
| 1769 print(0); |
| 1770 } |
| 1771 '''); |
| 1772 assertNoAssistAt('print', AssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); |
| 1773 } |
| 1774 |
| 1775 void test_replaceIfElseWithConditional_wrong_notSingleStatememt() { |
| 1776 _indexTestUnit(''' |
| 1777 main() { |
| 1778 int vvv; |
| 1779 if (true) { |
| 1780 print(0); |
| 1781 vvv = 111; |
| 1782 } else { |
| 1783 print(0); |
| 1784 vvv = 222; |
| 1785 } |
| 1786 } |
| 1787 '''); |
| 1788 assertNoAssistAt('if (true)', AssistKind.REPLACE_IF_ELSE_WITH_CONDITIONAL); |
| 1789 } |
| 1790 |
| 1791 void test_splitAndCondition_OK_innerAndExpression() { |
| 1792 _indexTestUnit(''' |
| 1793 main() { |
| 1794 if (1 == 1 && 2 == 2 && 3 == 3) { |
| 1795 print(0); |
| 1796 } |
| 1797 } |
| 1798 '''); |
| 1799 assertHasAssistAt('&& 2 == 2', AssistKind.SPLIT_AND_CONDITION, ''' |
| 1800 main() { |
| 1801 if (1 == 1) { |
| 1802 if (2 == 2 && 3 == 3) { |
| 1803 print(0); |
| 1804 } |
| 1805 } |
| 1806 } |
| 1807 '''); |
| 1808 } |
| 1809 |
| 1810 void test_splitAndCondition_OK_thenBlock() { |
| 1811 _indexTestUnit(''' |
| 1812 main() { |
| 1813 if (true && false) { |
| 1814 print(0); |
| 1815 if (3 == 3) { |
| 1816 print(1); |
| 1817 } |
| 1818 } |
| 1819 } |
| 1820 '''); |
| 1821 assertHasAssistAt('&& false', AssistKind.SPLIT_AND_CONDITION, ''' |
| 1822 main() { |
| 1823 if (true) { |
| 1824 if (false) { |
| 1825 print(0); |
| 1826 if (3 == 3) { |
| 1827 print(1); |
| 1828 } |
| 1829 } |
| 1830 } |
| 1831 } |
| 1832 '''); |
| 1833 } |
| 1834 |
| 1835 void test_splitAndCondition_OK_thenBlock_elseBlock() { |
| 1836 _indexTestUnit(''' |
| 1837 main() { |
| 1838 if (true && false) { |
| 1839 print(0); |
| 1840 } else { |
| 1841 print(1); |
| 1842 if (2 == 2) { |
| 1843 print(2); |
| 1844 } |
| 1845 } |
| 1846 } |
| 1847 '''); |
| 1848 assertHasAssistAt('&& false', AssistKind.SPLIT_AND_CONDITION, ''' |
| 1849 main() { |
| 1850 if (true) { |
| 1851 if (false) { |
| 1852 print(0); |
| 1853 } else { |
| 1854 print(1); |
| 1855 if (2 == 2) { |
| 1856 print(2); |
| 1857 } |
| 1858 } |
| 1859 } |
| 1860 } |
| 1861 '''); |
| 1862 } |
| 1863 |
| 1864 void test_splitAndCondition_OK_thenStatement() { |
| 1865 _indexTestUnit(''' |
| 1866 main() { |
| 1867 if (true && false) |
| 1868 print(0); |
| 1869 } |
| 1870 '''); |
| 1871 assertHasAssistAt('&& false', AssistKind.SPLIT_AND_CONDITION, ''' |
| 1872 main() { |
| 1873 if (true) |
| 1874 if (false) |
| 1875 print(0); |
| 1876 } |
| 1877 '''); |
| 1878 } |
| 1879 |
| 1880 void test_splitAndCondition_OK_thenStatement_elseStatement() { |
| 1881 _indexTestUnit(''' |
| 1882 main() { |
| 1883 if (true && false) |
| 1884 print(0); |
| 1885 else |
| 1886 print(1); |
| 1887 } |
| 1888 '''); |
| 1889 assertHasAssistAt('&& false', AssistKind.SPLIT_AND_CONDITION, ''' |
| 1890 main() { |
| 1891 if (true) |
| 1892 if (false) |
| 1893 print(0); |
| 1894 else |
| 1895 print(1); |
| 1896 } |
| 1897 '''); |
| 1898 } |
| 1899 |
| 1900 void test_splitAndCondition_wrong() { |
| 1901 _indexTestUnit(''' |
| 1902 main() { |
| 1903 if (1 == 1 && 2 == 2) { |
| 1904 print(0); |
| 1905 } |
| 1906 print(3 == 3 && 4 == 4); |
| 1907 } |
| 1908 '''); |
| 1909 // not binary expression |
| 1910 assertNoAssistAt('main() {', AssistKind.SPLIT_AND_CONDITION); |
| 1911 // selection is not empty and includes more than just operator |
| 1912 { |
| 1913 length = 5; |
| 1914 assertNoAssistAt('&& 2 == 2', AssistKind.SPLIT_AND_CONDITION); |
| 1915 } |
| 1916 } |
| 1917 |
| 1918 void test_splitAndCondition_wrong_notAnd() { |
| 1919 _indexTestUnit(''' |
| 1920 main() { |
| 1921 if (1 == 1 || 2 == 2) { |
| 1922 print(0); |
| 1923 } |
| 1924 } |
| 1925 '''); |
| 1926 assertNoAssistAt('|| 2', AssistKind.SPLIT_AND_CONDITION); |
| 1927 } |
| 1928 |
| 1929 void test_splitAndCondition_wrong_notPartOfIf() { |
| 1930 _indexTestUnit(''' |
| 1931 main() { |
| 1932 print(1 == 1 && 2 == 2); |
| 1933 } |
| 1934 '''); |
| 1935 assertNoAssistAt('&& 2', AssistKind.SPLIT_AND_CONDITION); |
| 1936 } |
| 1937 |
| 1938 void test_splitAndCondition_wrong_notTopLevelAnd() { |
| 1939 _indexTestUnit(''' |
| 1940 main() { |
| 1941 if (true || (1 == 1 && 2 == 2)) { |
| 1942 print(0); |
| 1943 } |
| 1944 if (true && (3 == 3 && 4 == 4)) { |
| 1945 print(0); |
| 1946 } |
| 1947 } |
| 1948 '''); |
| 1949 assertNoAssistAt('&& 2', AssistKind.SPLIT_AND_CONDITION); |
| 1950 assertNoAssistAt('&& 4', AssistKind.SPLIT_AND_CONDITION); |
| 1951 } |
| 1952 |
| 1953 void test_splitVariableDeclaration_OK_onName() { |
| 1954 _indexTestUnit(''' |
| 1955 main() { |
| 1956 var v = 1; |
| 1957 } |
| 1958 '''); |
| 1959 assertHasAssistAt('v =', AssistKind.SPLIT_VARIABLE_DECLARATION, ''' |
| 1960 main() { |
| 1961 var v; |
| 1962 v = 1; |
| 1963 } |
| 1964 '''); |
| 1965 } |
| 1966 |
| 1967 void test_splitVariableDeclaration_OK_onType() { |
| 1968 _indexTestUnit(''' |
| 1969 main() { |
| 1970 int v = 1; |
| 1971 } |
| 1972 '''); |
| 1973 assertHasAssistAt('int ', AssistKind.SPLIT_VARIABLE_DECLARATION, ''' |
| 1974 main() { |
| 1975 int v; |
| 1976 v = 1; |
| 1977 } |
| 1978 '''); |
| 1979 } |
| 1980 |
| 1981 void test_splitVariableDeclaration_OK_onVar() { |
| 1982 _indexTestUnit(''' |
| 1983 main() { |
| 1984 var v = 1; |
| 1985 } |
| 1986 '''); |
| 1987 assertHasAssistAt('var ', AssistKind.SPLIT_VARIABLE_DECLARATION, ''' |
| 1988 main() { |
| 1989 var v; |
| 1990 v = 1; |
| 1991 } |
| 1992 '''); |
| 1993 } |
| 1994 |
| 1995 void test_splitVariableDeclaration_wrong_notOneVariable() { |
| 1996 _indexTestUnit(''' |
| 1997 main() { |
| 1998 var v = 1, v2; |
| 1999 } |
| 2000 '''); |
| 2001 assertNoAssistAt('v = 1', AssistKind.SPLIT_VARIABLE_DECLARATION); |
| 2002 } |
| 2003 |
| 1210 String _applyEdits(String code, List<Edit> edits) { | 2004 String _applyEdits(String code, List<Edit> edits) { |
| 1211 edits.sort((a, b) => b.offset - a.offset); | 2005 edits.sort((a, b) => b.offset - a.offset); |
| 1212 edits.forEach((Edit edit) { | 2006 edits.forEach((Edit edit) { |
| 1213 code = code.substring(0, edit.offset) + | 2007 code = code.substring(0, edit.offset) + |
| 1214 edit.replacement + | 2008 edit.replacement + |
| 1215 code.substring(edit.end); | 2009 code.substring(edit.end); |
| 1216 }); | 2010 }); |
| 1217 return code; | 2011 return code; |
| 1218 } | 2012 } |
| 1219 | 2013 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1263 positions.add(new Position(testFile, offset, length)); | 2057 positions.add(new Position(testFile, offset, length)); |
| 1264 } | 2058 } |
| 1265 return positions; | 2059 return positions; |
| 1266 } | 2060 } |
| 1267 | 2061 |
| 1268 void _indexTestUnit(String code) { | 2062 void _indexTestUnit(String code) { |
| 1269 resolveTestUnit(code); | 2063 resolveTestUnit(code); |
| 1270 index.indexUnit(context, testUnit); | 2064 index.indexUnit(context, testUnit); |
| 1271 } | 2065 } |
| 1272 } | 2066 } |
| OLD | NEW |