| Index: pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
|
| diff --git a/pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart b/pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
|
| similarity index 63%
|
| copy from pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart
|
| copy to pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
|
| index 543dcae1c754a94731b897e661580e20497c8c3b..89ad088def5062b49d9599ac673a02f1132f0f37 100644
|
| --- a/pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart
|
| +++ b/pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
|
| @@ -2,7 +2,7 @@
|
| // for details. All rights reserved. Use of this source code is governed by a
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| -library test.services.refactoring.convert_method_to_getter;
|
| +library test.services.refactoring.convert_getter_to_method;
|
|
|
| import 'dart:async';
|
|
|
| @@ -17,29 +17,29 @@ import 'abstract_refactoring.dart';
|
|
|
| main() {
|
| groupSep = ' | ';
|
| - runReflectiveTests(ConvertMethodToGetterTest);
|
| + runReflectiveTests(ConvertGetterToMethodTest);
|
| }
|
|
|
|
|
| @ReflectiveTestCase()
|
| -class ConvertMethodToGetterTest extends RefactoringTest {
|
| - ConvertMethodToGetterRefactoring refactoring;
|
| +class ConvertGetterToMethodTest extends RefactoringTest {
|
| + ConvertGetterToMethodRefactoring refactoring;
|
|
|
| test_change_function() {
|
| indexTestUnit('''
|
| -int test() => 42;
|
| +int get test => 42;
|
| main() {
|
| - var a = test();
|
| - var b = test();
|
| + var a = test;
|
| + var b = test;
|
| }
|
| ''');
|
| _createRefactoring('test');
|
| // apply refactoring
|
| return _assertSuccessfulRefactoring('''
|
| -int get test => 42;
|
| +int test() => 42;
|
| main() {
|
| - var a = test;
|
| - var b = test;
|
| + var a = test();
|
| + var b = test();
|
| }
|
| ''');
|
| }
|
| @@ -47,99 +47,58 @@ main() {
|
| test_change_method() {
|
| indexTestUnit('''
|
| class A {
|
| - int test() => 1;
|
| + int get test => 1;
|
| }
|
| class B extends A {
|
| - int test() => 2;
|
| + int get test => 2;
|
| }
|
| class C extends B {
|
| - int test() => 3;
|
| + int get test => 3;
|
| }
|
| class D extends A {
|
| - int test() => 4;
|
| + int get test => 4;
|
| }
|
| main(A a, B b, C c, D d) {
|
| - var va = a.test();
|
| - var vb = b.test();
|
| - var vc = c.test();
|
| - var vd = d.test();
|
| + var va = a.test;
|
| + var vb = b.test;
|
| + var vc = c.test;
|
| + var vd = d.test;
|
| }
|
| ''');
|
| - _createRefactoringForString('test() => 2');
|
| + _createRefactoringForString('test => 2');
|
| // apply refactoring
|
| return _assertSuccessfulRefactoring('''
|
| class A {
|
| - int get test => 1;
|
| + int test() => 1;
|
| }
|
| class B extends A {
|
| - int get test => 2;
|
| + int test() => 2;
|
| }
|
| class C extends B {
|
| - int get test => 3;
|
| + int test() => 3;
|
| }
|
| class D extends A {
|
| - int get test => 4;
|
| + int test() => 4;
|
| }
|
| main(A a, B b, C c, D d) {
|
| - var va = a.test;
|
| - var vb = b.test;
|
| - var vc = c.test;
|
| - var vd = d.test;
|
| -}
|
| -''');
|
| - }
|
| -
|
| - test_checkInitialConditions_alreadyGetter() {
|
| - indexTestUnit('''
|
| -int get test => 42;
|
| -main() {
|
| - var a = test;
|
| - var b = test;
|
| -}
|
| -''');
|
| - ExecutableElement element = findElement('test', ElementKind.GETTER);
|
| - _createRefactoringForElement(element);
|
| - // check conditions
|
| - _assertInitialConditions_fatal(
|
| - 'Only class methods or top-level functions can be converted to getters.');
|
| - }
|
| -
|
| - test_checkInitialConditions_hasParameters() {
|
| - indexTestUnit('''
|
| -int test(x) => x * 2;
|
| -main() {
|
| - var v = test(1);
|
| + var va = a.test();
|
| + var vb = b.test();
|
| + var vc = c.test();
|
| + var vd = d.test();
|
| }
|
| ''');
|
| - _createRefactoring('test');
|
| - // check conditions
|
| - _assertInitialConditions_fatal(
|
| - 'Only methods without parameters can be converted to getters.');
|
| }
|
|
|
| - test_checkInitialConditions_localFunction() {
|
| + test_checkInitialConditions_syntheticGetter() {
|
| indexTestUnit('''
|
| +int test = 42;
|
| main() {
|
| - test() {}
|
| - var v = test();
|
| -}
|
| -''');
|
| - _createRefactoring('test');
|
| - // check conditions
|
| - _assertInitialConditions_fatal(
|
| - 'Only top-level functions can be converted to getters.');
|
| - }
|
| -
|
| - test_checkInitialConditions_notFunctionOrMethod() {
|
| - indexTestUnit('''
|
| -class A {
|
| - A.test();
|
| }
|
| ''');
|
| _createRefactoring('test');
|
| // check conditions
|
| _assertInitialConditions_fatal(
|
| - 'Only class methods or top-level functions can be converted to getters.');
|
| + 'Only explicit getters can be converted to methods.');
|
| }
|
|
|
| Future _assertInitialConditions_fatal(String message) {
|
| @@ -152,8 +111,8 @@ class A {
|
| }
|
|
|
| /**
|
| - * Checks that all conditions are OK and the result of applying the [Change]
|
| - * to [testUnit] is [expectedCode].
|
| + * Checks that all conditions are OK and the result of applying [refactoring]
|
| + * change to [testUnit] is [expectedCode].
|
| */
|
| Future _assertSuccessfulRefactoring(String expectedCode) {
|
| return assertRefactoringConditionsOK().then((_) {
|
| @@ -165,12 +124,13 @@ class A {
|
| }
|
|
|
| void _createRefactoring(String elementName) {
|
| - ExecutableElement element = findElement(elementName);
|
| + PropertyAccessorElement element =
|
| + findElement(elementName, ElementKind.GETTER);
|
| _createRefactoringForElement(element);
|
| }
|
|
|
| void _createRefactoringForElement(ExecutableElement element) {
|
| - refactoring = new ConvertMethodToGetterRefactoring(searchEngine, element);
|
| + refactoring = new ConvertGetterToMethodRefactoring(searchEngine, element);
|
| }
|
|
|
| void _createRefactoringForString(String search) {
|
|
|