| 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 d59999f5ca23f39d95328d66888f93b8f0071368..9b144296f4c4a34cf0b03112c37eb2a9f5bb896e 100644
|
| --- a/pkg/analysis_server/test/edit/refactoring_test.dart
|
| +++ b/pkg/analysis_server/test/edit/refactoring_test.dart
|
| @@ -16,9 +16,10 @@ import 'package:unittest/unittest.dart' hide ERROR;
|
|
|
| import '../analysis_abstract.dart';
|
| import '../mocks.dart';
|
| +import '../utils.dart';
|
|
|
| main() {
|
| - groupSep = ' | ';
|
| + initializeTestEnvironment();
|
| defineReflectiveTests(ConvertGetterMethodToMethodTest);
|
| defineReflectiveTests(ConvertMethodToGetterTest);
|
| defineReflectiveTests(ExtractLocalVariableTest);
|
| @@ -43,7 +44,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendConvertRequest('test =>');
|
| - }, '''
|
| + },
|
| + '''
|
| int test() => 42;
|
| main() {
|
| var a = 1 + test();
|
| @@ -92,7 +94,8 @@ main(A a, B b, C c, D d) {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendConvertRequest('test => 2');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| int test() => 1;
|
| }
|
| @@ -116,8 +119,11 @@ main(A a, B b, C c, D d) {
|
|
|
| Future<Response> _sendConvertRequest(String search) {
|
| Request request = new EditGetRefactoringParams(
|
| - RefactoringKind.CONVERT_GETTER_TO_METHOD, testFile, findOffset(search),
|
| - 0, false).toRequest('0');
|
| + RefactoringKind.CONVERT_GETTER_TO_METHOD,
|
| + testFile,
|
| + findOffset(search),
|
| + 0,
|
| + false).toRequest('0');
|
| return serverChannel.sendRequest(request);
|
| }
|
| }
|
| @@ -134,7 +140,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendConvertRequest('test() =>');
|
| - }, '''
|
| + },
|
| + '''
|
| int get test => 42;
|
| main() {
|
| var a = 1 + test;
|
| @@ -200,7 +207,8 @@ main(A a, B b, C c, D d) {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendConvertRequest('test() => 2');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| int get test => 1;
|
| }
|
| @@ -224,8 +232,11 @@ main(A a, B b, C c, D d) {
|
|
|
| Future<Response> _sendConvertRequest(String search) {
|
| Request request = new EditGetRefactoringParams(
|
| - RefactoringKind.CONVERT_METHOD_TO_GETTER, testFile, findOffset(search),
|
| - 0, false).toRequest('0');
|
| + RefactoringKind.CONVERT_METHOD_TO_GETTER,
|
| + testFile,
|
| + findOffset(search),
|
| + 0,
|
| + false).toRequest('0');
|
| return serverChannel.sendRequest(request);
|
| }
|
| }
|
| @@ -270,7 +281,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendStringRequest('1 + 2', 'res', true);
|
| - }, '''
|
| + },
|
| + '''
|
| main() {
|
| var res = 1 + 2;
|
| print(res);
|
| @@ -288,7 +300,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendStringSuffixRequest('1 + 2', '); // marker', 'res', false);
|
| - }, '''
|
| + },
|
| + '''
|
| main() {
|
| print(1 + 2);
|
| var res = 1 + 2;
|
| @@ -327,7 +340,9 @@ main() {
|
| assertResultProblemsWarning(result.optionsProblems,
|
| 'Variable name should start with a lowercase letter.');
|
| // ...but there is still a change
|
| - assertTestRefactoringResult(result, '''
|
| + assertTestRefactoringResult(
|
| + result,
|
| + '''
|
| main() {
|
| var Name = 1 + 2;
|
| print(Name);
|
| @@ -413,7 +428,9 @@ main() {
|
| }
|
| ''');
|
| _setOffsetLengthForString('1 + 2');
|
| - return assertSuccessfulRefactoring(_computeChange, '''
|
| + return assertSuccessfulRefactoring(
|
| + _computeChange,
|
| + '''
|
| main() {
|
| print(res());
|
| print(res());
|
| @@ -433,7 +450,9 @@ main() {
|
| }
|
| ''');
|
| _setOffsetLengthForString('a + b');
|
| - return assertSuccessfulRefactoring(_computeChange, '''
|
| + return assertSuccessfulRefactoring(
|
| + _computeChange,
|
| + '''
|
| main() {
|
| int a = 1;
|
| int b = 2;
|
| @@ -463,7 +482,9 @@ main() {
|
| parameters[1].type = 'num';
|
| parameters.insert(0, parameters.removeLast());
|
| options.parameters = parameters;
|
| - return assertSuccessfulRefactoring(_sendExtractRequest, '''
|
| + return assertSuccessfulRefactoring(
|
| + _sendExtractRequest,
|
| + '''
|
| main() {
|
| int a = 1;
|
| int b = 2;
|
| @@ -542,7 +563,9 @@ main() {
|
| }
|
| ''');
|
| _setOffsetLengthForStartEnd();
|
| - return assertSuccessfulRefactoring(_computeChange, '''
|
| + return assertSuccessfulRefactoring(
|
| + _computeChange,
|
| + '''
|
| main() {
|
| int a = 1;
|
| int b = 2;
|
| @@ -675,9 +698,13 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
|
| }
|
|
|
| Future test_convertMethodToGetter_hasElement() {
|
| - return assertHasKind('''
|
| + return assertHasKind(
|
| + '''
|
| int getValue() => 42;
|
| -''', 'getValue', RefactoringKind.CONVERT_METHOD_TO_GETTER, true);
|
| +''',
|
| + 'getValue',
|
| + RefactoringKind.CONVERT_METHOD_TO_GETTER,
|
| + true);
|
| }
|
|
|
| Future test_extractLocal() async {
|
| @@ -693,108 +720,130 @@ main() {
|
| }
|
|
|
| Future test_rename_hasElement_class() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| class Test {}
|
| main() {
|
| Test v;
|
| }
|
| -''', 'Test v');
|
| +''',
|
| + 'Test v');
|
| }
|
|
|
| Future test_rename_hasElement_constructor() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| class A {
|
| A.test() {}
|
| }
|
| main() {
|
| new A.test();
|
| }
|
| -''', 'test();');
|
| +''',
|
| + 'test();');
|
| }
|
|
|
| Future test_rename_hasElement_function() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| main() {
|
| test();
|
| }
|
| test() {}
|
| -''', 'test();');
|
| +''',
|
| + 'test();');
|
| }
|
|
|
| Future test_rename_hasElement_importElement_directive() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| import 'dart:math' as math;
|
| main() {
|
| math.PI;
|
| }
|
| -''', 'import ');
|
| +''',
|
| + 'import ');
|
| }
|
|
|
| Future test_rename_hasElement_importElement_prefixDecl() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| import 'dart:math' as math;
|
| main() {
|
| math.PI;
|
| }
|
| -''', 'math;');
|
| +''',
|
| + 'math;');
|
| }
|
|
|
| Future test_rename_hasElement_importElement_prefixRef() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| import 'dart:async' as test;
|
| import 'dart:math' as test;
|
| main() {
|
| test.PI;
|
| }
|
| -''', 'test.PI;');
|
| +''',
|
| + 'test.PI;');
|
| }
|
|
|
| Future test_rename_hasElement_instanceGetter() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| class A {
|
| get test => 0;
|
| }
|
| main(A a) {
|
| a.test;
|
| }
|
| -''', 'test;');
|
| +''',
|
| + 'test;');
|
| }
|
|
|
| Future test_rename_hasElement_instanceSetter() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| class A {
|
| set test(x) {}
|
| }
|
| main(A a) {
|
| a.test = 2;
|
| }
|
| -''', 'test = 2;');
|
| +''',
|
| + 'test = 2;');
|
| }
|
|
|
| Future test_rename_hasElement_library() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| library my.lib;
|
| -''', 'library ');
|
| +''',
|
| + 'library ');
|
| }
|
|
|
| Future test_rename_hasElement_localVariable() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| main() {
|
| int test = 0;
|
| print(test);
|
| }
|
| -''', 'test = 0;');
|
| +''',
|
| + 'test = 0;');
|
| }
|
|
|
| Future test_rename_hasElement_method() {
|
| - return assertHasRenameRefactoring('''
|
| + return assertHasRenameRefactoring(
|
| + '''
|
| class A {
|
| test() {}
|
| }
|
| main(A a) {
|
| a.test();
|
| }
|
| -''', 'test();');
|
| +''',
|
| + 'test();');
|
| }
|
|
|
| Future test_rename_noElement() async {
|
| @@ -850,7 +899,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendInlineRequest('test + 2');
|
| - }, '''
|
| + },
|
| + '''
|
| main() {
|
| int a = 42 + 2;
|
| print(42);
|
| @@ -860,7 +910,10 @@ main() {
|
|
|
| Future<Response> _sendInlineRequest(String search) {
|
| Request request = new EditGetRefactoringParams(
|
| - RefactoringKind.INLINE_LOCAL_VARIABLE, testFile, findOffset(search), 0,
|
| + RefactoringKind.INLINE_LOCAL_VARIABLE,
|
| + testFile,
|
| + findOffset(search),
|
| + 0,
|
| false).toRequest('0');
|
| return serverChannel.sendRequest(request);
|
| }
|
| @@ -921,7 +974,8 @@ main(A a) {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendInlineRequest('test(int p)');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| int f;
|
| main() {
|
| @@ -946,7 +1000,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendInlineRequest('test(a');
|
| - }, '''
|
| + },
|
| + '''
|
| main() {
|
| print(1 + 2);
|
| print(10 + 20);
|
| @@ -968,7 +1023,8 @@ main() {
|
| options.inlineAll = false;
|
| return assertSuccessfulRefactoring(() {
|
| return _sendInlineRequest('test(10,');
|
| - }, '''
|
| + },
|
| + '''
|
| test(a, b) {
|
| print(a + b);
|
| }
|
| @@ -1000,7 +1056,8 @@ import 'lib.dart';
|
| _setOptions('/project/test.dart');
|
| return assertSuccessfulRefactoring(() {
|
| return _sendMoveRequest();
|
| - }, '''
|
| + },
|
| + '''
|
| import 'dart:math';
|
| import 'bin/lib.dart';
|
| ''');
|
| @@ -1008,8 +1065,8 @@ import 'bin/lib.dart';
|
|
|
| Future<Response> _sendMoveRequest() {
|
| Request request = new EditGetRefactoringParams(
|
| - RefactoringKind.MOVE_FILE, testFile, 0, 0, false, options: options)
|
| - .toRequest('0');
|
| + RefactoringKind.MOVE_FILE, testFile, 0, 0, false,
|
| + options: options).toRequest('0');
|
| return serverChannel.sendRequest(request);
|
| }
|
|
|
| @@ -1063,7 +1120,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('Test {', 'NewName');
|
| - }, '''
|
| + },
|
| + '''
|
| class NewName {
|
| NewName() {}
|
| NewName.named() {}
|
| @@ -1124,7 +1182,9 @@ main() {
|
| assertResultProblemsWarning(result.optionsProblems,
|
| 'Class name should start with an uppercase letter.');
|
| // ...but there is still a change
|
| - assertTestRefactoringResult(result, '''
|
| + assertTestRefactoringResult(
|
| + result,
|
| + '''
|
| class newName {}
|
| main() {
|
| newName v;
|
| @@ -1137,7 +1197,9 @@ main() {
|
| }).then((result) {
|
| assertResultProblemsOK(result);
|
| // ...and there is a new change
|
| - assertTestRefactoringResult(result, '''
|
| + assertTestRefactoringResult(
|
| + result,
|
| + '''
|
| class NewName {}
|
| main() {
|
| NewName v;
|
| @@ -1159,7 +1221,8 @@ class A {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test = 0', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| var newName = 0;
|
| A(this.newName);
|
| @@ -1182,7 +1245,8 @@ class A {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test);', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| var newName = 0;
|
| A(this.newName);
|
| @@ -1205,7 +1269,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test: 42', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| final int newName;
|
| A({this.newName: 0});
|
| @@ -1227,7 +1292,8 @@ class A {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test =>', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| get newName => 0;
|
| main() {
|
| @@ -1251,7 +1317,8 @@ main(A a) {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test() {}', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| newName() {}
|
| main() {
|
| @@ -1302,7 +1369,8 @@ class A {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test = 0', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| set newName(x) {}
|
| main() {
|
| @@ -1323,7 +1391,8 @@ class B {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('B;', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| A() = B.newName;
|
| }
|
| @@ -1344,7 +1413,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test();', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| A.newName() {}
|
| }
|
| @@ -1365,7 +1435,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('A();', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| A.newName() {}
|
| }
|
| @@ -1386,7 +1457,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('new A();', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| class A {
|
| A.newName() {}
|
| }
|
| @@ -1423,7 +1495,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test() {}', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| newName() {}
|
| main() {
|
| newName();
|
| @@ -1443,7 +1516,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest("import 'dart:async';", 'new_name');
|
| - }, '''
|
| + },
|
| + '''
|
| import 'dart:math';
|
| import 'dart:async' as new_name;
|
| main() {
|
| @@ -1464,7 +1538,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest("import 'dart:async' as test;", '');
|
| - }, '''
|
| + },
|
| + '''
|
| import 'dart:math' as test;
|
| import 'dart:async';
|
| main() {
|
| @@ -1492,7 +1567,8 @@ library aaa.bbb.ccc;
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('library aaa', 'my.new_name');
|
| - }, '''
|
| + },
|
| + '''
|
| library my.new_name;
|
| ''');
|
| }
|
| @@ -1503,7 +1579,8 @@ library aaa.bbb.ccc;
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('aaa', 'my.new_name');
|
| - }, '''
|
| + },
|
| + '''
|
| library my.new_name;
|
| ''');
|
| }
|
| @@ -1514,7 +1591,8 @@ library aaa.bbb.ccc;
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('.bbb', 'my.new_name');
|
| - }, '''
|
| + },
|
| + '''
|
| library my.new_name;
|
| ''');
|
| }
|
| @@ -1530,7 +1608,8 @@ main() {
|
| ''');
|
| return assertSuccessfulRefactoring(() {
|
| return sendRenameRequest('test = 1', 'newName');
|
| - }, '''
|
| + },
|
| + '''
|
| main() {
|
| int newName = 0;
|
| newName = 1;
|
| @@ -1701,8 +1780,8 @@ class _AbstractGetRefactoring_Test extends AbstractAnalysisTest {
|
| RefactoringKind kind, int offset, int length, RefactoringOptions options,
|
| [bool validateOnly = false]) {
|
| Request request = new EditGetRefactoringParams(
|
| - kind, testFile, offset, length, validateOnly, options: options)
|
| - .toRequest('0');
|
| + kind, testFile, offset, length, validateOnly,
|
| + options: options).toRequest('0');
|
| return serverChannel.sendRequest(request);
|
| }
|
|
|
|
|