| 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.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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |