Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Side by Side Diff: pkg/analysis_server/test/services/correction/assist_test.dart

Issue 2749283004: Add assist to convert child: to children: in Flutter new-exprs (Closed)
Patch Set: Fail fast for named args not in instance creation exprs Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/services/correction/assist_internal.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/correction/assist_internal.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698