| 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 11 matching lines...) Expand all Loading... |
| 22 runReflectiveTests(GetAvailableRefactoringsTest); | 22 runReflectiveTests(GetAvailableRefactoringsTest); |
| 23 runReflectiveTests(RenameTest); | 23 runReflectiveTests(RenameTest); |
| 24 } | 24 } |
| 25 | 25 |
| 26 | 26 |
| 27 @ReflectiveTestCase() | 27 @ReflectiveTestCase() |
| 28 class ExtractLocalVariableTest extends _AbstractGetRefactoring_Test { | 28 class ExtractLocalVariableTest extends _AbstractGetRefactoring_Test { |
| 29 Future<Response> sendExtractRequest(int offset, int length, String name, | 29 Future<Response> sendExtractRequest(int offset, int length, String name, |
| 30 bool extractAll) { | 30 bool extractAll) { |
| 31 RefactoringKind kind = RefactoringKind.EXTRACT_LOCAL_VARIABLE; | 31 RefactoringKind kind = RefactoringKind.EXTRACT_LOCAL_VARIABLE; |
| 32 Object options = new ExtractLocalVariableOptions(name, extractAll); | 32 Map options = name != null ? new ExtractLocalVariableOptions(name, |
| 33 extractAll).toJson() : null; |
| 33 return sendRequest(kind, offset, length, options, false); | 34 return sendRequest(kind, offset, length, options, false); |
| 34 } | 35 } |
| 35 | 36 |
| 36 Future<Response> sendStringRequest(String search, String name, | 37 Future<Response> sendStringRequest(String search, String name, |
| 37 bool extractAll) { | 38 bool extractAll) { |
| 38 int offset = findOffset(search); | 39 int offset = findOffset(search); |
| 39 int length = search.length; | 40 int length = search.length; |
| 40 return sendExtractRequest(offset, length, name, extractAll); | 41 return sendExtractRequest(offset, length, name, extractAll); |
| 41 } | 42 } |
| 42 | 43 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 addTestFile(''' | 110 addTestFile(''' |
| 110 class TreeItem {} | 111 class TreeItem {} |
| 111 TreeItem getSelectedItem() => null; | 112 TreeItem getSelectedItem() => null; |
| 112 main() { | 113 main() { |
| 113 var a = getSelectedItem(); | 114 var a = getSelectedItem(); |
| 114 } | 115 } |
| 115 '''); | 116 '''); |
| 116 return getRefactoringResult(() { | 117 return getRefactoringResult(() { |
| 117 return sendStringSuffixRequest('getSelectedItem()', ';', null, true); | 118 return sendStringSuffixRequest('getSelectedItem()', ';', null, true); |
| 118 }).then((result) { | 119 }).then((result) { |
| 119 ExtractLocalVariableFeedback feedback = result.feedback; | 120 ExtractLocalVariableFeedback feedback = |
| 121 new ExtractLocalVariableFeedback.fromRefactoringResult(result); |
| 120 expect( | 122 expect( |
| 121 feedback.names, | 123 feedback.names, |
| 122 unorderedEquals(['treeItem', 'item', 'selectedItem'])); | 124 unorderedEquals(['treeItem', 'item', 'selectedItem'])); |
| 123 expect(result.change, isNull); | 125 expect(result.change, isNull); |
| 124 }); | 126 }); |
| 125 } | 127 } |
| 126 | 128 |
| 127 test_offsetsLengths() { | 129 test_offsetsLengths() { |
| 128 addTestFile(''' | 130 addTestFile(''' |
| 129 main() { | 131 main() { |
| 130 print(1 + 2); | 132 print(1 + 2); |
| 131 print(1 + 2); | 133 print(1 + 2); |
| 132 } | 134 } |
| 133 '''); | 135 '''); |
| 134 return getRefactoringResult(() { | 136 return getRefactoringResult(() { |
| 135 return sendStringRequest('1 + 2', 'res', true); | 137 return sendStringRequest('1 + 2', 'res', true); |
| 136 }).then((result) { | 138 }).then((result) { |
| 137 ExtractLocalVariableFeedback feedback = result.feedback; | 139 ExtractLocalVariableFeedback feedback = |
| 140 new ExtractLocalVariableFeedback.fromRefactoringResult(result); |
| 138 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]); | 141 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]); |
| 139 expect(feedback.lengths, [5, 6]); | 142 expect(feedback.lengths, [5, 6]); |
| 140 }); | 143 }); |
| 141 } | 144 } |
| 142 } | 145 } |
| 143 | 146 |
| 144 | 147 |
| 145 @ReflectiveTestCase() | 148 @ReflectiveTestCase() |
| 146 class GetAvailableRefactoringsTest extends AbstractAnalysisTest { | 149 class GetAvailableRefactoringsTest extends AbstractAnalysisTest { |
| 147 /** | 150 /** |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 @ReflectiveTestCase() | 329 @ReflectiveTestCase() |
| 327 class RenameTest extends _AbstractGetRefactoring_Test { | 330 class RenameTest extends _AbstractGetRefactoring_Test { |
| 328 Future<Response> sendRenameRequest(String search, String newName, | 331 Future<Response> sendRenameRequest(String search, String newName, |
| 329 [bool validateOnly = false]) { | 332 [bool validateOnly = false]) { |
| 330 Request request = new EditGetRefactoringParams( | 333 Request request = new EditGetRefactoringParams( |
| 331 RefactoringKind.RENAME, | 334 RefactoringKind.RENAME, |
| 332 testFile, | 335 testFile, |
| 333 findOffset(search), | 336 findOffset(search), |
| 334 0, | 337 0, |
| 335 validateOnly, | 338 validateOnly, |
| 336 options: new RenameOptions(newName)).toRequest('0'); | 339 options: new RenameOptions(newName).toJson()).toRequest('0'); |
| 337 return serverChannel.sendRequest(request); | 340 return serverChannel.sendRequest(request); |
| 338 } | 341 } |
| 339 | 342 |
| 340 test_class() { | 343 test_class() { |
| 341 addTestFile(''' | 344 addTestFile(''' |
| 342 class Test {} | 345 class Test {} |
| 343 main() { | 346 main() { |
| 344 Test v; | 347 Test v; |
| 345 } | 348 } |
| 346 '''); | 349 '''); |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 511 test_feedback() { | 514 test_feedback() { |
| 512 addTestFile(''' | 515 addTestFile(''' |
| 513 class Test {} | 516 class Test {} |
| 514 main() { | 517 main() { |
| 515 Test v; | 518 Test v; |
| 516 } | 519 } |
| 517 '''); | 520 '''); |
| 518 return getRefactoringResult(() { | 521 return getRefactoringResult(() { |
| 519 return sendRenameRequest('st v;', 'NewName'); | 522 return sendRenameRequest('st v;', 'NewName'); |
| 520 }).then((result) { | 523 }).then((result) { |
| 521 RenameFeedback feedback = result.feedback; | 524 RenameFeedback feedback = |
| 525 new RenameFeedback.fromRefactoringResult(result); |
| 522 expect(feedback, isNotNull); | 526 expect(feedback, isNotNull); |
| 523 expect(feedback.offset, findOffset('Test v;')); | 527 expect(feedback.offset, findOffset('Test v;')); |
| 524 expect(feedback.length, 'Test'.length); | 528 expect(feedback.length, 'Test'.length); |
| 525 }); | 529 }); |
| 526 } | 530 } |
| 527 | 531 |
| 528 test_function() { | 532 test_function() { |
| 529 addTestFile(''' | 533 addTestFile(''' |
| 530 test() {} | 534 test() {} |
| 531 main() { | 535 main() { |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 Future<EditGetRefactoringResult> getRefactoringResult(Future<Response> | 691 Future<EditGetRefactoringResult> getRefactoringResult(Future<Response> |
| 688 requestSender()) { | 692 requestSender()) { |
| 689 return waitForTasksFinished().then((_) { | 693 return waitForTasksFinished().then((_) { |
| 690 return requestSender().then((Response response) { | 694 return requestSender().then((Response response) { |
| 691 return new EditGetRefactoringResult.fromResponse(response); | 695 return new EditGetRefactoringResult.fromResponse(response); |
| 692 }); | 696 }); |
| 693 }); | 697 }); |
| 694 } | 698 } |
| 695 | 699 |
| 696 Future<Response> sendRequest(RefactoringKind kind, int offset, int length, | 700 Future<Response> sendRequest(RefactoringKind kind, int offset, int length, |
| 697 Object options, [bool validateOnly = false]) { | 701 Map options, [bool validateOnly = false]) { |
| 698 Request request = new EditGetRefactoringParams( | 702 Request request = new EditGetRefactoringParams( |
| 699 kind, | 703 kind, |
| 700 testFile, | 704 testFile, |
| 701 offset, | 705 offset, |
| 702 length, | 706 length, |
| 703 validateOnly, | 707 validateOnly, |
| 704 options: options).toRequest('0'); | 708 options: options).toRequest('0'); |
| 705 return serverChannel.sendRequest(request); | 709 return serverChannel.sendRequest(request); |
| 706 } | 710 } |
| 707 | 711 |
| 708 @override | 712 @override |
| 709 void setUp() { | 713 void setUp() { |
| 710 super.setUp(); | 714 super.setUp(); |
| 711 server.handlers = [new EditDomainHandler(server),]; | 715 server.handlers = [new EditDomainHandler(server),]; |
| 712 createProject(); | 716 createProject(); |
| 713 handler = new EditDomainHandler(server); | 717 handler = new EditDomainHandler(server); |
| 714 } | 718 } |
| 715 } | 719 } |
| OLD | NEW |