| 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/edit/assist/assist_dart.dart'; | 10 import 'package:analysis_server/plugin/edit/assist/assist_dart.dart'; |
| (...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1029 ''' | 1029 ''' |
| 1030 class A { | 1030 class A { |
| 1031 /// AAAAAAA [int] AAAAAAA | 1031 /// AAAAAAA [int] AAAAAAA |
| 1032 /// BBBBBBBB BBBB BBBB | 1032 /// BBBBBBBB BBBB BBBB |
| 1033 /// CCC [A] CCCCCCCCCCC | 1033 /// CCC [A] CCCCCCCCCCC |
| 1034 mmm() {} | 1034 mmm() {} |
| 1035 } | 1035 } |
| 1036 '''); | 1036 '''); |
| 1037 } | 1037 } |
| 1038 | 1038 |
| 1039 test_convertFlutterChild_OK_multiLine() async { |
| 1040 _configureFlutterPkg({ |
| 1041 'src/widgets/framework.dart': _flutter_framework_code, |
| 1042 }); |
| 1043 await resolveTestUnit(''' |
| 1044 import 'package:flutter/src/widgets/framework.dart'; |
| 1045 build() { |
| 1046 return new Scaffold( |
| 1047 // start |
| 1048 body: new Center( |
| 1049 /*caret*/child: new Container( |
| 1050 width: 200.0, |
| 1051 height: 300.0, |
| 1052 ), |
| 1053 key: null, |
| 1054 ), |
| 1055 // end |
| 1056 ); |
| 1057 } |
| 1058 '''); |
| 1059 _setCaretLocation(); |
| 1060 await assertHasAssist( |
| 1061 DartAssistKind.CONVERT_FLUTTER_CHILD, |
| 1062 ''' |
| 1063 import 'package:flutter/src/widgets/framework.dart'; |
| 1064 build() { |
| 1065 return new Scaffold( |
| 1066 // start |
| 1067 body: new Center( |
| 1068 /*caret*/children: <Widget>[ |
| 1069 new Container( |
| 1070 width: 200.0, |
| 1071 height: 300.0, |
| 1072 ), |
| 1073 ], |
| 1074 key: null, |
| 1075 ), |
| 1076 // end |
| 1077 ); |
| 1078 } |
| 1079 '''); |
| 1080 } |
| 1081 |
| 1082 test_convertFlutterChild_OK_newlineChild() async { |
| 1083 // This case could occur with deeply nested constructors, common in Flutter. |
| 1084 _configureFlutterPkg({ |
| 1085 'src/widgets/framework.dart': _flutter_framework_code, |
| 1086 }); |
| 1087 await resolveTestUnit(''' |
| 1088 import 'package:flutter/src/widgets/framework.dart'; |
| 1089 build() { |
| 1090 return new Scaffold( |
| 1091 // start |
| 1092 body: new Center( |
| 1093 /*caret*/child: |
| 1094 new Container( |
| 1095 width: 200.0, |
| 1096 height: 300.0, |
| 1097 ), |
| 1098 key: null, |
| 1099 ), |
| 1100 // end |
| 1101 ); |
| 1102 } |
| 1103 '''); |
| 1104 _setCaretLocation(); |
| 1105 await assertHasAssist( |
| 1106 DartAssistKind.CONVERT_FLUTTER_CHILD, |
| 1107 ''' |
| 1108 import 'package:flutter/src/widgets/framework.dart'; |
| 1109 build() { |
| 1110 return new Scaffold( |
| 1111 // start |
| 1112 body: new Center( |
| 1113 /*caret*/children: <Widget>[ |
| 1114 new Container( |
| 1115 width: 200.0, |
| 1116 height: 300.0, |
| 1117 ), |
| 1118 ], |
| 1119 key: null, |
| 1120 ), |
| 1121 // end |
| 1122 ); |
| 1123 } |
| 1124 '''); |
| 1125 } |
| 1126 |
| 1127 test_convertFlutterChild_OK_singleLine() async { |
| 1128 _configureFlutterPkg({ |
| 1129 'src/widgets/framework.dart': _flutter_framework_code, |
| 1130 }); |
| 1131 await resolveTestUnit(''' |
| 1132 import 'package:flutter/src/widgets/framework.dart'; |
| 1133 build() { |
| 1134 return new Scaffold( |
| 1135 // start |
| 1136 body: new Center( |
| 1137 /*caret*/child: new GestureDetector(), |
| 1138 key: null, |
| 1139 ), |
| 1140 // end |
| 1141 ); |
| 1142 } |
| 1143 '''); |
| 1144 _setCaretLocation(); |
| 1145 await assertHasAssist( |
| 1146 DartAssistKind.CONVERT_FLUTTER_CHILD, |
| 1147 ''' |
| 1148 import 'package:flutter/src/widgets/framework.dart'; |
| 1149 build() { |
| 1150 return new Scaffold( |
| 1151 // start |
| 1152 body: new Center( |
| 1153 /*caret*/children: <Widget>[new GestureDetector()], |
| 1154 key: null, |
| 1155 ), |
| 1156 // end |
| 1157 ); |
| 1158 } |
| 1159 '''); |
| 1160 } |
| 1161 |
| 1039 test_convertToBlockBody_BAD_noEnclosingFunction() async { | 1162 test_convertToBlockBody_BAD_noEnclosingFunction() async { |
| 1040 await resolveTestUnit(''' | 1163 await resolveTestUnit(''' |
| 1041 var v = 123; | 1164 var v = 123; |
| 1042 '''); | 1165 '''); |
| 1043 await assertNoAssistAt('v =', DartAssistKind.CONVERT_INTO_BLOCK_BODY); | 1166 await assertNoAssistAt('v =', DartAssistKind.CONVERT_INTO_BLOCK_BODY); |
| 1044 } | 1167 } |
| 1045 | 1168 |
| 1046 test_convertToBlockBody_BAD_notExpressionBlock() async { | 1169 test_convertToBlockBody_BAD_notExpressionBlock() async { |
| 1047 await resolveTestUnit(''' | 1170 await resolveTestUnit(''' |
| 1048 fff() { | 1171 fff() { |
| (...skipping 2446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3495 await assertHasAssistAt( | 3618 await assertHasAssistAt( |
| 3496 'var v', | 3619 'var v', |
| 3497 DartAssistKind.JOIN_VARIABLE_DECLARATION, | 3620 DartAssistKind.JOIN_VARIABLE_DECLARATION, |
| 3498 ''' | 3621 ''' |
| 3499 main() { | 3622 main() { |
| 3500 var v = 1; | 3623 var v = 1; |
| 3501 } | 3624 } |
| 3502 '''); | 3625 '''); |
| 3503 } | 3626 } |
| 3504 | 3627 |
| 3628 test_moveFlutterWidgetDown_OK() async { |
| 3629 _configureFlutterPkg({ |
| 3630 'src/widgets/framework.dart': _flutter_framework_code, |
| 3631 }); |
| 3632 await resolveTestUnit(''' |
| 3633 import 'package:flutter/src/widgets/framework.dart'; |
| 3634 build() { |
| 3635 return new Scaffold( |
| 3636 // start |
| 3637 body: new /*caret*/GestureDetector( |
| 3638 onTap: () => startResize(), |
| 3639 child: new Center( |
| 3640 child: new Container( |
| 3641 width: 200.0, |
| 3642 height: 300.0, |
| 3643 ), |
| 3644 key: null, |
| 3645 ), |
| 3646 ), |
| 3647 // end |
| 3648 ); |
| 3649 } |
| 3650 startResize() {} |
| 3651 '''); |
| 3652 _setCaretLocation(); |
| 3653 await assertHasAssist( |
| 3654 DartAssistKind.MOVE_FLUTTER_WIDGET_DOWN, |
| 3655 ''' |
| 3656 import 'package:flutter/src/widgets/framework.dart'; |
| 3657 build() { |
| 3658 return new Scaffold( |
| 3659 // start |
| 3660 body: new Center( |
| 3661 child: new /*caret*/GestureDetector( |
| 3662 onTap: () => startResize(), |
| 3663 child: new Container( |
| 3664 width: 200.0, |
| 3665 height: 300.0, |
| 3666 ), |
| 3667 ), |
| 3668 key: null, |
| 3669 ), |
| 3670 // end |
| 3671 ); |
| 3672 } |
| 3673 startResize() {} |
| 3674 '''); |
| 3675 } |
| 3676 |
| 3677 test_moveFlutterWidgetUp_OK() async { |
| 3678 _configureFlutterPkg({ |
| 3679 'src/widgets/framework.dart': _flutter_framework_code, |
| 3680 }); |
| 3681 await resolveTestUnit(''' |
| 3682 import 'package:flutter/src/widgets/framework.dart'; |
| 3683 build() { |
| 3684 return new Scaffold( |
| 3685 // start |
| 3686 body: new Center( |
| 3687 child: new /*caret*/GestureDetector( |
| 3688 onTap: () => startResize(), |
| 3689 child: new Container( |
| 3690 width: 200.0, |
| 3691 height: 300.0, |
| 3692 ), |
| 3693 ), |
| 3694 key: null, |
| 3695 ), |
| 3696 // end |
| 3697 ); |
| 3698 } |
| 3699 startResize() {} |
| 3700 '''); |
| 3701 _setCaretLocation(); |
| 3702 await assertHasAssist( |
| 3703 DartAssistKind.MOVE_FLUTTER_WIDGET_UP, |
| 3704 ''' |
| 3705 import 'package:flutter/src/widgets/framework.dart'; |
| 3706 build() { |
| 3707 return new Scaffold( |
| 3708 // start |
| 3709 body: new /*caret*/GestureDetector( |
| 3710 onTap: () => startResize(), |
| 3711 child: new Center( |
| 3712 child: new Container( |
| 3713 width: 200.0, |
| 3714 height: 300.0, |
| 3715 ), |
| 3716 key: null, |
| 3717 ), |
| 3718 ), |
| 3719 // end |
| 3720 ); |
| 3721 } |
| 3722 startResize() {} |
| 3723 '''); |
| 3724 } |
| 3725 |
| 3505 test_removeTypeAnnotation_classField_OK() async { | 3726 test_removeTypeAnnotation_classField_OK() async { |
| 3506 await resolveTestUnit(''' | 3727 await resolveTestUnit(''' |
| 3507 class A { | 3728 class A { |
| 3508 int v = 1; | 3729 int v = 1; |
| 3509 } | 3730 } |
| 3510 '''); | 3731 '''); |
| 3511 await assertHasAssistAt( | 3732 await assertHasAssistAt( |
| 3512 'v = ', | 3733 'v = ', |
| 3513 DartAssistKind.REMOVE_TYPE_ANNOTATION, | 3734 DartAssistKind.REMOVE_TYPE_ANNOTATION, |
| 3514 ''' | 3735 ''' |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3659 // start | 3880 // start |
| 3660 return new Row(children: [/*caret*/ new Transform()]); | 3881 return new Row(children: [/*caret*/ new Transform()]); |
| 3661 // end | 3882 // end |
| 3662 } | 3883 } |
| 3663 } | 3884 } |
| 3664 '''); | 3885 '''); |
| 3665 _setCaretLocation(); | 3886 _setCaretLocation(); |
| 3666 await assertNoAssist(DartAssistKind.REPARENT_FLUTTER_LIST); | 3887 await assertNoAssist(DartAssistKind.REPARENT_FLUTTER_LIST); |
| 3667 } | 3888 } |
| 3668 | 3889 |
| 3669 test_moveFlutterWidgetDown_OK() async { | |
| 3670 _configureFlutterPkg({ | |
| 3671 'src/widgets/framework.dart': _flutter_framework_code, | |
| 3672 }); | |
| 3673 await resolveTestUnit(''' | |
| 3674 import 'package:flutter/src/widgets/framework.dart'; | |
| 3675 build() { | |
| 3676 return new Scaffold( | |
| 3677 // start | |
| 3678 body: new /*caret*/GestureDetector( | |
| 3679 onTap: () => startResize(), | |
| 3680 child: new Center( | |
| 3681 child: new Container( | |
| 3682 width: 200.0, | |
| 3683 height: 300.0, | |
| 3684 ), | |
| 3685 key: null, | |
| 3686 ), | |
| 3687 ), | |
| 3688 // end | |
| 3689 ); | |
| 3690 } | |
| 3691 startResize() {} | |
| 3692 '''); | |
| 3693 _setCaretLocation(); | |
| 3694 await assertHasAssist( | |
| 3695 DartAssistKind.MOVE_FLUTTER_WIDGET_DOWN, | |
| 3696 ''' | |
| 3697 import 'package:flutter/src/widgets/framework.dart'; | |
| 3698 build() { | |
| 3699 return new Scaffold( | |
| 3700 // start | |
| 3701 body: new Center( | |
| 3702 child: new /*caret*/GestureDetector( | |
| 3703 onTap: () => startResize(), | |
| 3704 child: new Container( | |
| 3705 width: 200.0, | |
| 3706 height: 300.0, | |
| 3707 ), | |
| 3708 ), | |
| 3709 key: null, | |
| 3710 ), | |
| 3711 // end | |
| 3712 ); | |
| 3713 } | |
| 3714 startResize() {} | |
| 3715 '''); | |
| 3716 } | |
| 3717 | |
| 3718 test_moveFlutterWidgetUp_OK() async { | |
| 3719 _configureFlutterPkg({ | |
| 3720 'src/widgets/framework.dart': _flutter_framework_code, | |
| 3721 }); | |
| 3722 await resolveTestUnit(''' | |
| 3723 import 'package:flutter/src/widgets/framework.dart'; | |
| 3724 build() { | |
| 3725 return new Scaffold( | |
| 3726 // start | |
| 3727 body: new Center( | |
| 3728 child: new /*caret*/GestureDetector( | |
| 3729 onTap: () => startResize(), | |
| 3730 child: new Container( | |
| 3731 width: 200.0, | |
| 3732 height: 300.0, | |
| 3733 ), | |
| 3734 ), | |
| 3735 key: null, | |
| 3736 ), | |
| 3737 // end | |
| 3738 ); | |
| 3739 } | |
| 3740 startResize() {} | |
| 3741 '''); | |
| 3742 _setCaretLocation(); | |
| 3743 await assertHasAssist( | |
| 3744 DartAssistKind.MOVE_FLUTTER_WIDGET_UP, | |
| 3745 ''' | |
| 3746 import 'package:flutter/src/widgets/framework.dart'; | |
| 3747 build() { | |
| 3748 return new Scaffold( | |
| 3749 // start | |
| 3750 body: new /*caret*/GestureDetector( | |
| 3751 onTap: () => startResize(), | |
| 3752 child: new Center( | |
| 3753 child: new Container( | |
| 3754 width: 200.0, | |
| 3755 height: 300.0, | |
| 3756 ), | |
| 3757 key: null, | |
| 3758 ), | |
| 3759 ), | |
| 3760 // end | |
| 3761 ); | |
| 3762 } | |
| 3763 startResize() {} | |
| 3764 '''); | |
| 3765 } | |
| 3766 | |
| 3767 test_reparentFlutterList_OK_multiLine() async { | 3890 test_reparentFlutterList_OK_multiLine() async { |
| 3768 _configureFlutterPkg({ | 3891 _configureFlutterPkg({ |
| 3769 'src/widgets/framework.dart': _flutter_framework_code, | 3892 'src/widgets/framework.dart': _flutter_framework_code, |
| 3770 }); | 3893 }); |
| 3771 await resolveTestUnit(''' | 3894 await resolveTestUnit(''' |
| 3772 import 'package:flutter/src/widgets/framework.dart'; | 3895 import 'package:flutter/src/widgets/framework.dart'; |
| 3773 build() { | 3896 build() { |
| 3774 return new Container( | 3897 return new Container( |
| 3775 child: new Row( | 3898 child: new Row( |
| 3776 // start | 3899 // start |
| (...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4617 | 4740 |
| 4618 @override | 4741 @override |
| 4619 final AnalysisContext analysisContext; | 4742 final AnalysisContext analysisContext; |
| 4620 | 4743 |
| 4621 @override | 4744 @override |
| 4622 final CompilationUnit unit; | 4745 final CompilationUnit unit; |
| 4623 | 4746 |
| 4624 _DartAssistContextForValues(this.source, this.selectionOffset, | 4747 _DartAssistContextForValues(this.source, this.selectionOffset, |
| 4625 this.selectionLength, this.analysisContext, this.unit); | 4748 this.selectionLength, this.analysisContext, this.unit); |
| 4626 } | 4749 } |
| OLD | NEW |