| 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 'package:analysis_server/src/protocol.dart'; | 7 import 'package:analysis_server/src/protocol.dart'; |
| 8 import 'package:analysis_server/src/services/correction/assist.dart'; | 8 import 'package:analysis_server/src/services/correction/assist.dart'; |
| 9 import 'package:analyzer/src/generated/source.dart'; | 9 import 'package:analyzer/src/generated/source.dart'; |
| 10 import 'package:unittest/unittest.dart'; | 10 import 'package:unittest/unittest.dart'; |
| (...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 839 | 839 |
| 840 void test_convertToExpressionBody_wrong_noReturnValue() { | 840 void test_convertToExpressionBody_wrong_noReturnValue() { |
| 841 resolveTestUnit(''' | 841 resolveTestUnit(''' |
| 842 fff() { | 842 fff() { |
| 843 return; | 843 return; |
| 844 } | 844 } |
| 845 '''); | 845 '''); |
| 846 assertNoAssistAt('fff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY); | 846 assertNoAssistAt('fff()', AssistKind.CONVERT_INTO_EXPRESSION_BODY); |
| 847 } | 847 } |
| 848 | 848 |
| 849 void test_convertToForIndex_BAD_bodyNotBlock() { |
| 850 resolveTestUnit(''' |
| 851 main(List<String> items) { |
| 852 for (String item in items) print(item); |
| 853 } |
| 854 '''); |
| 855 assertNoAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX); |
| 856 } |
| 857 |
| 858 void test_convertToForIndex_BAD_doesNotDeclareVariable() { |
| 859 resolveTestUnit(''' |
| 860 main(List<String> items) { |
| 861 String item; |
| 862 for (item in items) { |
| 863 print(item); |
| 864 } |
| 865 } |
| 866 '''); |
| 867 assertNoAssistAt('for (item', AssistKind.CONVERT_INTO_FOR_INDEX); |
| 868 } |
| 869 |
| 870 void test_convertToForIndex_BAD_iterableIsNotVariable() { |
| 871 resolveTestUnit(''' |
| 872 main() { |
| 873 for (String item in ['a', 'b', 'c']) { |
| 874 print(item); |
| 875 } |
| 876 } |
| 877 '''); |
| 878 assertNoAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX); |
| 879 } |
| 880 |
| 881 void test_convertToForIndex_BAD_iterableNotList() { |
| 882 resolveTestUnit(''' |
| 883 main(Iterable<String> items) { |
| 884 for (String item in items) { |
| 885 print(item); |
| 886 } |
| 887 } |
| 888 '''); |
| 889 assertNoAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX); |
| 890 } |
| 891 |
| 892 void test_convertToForIndex_BAD_usesIJK() { |
| 893 resolveTestUnit(''' |
| 894 main(List<String> items) { |
| 895 for (String item in items) { |
| 896 print(item); |
| 897 int i, j, k; |
| 898 } |
| 899 } |
| 900 '''); |
| 901 assertNoAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX); |
| 902 } |
| 903 |
| 904 void test_convertToForIndex_OK_onDeclaredIdentifier_name() { |
| 905 resolveTestUnit(''' |
| 906 main(List<String> items) { |
| 907 for (String item in items) { |
| 908 print(item); |
| 909 } |
| 910 } |
| 911 '''); |
| 912 assertHasAssistAt('item in', AssistKind.CONVERT_INTO_FOR_INDEX, ''' |
| 913 main(List<String> items) { |
| 914 for (int i = 0; i < items.length; i++) { |
| 915 String item = items[i]; |
| 916 print(item); |
| 917 } |
| 918 } |
| 919 '''); |
| 920 } |
| 921 |
| 922 void test_convertToForIndex_OK_onDeclaredIdentifier_type() { |
| 923 resolveTestUnit(''' |
| 924 main(List<String> items) { |
| 925 for (String item in items) { |
| 926 print(item); |
| 927 } |
| 928 } |
| 929 '''); |
| 930 assertHasAssistAt('tring item', AssistKind.CONVERT_INTO_FOR_INDEX, ''' |
| 931 main(List<String> items) { |
| 932 for (int i = 0; i < items.length; i++) { |
| 933 String item = items[i]; |
| 934 print(item); |
| 935 } |
| 936 } |
| 937 '''); |
| 938 } |
| 939 |
| 940 void test_convertToForIndex_OK_onFor() { |
| 941 resolveTestUnit(''' |
| 942 main(List<String> items) { |
| 943 for (String item in items) { |
| 944 print(item); |
| 945 } |
| 946 } |
| 947 '''); |
| 948 assertHasAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX, ''' |
| 949 main(List<String> items) { |
| 950 for (int i = 0; i < items.length; i++) { |
| 951 String item = items[i]; |
| 952 print(item); |
| 953 } |
| 954 } |
| 955 '''); |
| 956 } |
| 957 |
| 958 void test_convertToForIndex_OK_usesI() { |
| 959 resolveTestUnit(''' |
| 960 main(List<String> items) { |
| 961 for (String item in items) { |
| 962 int i = 0; |
| 963 } |
| 964 } |
| 965 '''); |
| 966 assertHasAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX, ''' |
| 967 main(List<String> items) { |
| 968 for (int j = 0; j < items.length; j++) { |
| 969 String item = items[j]; |
| 970 int i = 0; |
| 971 } |
| 972 } |
| 973 '''); |
| 974 } |
| 975 |
| 976 void test_convertToForIndex_OK_usesIJ() { |
| 977 resolveTestUnit(''' |
| 978 main(List<String> items) { |
| 979 for (String item in items) { |
| 980 print(item); |
| 981 int i = 0, j = 1; |
| 982 } |
| 983 } |
| 984 '''); |
| 985 assertHasAssistAt('for (String', AssistKind.CONVERT_INTO_FOR_INDEX, ''' |
| 986 main(List<String> items) { |
| 987 for (int k = 0; k < items.length; k++) { |
| 988 String item = items[k]; |
| 989 print(item); |
| 990 int i = 0, j = 1; |
| 991 } |
| 992 } |
| 993 '''); |
| 994 } |
| 995 |
| 849 void test_convertToIsNot_OK_childOfIs_left() { | 996 void test_convertToIsNot_OK_childOfIs_left() { |
| 850 resolveTestUnit(''' | 997 resolveTestUnit(''' |
| 851 main(p) { | 998 main(p) { |
| 852 !(p is String); | 999 !(p is String); |
| 853 } | 1000 } |
| 854 '''); | 1001 '''); |
| 855 assertHasAssistAt('p is', AssistKind.CONVERT_INTO_IS_NOT, ''' | 1002 assertHasAssistAt('p is', AssistKind.CONVERT_INTO_IS_NOT, ''' |
| 856 main(p) { | 1003 main(p) { |
| 857 p is! String; | 1004 p is! String; |
| 858 } | 1005 } |
| (...skipping 1773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2632 positions.add(new Position(testFile, offset)); | 2779 positions.add(new Position(testFile, offset)); |
| 2633 } | 2780 } |
| 2634 return positions; | 2781 return positions; |
| 2635 } | 2782 } |
| 2636 | 2783 |
| 2637 void _setStartEndSelection() { | 2784 void _setStartEndSelection() { |
| 2638 offset = findOffset('// start\n') + '// start\n'.length; | 2785 offset = findOffset('// start\n') + '// start\n'.length; |
| 2639 length = findOffset('// end') - offset; | 2786 length = findOffset('// end') - offset; |
| 2640 } | 2787 } |
| 2641 } | 2788 } |
| OLD | NEW |