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

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

Issue 2903523003: Switch server tests to strong mode. (Closed)
Patch Set: Created 3 years, 7 months 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/test/services/refactoring/extract_method_test.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 import 'package:analysis_server/src/services/correction/status.dart'; 5 import 'package:analysis_server/src/services/correction/status.dart';
6 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; 6 import 'package:analysis_server/src/services/refactoring/refactoring.dart';
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/element/element.dart'; 8 import 'package:analyzer/dart/element/element.dart';
9 import 'package:analyzer_plugin/protocol/protocol_common.dart'; 9 import 'package:analyzer_plugin/protocol/protocol_common.dart';
10 import 'package:test/test.dart'; 10 import 'package:test/test.dart';
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR, 93 assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR,
94 expectedMessage: 94 expectedMessage:
95 "Class 'A' already declares method with name 'newName'.", 95 "Class 'A' already declares method with name 'newName'.",
96 expectedContextSearch: 'newName() {} // existing'); 96 expectedContextSearch: 'newName() {} // existing');
97 } 97 }
98 98
99 test_createChange_add() async { 99 test_createChange_add() async {
100 await indexTestUnit(''' 100 await indexTestUnit('''
101 class A { 101 class A {
102 A() {} // marker 102 A() {} // marker
103 factory A._() = A;
103 } 104 }
104 class B extends A { 105 class B extends A {
105 B() : super() {} 106 B() : super() {}
106 factory B._() = A;
107 } 107 }
108 main() { 108 main() {
109 new A(); 109 new A();
110 } 110 }
111 '''); 111 ''');
112 // configure refactoring 112 // configure refactoring
113 _createConstructorDeclarationRefactoring('() {} // marker'); 113 _createConstructorDeclarationRefactoring('() {} // marker');
114 expect(refactoring.refactoringName, 'Rename Constructor'); 114 expect(refactoring.refactoringName, 'Rename Constructor');
115 expect(refactoring.elementKindName, 'constructor'); 115 expect(refactoring.elementKindName, 'constructor');
116 expect(refactoring.oldName, ''); 116 expect(refactoring.oldName, '');
117 // validate change 117 // validate change
118 refactoring.newName = 'newName'; 118 refactoring.newName = 'newName';
119 return assertSuccessfulRefactoring(''' 119 return assertSuccessfulRefactoring('''
120 class A { 120 class A {
121 A.newName() {} // marker 121 A.newName() {} // marker
122 factory A._() = A.newName;
122 } 123 }
123 class B extends A { 124 class B extends A {
124 B() : super.newName() {} 125 B() : super.newName() {}
125 factory B._() = A.newName;
126 } 126 }
127 main() { 127 main() {
128 new A.newName(); 128 new A.newName();
129 } 129 }
130 '''); 130 ''');
131 } 131 }
132 132
133 test_createChange_add_toSynthetic() async { 133 test_createChange_add_toSynthetic() async {
134 await indexTestUnit(''' 134 await indexTestUnit('''
135 class A { 135 class A {
136 } 136 }
137 class B extends A { 137 class B extends A {
138 B() : super() {} 138 B() : super() {}
139 factory B._() = A;
140 } 139 }
141 main() { 140 main() {
142 new A(); 141 new A();
143 } 142 }
144 '''); 143 ''');
145 // configure refactoring 144 // configure refactoring
146 _createConstructorInvocationRefactoring('new A();'); 145 _createConstructorInvocationRefactoring('new A();');
147 expect(refactoring.refactoringName, 'Rename Constructor'); 146 expect(refactoring.refactoringName, 'Rename Constructor');
148 expect(refactoring.elementKindName, 'constructor'); 147 expect(refactoring.elementKindName, 'constructor');
149 expect(refactoring.oldName, ''); 148 expect(refactoring.oldName, '');
150 // validate change 149 // validate change
151 refactoring.newName = 'newName'; 150 refactoring.newName = 'newName';
152 return assertSuccessfulRefactoring(''' 151 return assertSuccessfulRefactoring('''
153 class A { 152 class A {
154 A.newName(); 153 A.newName();
155 } 154 }
156 class B extends A { 155 class B extends A {
157 B() : super.newName() {} 156 B() : super.newName() {}
158 factory B._() = A.newName;
159 } 157 }
160 main() { 158 main() {
161 new A.newName(); 159 new A.newName();
162 } 160 }
163 '''); 161 ''');
164 } 162 }
165 163
166 test_createChange_change() async { 164 test_createChange_change() async {
167 await indexTestUnit(''' 165 await indexTestUnit('''
168 class A { 166 class A {
169 A.test() {} // marker 167 A.test() {} // marker
168 factory A._() = A.test;
170 } 169 }
171 class B extends A { 170 class B extends A {
172 B() : super.test() {} 171 B() : super.test() {}
173 factory B._() = A.test;
174 } 172 }
175 main() { 173 main() {
176 new A.test(); 174 new A.test();
177 } 175 }
178 '''); 176 ''');
179 // configure refactoring 177 // configure refactoring
180 _createConstructorDeclarationRefactoring('test() {} // marker'); 178 _createConstructorDeclarationRefactoring('test() {} // marker');
181 expect(refactoring.refactoringName, 'Rename Constructor'); 179 expect(refactoring.refactoringName, 'Rename Constructor');
182 expect(refactoring.elementKindName, 'constructor'); 180 expect(refactoring.elementKindName, 'constructor');
183 expect(refactoring.oldName, 'test'); 181 expect(refactoring.oldName, 'test');
184 // validate change 182 // validate change
185 refactoring.newName = 'newName'; 183 refactoring.newName = 'newName';
186 return assertSuccessfulRefactoring(''' 184 return assertSuccessfulRefactoring('''
187 class A { 185 class A {
188 A.newName() {} // marker 186 A.newName() {} // marker
187 factory A._() = A.newName;
189 } 188 }
190 class B extends A { 189 class B extends A {
191 B() : super.newName() {} 190 B() : super.newName() {}
192 factory B._() = A.newName;
193 } 191 }
194 main() { 192 main() {
195 new A.newName(); 193 new A.newName();
196 } 194 }
197 '''); 195 ''');
198 } 196 }
199 197
200 test_createChange_remove() async { 198 test_createChange_remove() async {
201 await indexTestUnit(''' 199 await indexTestUnit('''
202 class A { 200 class A {
203 A.test() {} // marker 201 A.test() {} // marker
202 factory A._() = A.test;
204 } 203 }
205 class B extends A { 204 class B extends A {
206 B() : super.test() {} 205 B() : super.test() {}
207 factory B._() = A.test;
208 } 206 }
209 main() { 207 main() {
210 new A.test(); 208 new A.test();
211 } 209 }
212 '''); 210 ''');
213 // configure refactoring 211 // configure refactoring
214 _createConstructorDeclarationRefactoring('test() {} // marker'); 212 _createConstructorDeclarationRefactoring('test() {} // marker');
215 expect(refactoring.refactoringName, 'Rename Constructor'); 213 expect(refactoring.refactoringName, 'Rename Constructor');
216 expect(refactoring.elementKindName, 'constructor'); 214 expect(refactoring.elementKindName, 'constructor');
217 expect(refactoring.oldName, 'test'); 215 expect(refactoring.oldName, 'test');
218 // validate change 216 // validate change
219 refactoring.newName = ''; 217 refactoring.newName = '';
220 return assertSuccessfulRefactoring(''' 218 return assertSuccessfulRefactoring('''
221 class A { 219 class A {
222 A() {} // marker 220 A() {} // marker
221 factory A._() = A;
223 } 222 }
224 class B extends A { 223 class B extends A {
225 B() : super() {} 224 B() : super() {}
226 factory B._() = A;
227 } 225 }
228 main() { 226 main() {
229 new A(); 227 new A();
230 } 228 }
231 '''); 229 ''');
232 } 230 }
233 231
234 test_newInstance_nullElement() async { 232 test_newInstance_nullElement() async {
235 RenameRefactoring refactoring = 233 RenameRefactoring refactoring =
236 new RenameRefactoring(searchEngine, null, null); 234 new RenameRefactoring(searchEngine, null, null);
237 expect(refactoring, isNull); 235 expect(refactoring, isNull);
238 } 236 }
239 237
240 void _createConstructorDeclarationRefactoring(String search) { 238 void _createConstructorDeclarationRefactoring(String search) {
241 ConstructorElement element = findNodeElementAtString( 239 ConstructorElement element = findNodeElementAtString(
242 search, (node) => node is ConstructorDeclaration); 240 search, (node) => node is ConstructorDeclaration);
243 createRenameRefactoringForElement(element); 241 createRenameRefactoringForElement(element);
244 } 242 }
245 243
246 void _createConstructorInvocationRefactoring(String search) { 244 void _createConstructorInvocationRefactoring(String search) {
247 ConstructorElement element = findNodeElementAtString( 245 ConstructorElement element = findNodeElementAtString(
248 search, (node) => node is InstanceCreationExpression); 246 search, (node) => node is InstanceCreationExpression);
249 createRenameRefactoringForElement(element); 247 createRenameRefactoringForElement(element);
250 } 248 }
251 } 249 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/services/refactoring/extract_method_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698