Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: pkg/analysis_server/test/services/refactoring/extract_local_test.dart

Issue 1498523005: Extract Local refactoring: skip method names in invocations. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/services/refactoring/extract_local.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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.services.refactoring.extract_local; 5 library test.services.refactoring.extract_local;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/plugin/protocol/protocol.dart'; 9 import 'package:analysis_server/plugin/protocol/protocol.dart';
10 import 'package:analysis_server/src/services/correction/status.dart'; 10 import 'package:analysis_server/src/services/correction/status.dart';
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 v = 1; 62 v = 1;
63 } 63 }
64 '''); 64 ''');
65 _createRefactoringWithSuffix('v', ' = 1;'); 65 _createRefactoringWithSuffix('v', ' = 1;');
66 // check conditions 66 // check conditions
67 RefactoringStatus status = await refactoring.checkAllConditions(); 67 RefactoringStatus status = await refactoring.checkAllConditions();
68 assertRefactoringStatus(status, RefactoringProblemSeverity.FATAL, 68 assertRefactoringStatus(status, RefactoringProblemSeverity.FATAL,
69 expectedMessage: 'Cannot extract the left-hand side of an assignment.'); 69 expectedMessage: 'Cannot extract the left-hand side of an assignment.');
70 } 70 }
71 71
72 test_checkInitialConditions_methodName_reference() async { 72 test_checkInitialConditions_namePartOfDeclaration_function() async {
73 indexTestUnit(''' 73 indexTestUnit('''
74 main() { 74 main() {
75 main();
76 } 75 }
77 '''); 76 ''');
78 _createRefactoringWithSuffix('main', '();'); 77 _createRefactoringWithSuffix('main', '()');
79 // check conditions 78 // check conditions
80 RefactoringStatus status = await refactoring.checkAllConditions(); 79 RefactoringStatus status = await refactoring.checkAllConditions();
81 assertRefactoringStatus(status, RefactoringProblemSeverity.FATAL, 80 assertRefactoringStatus(status, RefactoringProblemSeverity.FATAL,
82 expectedMessage: 'Cannot extract a single method name.'); 81 expectedMessage: 'Cannot extract the name part of a declaration.');
83 } 82 }
84 83
85 test_checkInitialConditions_namePartOfDeclaration_variable() async { 84 test_checkInitialConditions_namePartOfDeclaration_variable() async {
86 indexTestUnit(''' 85 indexTestUnit('''
87 main() { 86 main() {
88 int vvv = 0; 87 int vvv = 0;
89 } 88 }
90 '''); 89 ''');
91 _createRefactoringWithSuffix('vvv', ' = 0;'); 90 _createRefactoringWithSuffix('vvv', ' = 0;');
92 // check conditions 91 // check conditions
(...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 _createRefactoringForString('1 /*abc*/'); 851 _createRefactoringForString('1 /*abc*/');
853 // apply refactoring 852 // apply refactoring
854 return _assertSuccessfulRefactoring(''' 853 return _assertSuccessfulRefactoring('''
855 main() { 854 main() {
856 var res = 1 /*abc*/ + 2; 855 var res = 1 /*abc*/ + 2;
857 int a = res + 345; 856 int a = res + 345;
858 } 857 }
859 '''); 858 ''');
860 } 859 }
861 860
861 test_singleExpression_methodName_reference() async {
862 indexTestUnit('''
863 main() {
864 var v = foo().length;
865 }
866 String foo() => '';
867 ''');
868 _createRefactoringWithSuffix('foo', '().');
869 // apply refactoring
870 return _assertSuccessfulRefactoring('''
871 main() {
872 var res = foo();
873 var v = res.length;
874 }
875 String foo() => '';
876 ''');
877 }
878
862 test_singleExpression_nameOfProperty_prefixedIdentifier() async { 879 test_singleExpression_nameOfProperty_prefixedIdentifier() async {
863 indexTestUnit(''' 880 indexTestUnit('''
864 main(p) { 881 main(p) {
865 var v = p.value; // marker 882 var v = p.value; // marker
866 } 883 }
867 '''); 884 ''');
868 _createRefactoringWithSuffix('value', '; // marker'); 885 _createRefactoringWithSuffix('value', '; // marker');
869 // apply refactoring 886 // apply refactoring
870 return _assertSuccessfulRefactoring(''' 887 return _assertSuccessfulRefactoring('''
871 main(p) { 888 main(p) {
(...skipping 15 matching lines...) Expand all
887 return _assertSuccessfulRefactoring(''' 904 return _assertSuccessfulRefactoring('''
888 main() { 905 main() {
889 var res = foo().length; 906 var res = foo().length;
890 var v = res; // marker 907 var v = res; // marker
891 } 908 }
892 String foo() => ''; 909 String foo() => '';
893 '''); 910 ''');
894 } 911 }
895 912
896 /** 913 /**
897 * Here we use knowledge how exactly `1 + 2 + 3 + 41 is parsed. We know that 914 * Here we use knowledge how exactly `1 + 2 + 3 + 4` is parsed. We know that
898 * `1 + 2` will be a separate and complete binary expression, so it can be 915 * `1 + 2` will be a separate and complete binary expression, so it can be
899 * handled as a single expression. 916 * handled as a single expression.
900 */ 917 */
901 test_singleExpression_partOfBinaryExpression() { 918 test_singleExpression_partOfBinaryExpression() {
902 indexTestUnit(''' 919 indexTestUnit('''
903 main() { 920 main() {
904 int a = 1 + 2 + 3 + 4; 921 int a = 1 + 2 + 3 + 4;
905 } 922 }
906 '''); 923 ''');
907 _createRefactoringForString('1 + 2'); 924 _createRefactoringForString('1 + 2');
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 int length = search.length; 1047 int length = search.length;
1031 _createRefactoring(offset, length); 1048 _createRefactoring(offset, length);
1032 } 1049 }
1033 1050
1034 void _createRefactoringWithSuffix(String selectionSearch, String suffix) { 1051 void _createRefactoringWithSuffix(String selectionSearch, String suffix) {
1035 int offset = findOffset(selectionSearch + suffix); 1052 int offset = findOffset(selectionSearch + suffix);
1036 int length = selectionSearch.length; 1053 int length = selectionSearch.length;
1037 _createRefactoring(offset, length); 1054 _createRefactoring(offset, length);
1038 } 1055 }
1039 } 1056 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/refactoring/extract_local.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698