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

Side by Side Diff: pkg/analysis_server/test/edit/refactoring_test.dart

Issue 1281983002: Check for reset during 'await' in refactoring manager. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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/lib/src/edit/edit_domain.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.edit.refactoring; 5 library test.edit.refactoring;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/edit/edit_domain.dart'; 9 import 'package:analysis_server/src/edit/edit_domain.dart';
10 import 'package:analysis_server/src/protocol.dart'; 10 import 'package:analysis_server/src/protocol.dart';
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 String search, String suffix, String name, bool extractAll) { 262 String search, String suffix, String name, bool extractAll) {
263 int offset = findOffset(search + suffix); 263 int offset = findOffset(search + suffix);
264 int length = search.length; 264 int length = search.length;
265 return sendExtractRequest(offset, length, name, extractAll); 265 return sendExtractRequest(offset, length, name, extractAll);
266 } 266 }
267 267
268 void tearDown() { 268 void tearDown() {
269 test_simulateRefactoringException_init = false; 269 test_simulateRefactoringException_init = false;
270 test_simulateRefactoringException_final = false; 270 test_simulateRefactoringException_final = false;
271 test_simulateRefactoringException_change = false; 271 test_simulateRefactoringException_change = false;
272 test_simulateRefactoringReset_afterInitialConditions = false;
273 test_simulateRefactoringReset_afterFinalConditions = false;
274 test_simulateRefactoringReset_afterCreateChange = false;
272 super.tearDown(); 275 super.tearDown();
273 } 276 }
274 277
275 test_extractAll() { 278 test_extractAll() {
276 addTestFile(''' 279 addTestFile('''
277 main() { 280 main() {
278 print(1 + 2); 281 print(1 + 2);
279 print(1 + 2); 282 print(1 + 2);
280 } 283 }
281 '''); 284 ''');
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 '''); 363 ''');
361 return getRefactoringResult(() { 364 return getRefactoringResult(() {
362 return sendStringRequest('1 + 2', 'res', true); 365 return sendStringRequest('1 + 2', 'res', true);
363 }).then((result) { 366 }).then((result) {
364 ExtractLocalVariableFeedback feedback = result.feedback; 367 ExtractLocalVariableFeedback feedback = result.feedback;
365 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]); 368 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]);
366 expect(feedback.lengths, [5, 6]); 369 expect(feedback.lengths, [5, 6]);
367 }); 370 });
368 } 371 }
369 372
373 test_reset_afterCreateChange() {
374 test_simulateRefactoringReset_afterCreateChange = true;
375 addTestFile('''
376 main() {
377 print(1 + 2);
378 }
379 ''');
380 return waitForTasksFinished().then((_) {
381 return sendStringRequest('1 + 2', 'res', true).then((response) {
382 _expectRefactoringRequestCancelled(response);
383 });
384 });
385 }
386
387 test_reset_afterFinalConditions() {
388 test_simulateRefactoringReset_afterFinalConditions = true;
389 addTestFile('''
390 main() {
391 print(1 + 2);
392 }
393 ''');
394 return waitForTasksFinished().then((_) {
395 return sendStringRequest('1 + 2', 'res', true).then((response) {
396 _expectRefactoringRequestCancelled(response);
397 });
398 });
399 }
400
401 test_reset_afterInitialConditions() {
402 test_simulateRefactoringReset_afterInitialConditions = true;
403 addTestFile('''
404 main() {
405 print(1 + 2);
406 }
407 ''');
408 return waitForTasksFinished().then((_) {
409 return sendStringRequest('1 + 2', 'res', true).then((response) {
410 _expectRefactoringRequestCancelled(response);
411 });
412 });
413 }
414
370 test_serverError_change() { 415 test_serverError_change() {
371 test_simulateRefactoringException_change = true; 416 test_simulateRefactoringException_change = true;
372 addTestFile(''' 417 addTestFile('''
373 main() { 418 main() {
374 print(1 + 2); 419 print(1 + 2);
375 } 420 }
376 '''); 421 ''');
377 return waitForTasksFinished().then((_) { 422 return waitForTasksFinished().then((_) {
378 return sendStringRequest('1 + 2', 'res', true).then((response) { 423 return sendStringRequest('1 + 2', 'res', true).then((response) {
379 expect(response.error, isNotNull); 424 expect(response.error, isNotNull);
(...skipping 24 matching lines...) Expand all
404 print(1 + 2); 449 print(1 + 2);
405 } 450 }
406 '''); 451 ''');
407 return waitForTasksFinished().then((_) { 452 return waitForTasksFinished().then((_) {
408 return sendStringRequest('1 + 2', 'res', true).then((response) { 453 return sendStringRequest('1 + 2', 'res', true).then((response) {
409 expect(response.error, isNotNull); 454 expect(response.error, isNotNull);
410 expect(response.error.code, RequestErrorCode.SERVER_ERROR); 455 expect(response.error.code, RequestErrorCode.SERVER_ERROR);
411 }); 456 });
412 }); 457 });
413 } 458 }
459
460 void _expectRefactoringRequestCancelled(Response response) {
461 expect(response.error, isNotNull);
462 expect(response,
463 isResponseFailure('0', RequestErrorCode.REFACTORING_REQUEST_CANCELLED));
464 }
414 } 465 }
415 466
416 @reflectiveTest 467 @reflectiveTest
417 class ExtractMethodTest extends _AbstractGetRefactoring_Test { 468 class ExtractMethodTest extends _AbstractGetRefactoring_Test {
418 int offset; 469 int offset;
419 int length; 470 int length;
420 String name = 'res'; 471 String name = 'res';
421 ExtractMethodOptions options; 472 ExtractMethodOptions options;
422 473
423 test_expression() { 474 test_expression() {
(...skipping 1403 matching lines...) Expand 10 before | Expand all | Expand 10 after
1827 .toRequest('0'); 1878 .toRequest('0');
1828 return _assertErrorResposeNoIndex(request); 1879 return _assertErrorResposeNoIndex(request);
1829 } 1880 }
1830 1881
1831 _assertErrorResposeNoIndex(Request request) async { 1882 _assertErrorResposeNoIndex(Request request) async {
1832 Response response = await serverChannel.sendRequest(request); 1883 Response response = await serverChannel.sendRequest(request);
1833 expect(response.error, isNotNull); 1884 expect(response.error, isNotNull);
1834 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED); 1885 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED);
1835 } 1886 }
1836 } 1887 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/edit/edit_domain.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698