| Index: pkg/analysis_server/test/edit/refactoring_test.dart
|
| diff --git a/pkg/analysis_server/test/edit/refactoring_test.dart b/pkg/analysis_server/test/edit/refactoring_test.dart
|
| index 00c3e8f3dcef57215796959f2cfa3e61dd9a654e..aaeb2886dbd8fb39561f87e35ed2d607d28af475 100644
|
| --- a/pkg/analysis_server/test/edit/refactoring_test.dart
|
| +++ b/pkg/analysis_server/test/edit/refactoring_test.dart
|
| @@ -31,23 +31,38 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
|
| Future assertHasRenameRefactoring(String code, String search) {
|
| addTestFile(code);
|
| return waitForTasksFinished().then((_) {
|
| - List<RefactoringKind> kinds = getAvailableRefactorings(search);
|
| + List<RefactoringKind> kinds = getRefactoringsAtString(search);
|
| expect(kinds, contains(RefactoringKind.RENAME));
|
| });
|
| }
|
|
|
| /**
|
| - * Returns the list of available refactorings of the offset of [search] with
|
| - * [length] characters selected.
|
| + * Returns the list of available refactorings for the given [offset] and
|
| + * [length].
|
| */
|
| - List<RefactoringKind> getAvailableRefactorings(String search, [int length = 0]) {
|
| - Request request = new EditGetAvailableRefactoringsParams(testFile,
|
| - findOffset(search), length).toRequest('0');
|
| + List<RefactoringKind> getRefactorings(int offset, int length) {
|
| + Request request = new EditGetAvailableRefactoringsParams(
|
| + testFile,
|
| + offset,
|
| + length).toRequest('0');
|
| Response response = handleSuccessfulRequest(request);
|
| var result = new EditGetAvailableRefactoringsResult.fromResponse(response);
|
| return result.kinds;
|
| }
|
|
|
| + /**
|
| + * Returns the list of available refactorings at the offset of [search].
|
| + */
|
| + List<RefactoringKind> getRefactoringsAtString(String search) {
|
| + int offset = findOffset(search);
|
| + return getRefactorings(offset, 0);
|
| + }
|
| +
|
| + List<RefactoringKind> getRefactoringsForString(String search) {
|
| + int offset = findOffset(search);
|
| + return getRefactorings(offset, search.length);
|
| + }
|
| +
|
| @override
|
| void setUp() {
|
| super.setUp();
|
| @@ -55,6 +70,20 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
|
| handler = new EditDomainHandler(server);
|
| }
|
|
|
| + Future test_extractLocal() {
|
| + addTestFile('''
|
| +main() {
|
| + var a = 1 + 2;
|
| +}
|
| +''');
|
| + return waitForTasksFinished().then((_) {
|
| + var search = '1 + 2';
|
| + List<RefactoringKind> kinds = getRefactoringsForString(search);
|
| + expect(kinds, contains(RefactoringKind.EXTRACT_LOCAL_VARIABLE));
|
| + expect(kinds, contains(RefactoringKind.EXTRACT_METHOD));
|
| + });
|
| + }
|
| +
|
| Future test_rename_hasElement_class() {
|
| return assertHasRenameRefactoring('''
|
| class Test {}
|
| @@ -167,7 +196,8 @@ main() {
|
| }
|
| ''');
|
| return waitForTasksFinished().then((_) {
|
| - List<RefactoringKind> kinds = getAvailableRefactorings('// not an element');
|
| + List<RefactoringKind> kinds =
|
| + getRefactoringsAtString('// not an element');
|
| expect(kinds, isNot(contains(RefactoringKind.RENAME)));
|
| });
|
| }
|
|
|