| Index: pkg/analysis_server/test/services/refactoring/extract_method_test.dart
|
| diff --git a/pkg/analysis_server/test/services/refactoring/extract_method_test.dart b/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
|
| index bec57bd0ada21e4e92346f8ed7261eb9ba881b41..113e3742850bf9f50a872a7eb99492e2b0e316a1 100644
|
| --- a/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
|
| +++ b/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
|
| @@ -384,7 +384,31 @@ main() {
|
| return _assertFinalConditionsError("Parameter 'dup' already exists");
|
| }
|
|
|
| - test_bad_parameterName_inUse() async {
|
| + test_bad_parameterName_inUse_function() async {
|
| + indexTestUnit('''
|
| +main() {
|
| + int v1 = 1;
|
| + int v2 = 2;
|
| +// start
|
| + f(v1, v2);
|
| +// end
|
| +}
|
| +f(a, b) {}
|
| +''');
|
| + _createRefactoringForStartEndComments();
|
| + // update parameters
|
| + await refactoring.checkInitialConditions();
|
| + {
|
| + List<RefactoringMethodParameter> parameters = _getParametersCopy();
|
| + expect(parameters, hasLength(2));
|
| + parameters[0].name = 'f';
|
| + refactoring.parameters = parameters;
|
| + }
|
| + return _assertFinalConditionsError(
|
| + "'f' is already used as a name in the selected code");
|
| + }
|
| +
|
| + test_bad_parameterName_inUse_localVariable() async {
|
| indexTestUnit('''
|
| main() {
|
| int v1 = 1;
|
| @@ -407,6 +431,32 @@ main() {
|
| "'a' is already used as a name in the selected code");
|
| }
|
|
|
| + test_bad_parameterName_inUse_method() async {
|
| + indexTestUnit('''
|
| +class A {
|
| + main() {
|
| + int v1 = 1;
|
| + int v2 = 2;
|
| + // start
|
| + m(v1, v2);
|
| + // end
|
| + }
|
| + m(a, b) {}
|
| +}
|
| +''');
|
| + _createRefactoringForStartEndComments();
|
| + // update parameters
|
| + await refactoring.checkInitialConditions();
|
| + {
|
| + List<RefactoringMethodParameter> parameters = _getParametersCopy();
|
| + expect(parameters, hasLength(2));
|
| + parameters[0].name = 'm';
|
| + refactoring.parameters = parameters;
|
| + }
|
| + return _assertFinalConditionsError(
|
| + "'m' is already used as a name in the selected code");
|
| + }
|
| +
|
| test_bad_selectionEndsInSomeNode() {
|
| indexTestUnit('''
|
| main() {
|
| @@ -2213,6 +2263,24 @@ void res(Future<int> v) {
|
| ''');
|
| }
|
|
|
| + test_statements_parameters_noLocalVariableConflict() async {
|
| + indexTestUnit('''
|
| +int f(int x) {
|
| + int y = x + 1;
|
| +// start
|
| + if (y % 2 == 0) {
|
| + int y = x + 2;
|
| + return y;
|
| + } else {
|
| + return y;
|
| + }
|
| +// end
|
| +}
|
| +''');
|
| + _createRefactoringForStartEndComments();
|
| + await assertRefactoringConditionsOK();
|
| + }
|
| +
|
| test_statements_return_last() {
|
| indexTestUnit('''
|
| main() {
|
|
|