| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |