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

Side by Side Diff: pkg/analysis_server/test/edit/refactoring_test.dart

Issue 541823004: Decode RefactoringFeedback automatically. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
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.edit.refactoring; 5 library test.edit.refactoring;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/edit/edit_domain.dart'; 9 import 'package:analysis_server/src/edit/edit_domain.dart';
10 import 'package:analysis_server/src/protocol.dart'; 10 import 'package:analysis_server/src/protocol.dart';
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 addTestFile(''' 113 addTestFile('''
114 class TreeItem {} 114 class TreeItem {}
115 TreeItem getSelectedItem() => null; 115 TreeItem getSelectedItem() => null;
116 main() { 116 main() {
117 var a = getSelectedItem(); 117 var a = getSelectedItem();
118 } 118 }
119 '''); 119 ''');
120 return getRefactoringResult(() { 120 return getRefactoringResult(() {
121 return sendStringSuffixRequest('getSelectedItem()', ';', null, true); 121 return sendStringSuffixRequest('getSelectedItem()', ';', null, true);
122 }).then((result) { 122 }).then((result) {
123 ExtractLocalVariableFeedback feedback = 123 ExtractLocalVariableFeedback feedback = result.feedback;
124 new ExtractLocalVariableFeedback.fromRefactoringResult(result);
125 expect( 124 expect(
126 feedback.names, 125 feedback.names,
127 unorderedEquals(['treeItem', 'item', 'selectedItem'])); 126 unorderedEquals(['treeItem', 'item', 'selectedItem']));
128 expect(result.change, isNull); 127 expect(result.change, isNull);
129 }); 128 });
130 } 129 }
131 130
132 test_offsetsLengths() { 131 test_offsetsLengths() {
133 addTestFile(''' 132 addTestFile('''
134 main() { 133 main() {
135 print(1 + 2); 134 print(1 + 2);
136 print(1 + 2); 135 print(1 + 2);
137 } 136 }
138 '''); 137 ''');
139 return getRefactoringResult(() { 138 return getRefactoringResult(() {
140 return sendStringRequest('1 + 2', 'res', true); 139 return sendStringRequest('1 + 2', 'res', true);
141 }).then((result) { 140 }).then((result) {
142 ExtractLocalVariableFeedback feedback = 141 ExtractLocalVariableFeedback feedback = result.feedback;
143 new ExtractLocalVariableFeedback.fromRefactoringResult(result);
144 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]); 142 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]);
145 expect(feedback.lengths, [5, 6]); 143 expect(feedback.lengths, [5, 6]);
146 }); 144 });
147 } 145 }
148 } 146 }
149 147
150 148
151 @ReflectiveTestCase() 149 @ReflectiveTestCase()
152 class ExtractMethodTest extends _AbstractGetRefactoring_Test { 150 class ExtractMethodTest extends _AbstractGetRefactoring_Test {
153 int offset; 151 int offset;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 addTestFile(''' 197 addTestFile('''
200 main() { 198 main() {
201 int a = 1; 199 int a = 1;
202 int b = 2; 200 int b = 2;
203 print(a + b); 201 print(a + b);
204 print(a + b); 202 print(a + b);
205 } 203 }
206 '''); 204 ''');
207 _setOffsetLengthForString('a + b'); 205 _setOffsetLengthForString('a + b');
208 return getRefactoringResult(_computeChange).then((result) { 206 return getRefactoringResult(_computeChange).then((result) {
209 ExtractMethodFeedback feedback = 207 ExtractMethodFeedback feedback = result.feedback;
210 new ExtractMethodFeedback.fromRefactoringResult(result);
211 List<RefactoringMethodParameter> parameters = feedback.parameters; 208 List<RefactoringMethodParameter> parameters = feedback.parameters;
212 parameters[0].name = 'aaa'; 209 parameters[0].name = 'aaa';
213 parameters[1].name = 'bbb'; 210 parameters[1].name = 'bbb';
214 parameters[1].type = 'num'; 211 parameters[1].type = 'num';
215 parameters.insert(0, parameters.removeLast()); 212 parameters.insert(0, parameters.removeLast());
216 options.parameters = parameters; 213 options.parameters = parameters;
217 return assertSuccessfulRefactoring(_sendExtractRequest, ''' 214 return assertSuccessfulRefactoring(_sendExtractRequest, '''
218 main() { 215 main() {
219 int a = 1; 216 int a = 1;
220 int b = 2; 217 int b = 2;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 // send request with the options 290 // send request with the options
294 return _sendExtractRequest(); 291 return _sendExtractRequest();
295 }); 292 });
296 } 293 }
297 294
298 Future<ExtractMethodFeedback> _computeInitialFeedback() { 295 Future<ExtractMethodFeedback> _computeInitialFeedback() {
299 return waitForTasksFinished().then((_) { 296 return waitForTasksFinished().then((_) {
300 return _sendExtractRequest(); 297 return _sendExtractRequest();
301 }).then((Response response) { 298 }).then((Response response) {
302 var result = new EditGetRefactoringResult.fromResponse(response); 299 var result = new EditGetRefactoringResult.fromResponse(response);
303 return new ExtractMethodFeedback.fromRefactoringResult(result); 300 return result.feedback;
304 }); 301 });
305 } 302 }
306 303
307 Future _prepareOptions() { 304 Future _prepareOptions() {
308 return getRefactoringResult(() { 305 return getRefactoringResult(() {
309 // get initial feedback 306 // get initial feedback
310 return _sendExtractRequest(); 307 return _sendExtractRequest();
311 }).then((result) { 308 }).then((result) {
312 assertResultProblemsOK(result); 309 assertResultProblemsOK(result);
313 // fill options from result 310 // fill options from result
314 var feedback = new ExtractMethodFeedback.fromRefactoringResult(result); 311 ExtractMethodFeedback feedback = result.feedback;
315 options = new ExtractMethodOptions( 312 options = new ExtractMethodOptions(
316 feedback.returnType, 313 feedback.returnType,
317 false, 314 false,
318 name, 315 name,
319 feedback.parameters, 316 feedback.parameters,
320 true); 317 true);
321 // done 318 // done
322 return new Future.value(); 319 return new Future.value();
323 }); 320 });
324 } 321 }
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 test_feedback() { 857 test_feedback() {
861 addTestFile(''' 858 addTestFile('''
862 class Test {} 859 class Test {}
863 main() { 860 main() {
864 Test v; 861 Test v;
865 } 862 }
866 '''); 863 ''');
867 return getRefactoringResult(() { 864 return getRefactoringResult(() {
868 return sendRenameRequest('st v;', 'NewName'); 865 return sendRenameRequest('st v;', 'NewName');
869 }).then((result) { 866 }).then((result) {
870 RenameFeedback feedback = 867 RenameFeedback feedback = result.feedback;
871 new RenameFeedback.fromRefactoringResult(result);
872 expect(feedback, isNotNull); 868 expect(feedback, isNotNull);
873 expect(feedback.offset, findOffset('Test v;')); 869 expect(feedback.offset, findOffset('Test v;'));
874 expect(feedback.length, 'Test'.length); 870 expect(feedback.length, 'Test'.length);
875 }); 871 });
876 } 872 }
877 873
878 test_function() { 874 test_function() {
879 addTestFile(''' 875 addTestFile('''
880 test() {} 876 test() {}
881 main() { 877 main() {
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1056 } 1052 }
1057 1053
1058 @override 1054 @override
1059 void setUp() { 1055 void setUp() {
1060 super.setUp(); 1056 super.setUp();
1061 server.handlers = [new EditDomainHandler(server),]; 1057 server.handlers = [new EditDomainHandler(server),];
1062 createProject(); 1058 createProject();
1063 handler = new EditDomainHandler(server); 1059 handler = new EditDomainHandler(server);
1064 } 1060 }
1065 } 1061 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/protocol.dart ('k') | pkg/analysis_server/test/integration/integration_test_methods.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698