| 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.services.refactoring.rename_class_member; | 5 library test.services.refactoring.rename_class_member; |
| 6 | 6 |
| 7 import 'package:analysis_server/src/protocol.dart'; | 7 import 'package:analysis_server/src/protocol.dart'; |
| 8 import 'package:analysis_testing/reflective_tests.dart'; | 8 import 'package:analysis_testing/reflective_tests.dart'; |
| 9 import 'package:unittest/unittest.dart'; | 9 import 'package:unittest/unittest.dart'; |
| 10 | 10 |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 print(c.test); | 352 print(c.test); |
| 353 c.test = 1; | 353 c.test = 1; |
| 354 } | 354 } |
| 355 '''); | 355 '''); |
| 356 // configure refactoring | 356 // configure refactoring |
| 357 createRenameRefactoringAtString('test; // marker'); | 357 createRenameRefactoringAtString('test; // marker'); |
| 358 expect(refactoring.refactoringName, 'Rename Field'); | 358 expect(refactoring.refactoringName, 'Rename Field'); |
| 359 expect(refactoring.oldName, 'test'); | 359 expect(refactoring.oldName, 'test'); |
| 360 refactoring.newName = 'newName'; | 360 refactoring.newName = 'newName'; |
| 361 // validate change | 361 // validate change |
| 362 return assertSuccessfulRename(''' | 362 return assertSuccessfulRefactoring(''' |
| 363 class A { | 363 class A { |
| 364 int newName; // marker | 364 int newName; // marker |
| 365 main() { | 365 main() { |
| 366 print(newName); | 366 print(newName); |
| 367 newName = 1; | 367 newName = 1; |
| 368 newName += 2; | 368 newName += 2; |
| 369 } | 369 } |
| 370 } | 370 } |
| 371 class B extends A { | 371 class B extends A { |
| 372 } | 372 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 395 final test; | 395 final test; |
| 396 A() : test = 5; | 396 A() : test = 5; |
| 397 } | 397 } |
| 398 '''); | 398 '''); |
| 399 // configure refactoring | 399 // configure refactoring |
| 400 createRenameRefactoringAtString('test;'); | 400 createRenameRefactoringAtString('test;'); |
| 401 expect(refactoring.refactoringName, 'Rename Field'); | 401 expect(refactoring.refactoringName, 'Rename Field'); |
| 402 expect(refactoring.oldName, 'test'); | 402 expect(refactoring.oldName, 'test'); |
| 403 refactoring.newName = 'newName'; | 403 refactoring.newName = 'newName'; |
| 404 // validate change | 404 // validate change |
| 405 return assertSuccessfulRename(''' | 405 return assertSuccessfulRefactoring(''' |
| 406 class A { | 406 class A { |
| 407 final newName; | 407 final newName; |
| 408 A() : newName = 5; | 408 A() : newName = 5; |
| 409 } | 409 } |
| 410 '''); | 410 '''); |
| 411 } | 411 } |
| 412 | 412 |
| 413 test_createChange_FieldElement_fieldFormalParameter() { | 413 test_createChange_FieldElement_fieldFormalParameter() { |
| 414 indexTestUnit(''' | 414 indexTestUnit(''' |
| 415 class A { | 415 class A { |
| 416 final test; | 416 final test; |
| 417 A(this.test); | 417 A(this.test); |
| 418 } | 418 } |
| 419 '''); | 419 '''); |
| 420 // configure refactoring | 420 // configure refactoring |
| 421 createRenameRefactoringAtString('test;'); | 421 createRenameRefactoringAtString('test;'); |
| 422 expect(refactoring.refactoringName, 'Rename Field'); | 422 expect(refactoring.refactoringName, 'Rename Field'); |
| 423 expect(refactoring.oldName, 'test'); | 423 expect(refactoring.oldName, 'test'); |
| 424 refactoring.newName = 'newName'; | 424 refactoring.newName = 'newName'; |
| 425 // validate change | 425 // validate change |
| 426 return assertSuccessfulRename(''' | 426 return assertSuccessfulRefactoring(''' |
| 427 class A { | 427 class A { |
| 428 final newName; | 428 final newName; |
| 429 A(this.newName); | 429 A(this.newName); |
| 430 } | 430 } |
| 431 '''); | 431 '''); |
| 432 } | 432 } |
| 433 | 433 |
| 434 test_createChange_FieldElement_invocation() { | 434 test_createChange_FieldElement_invocation() { |
| 435 indexTestUnit(''' | 435 indexTestUnit(''' |
| 436 typedef F(a); | 436 typedef F(a); |
| 437 class A { | 437 class A { |
| 438 F test; | 438 F test; |
| 439 main() { | 439 main() { |
| 440 test(1); | 440 test(1); |
| 441 } | 441 } |
| 442 } | 442 } |
| 443 main() { | 443 main() { |
| 444 A a = new A(); | 444 A a = new A(); |
| 445 a.test(2); | 445 a.test(2); |
| 446 } | 446 } |
| 447 '''); | 447 '''); |
| 448 // configure refactoring | 448 // configure refactoring |
| 449 createRenameRefactoringAtString('test(2);'); | 449 createRenameRefactoringAtString('test(2);'); |
| 450 expect(refactoring.refactoringName, 'Rename Field'); | 450 expect(refactoring.refactoringName, 'Rename Field'); |
| 451 expect(refactoring.oldName, 'test'); | 451 expect(refactoring.oldName, 'test'); |
| 452 refactoring.newName = 'newName'; | 452 refactoring.newName = 'newName'; |
| 453 // validate change | 453 // validate change |
| 454 return assertSuccessfulRename(''' | 454 return assertSuccessfulRefactoring(''' |
| 455 typedef F(a); | 455 typedef F(a); |
| 456 class A { | 456 class A { |
| 457 F newName; | 457 F newName; |
| 458 main() { | 458 main() { |
| 459 newName(1); | 459 newName(1); |
| 460 } | 460 } |
| 461 } | 461 } |
| 462 main() { | 462 main() { |
| 463 A a = new A(); | 463 A a = new A(); |
| 464 a.newName(2); | 464 a.newName(2); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 495 d.test(); | 495 d.test(); |
| 496 e.test(); | 496 e.test(); |
| 497 } | 497 } |
| 498 '''); | 498 '''); |
| 499 // configure refactoring | 499 // configure refactoring |
| 500 createRenameRefactoringAtString('test() {} // marker'); | 500 createRenameRefactoringAtString('test() {} // marker'); |
| 501 expect(refactoring.refactoringName, 'Rename Method'); | 501 expect(refactoring.refactoringName, 'Rename Method'); |
| 502 expect(refactoring.oldName, 'test'); | 502 expect(refactoring.oldName, 'test'); |
| 503 refactoring.newName = 'newName'; | 503 refactoring.newName = 'newName'; |
| 504 // validate change | 504 // validate change |
| 505 return assertSuccessfulRename(''' | 505 return assertSuccessfulRefactoring(''' |
| 506 class A { | 506 class A { |
| 507 newName() {} | 507 newName() {} |
| 508 } | 508 } |
| 509 class B extends A { | 509 class B extends A { |
| 510 newName() {} // marker | 510 newName() {} // marker |
| 511 } | 511 } |
| 512 class C extends B { | 512 class C extends B { |
| 513 newName() {} | 513 newName() {} |
| 514 } | 514 } |
| 515 class D implements A { | 515 class D implements A { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 543 new A().test(); | 543 new A().test(); |
| 544 a.test(); // 2 | 544 a.test(); // 2 |
| 545 } | 545 } |
| 546 '''); | 546 '''); |
| 547 // configure refactoring | 547 // configure refactoring |
| 548 createRenameRefactoringAtString('test() {}'); | 548 createRenameRefactoringAtString('test() {}'); |
| 549 expect(refactoring.refactoringName, 'Rename Method'); | 549 expect(refactoring.refactoringName, 'Rename Method'); |
| 550 expect(refactoring.oldName, 'test'); | 550 expect(refactoring.oldName, 'test'); |
| 551 refactoring.newName = 'newName'; | 551 refactoring.newName = 'newName'; |
| 552 // validate change | 552 // validate change |
| 553 return assertSuccessfulRename(''' | 553 return assertSuccessfulRefactoring(''' |
| 554 class A { | 554 class A { |
| 555 newName() {} | 555 newName() {} |
| 556 } | 556 } |
| 557 main(var a) { | 557 main(var a) { |
| 558 a.newName(); // 1 | 558 a.newName(); // 1 |
| 559 new A().newName(); | 559 new A().newName(); |
| 560 a.newName(); // 2 | 560 a.newName(); // 2 |
| 561 } | 561 } |
| 562 ''').then((_) { | 562 ''').then((_) { |
| 563 assertPotentialEdits(['test(); // 1', 'test(); // 2']); | 563 assertPotentialEdits(['test(); // 1', 'test(); // 2']); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 579 a._test(); | 579 a._test(); |
| 580 new A()._test(); | 580 new A()._test(); |
| 581 } | 581 } |
| 582 '''); | 582 '''); |
| 583 // configure refactoring | 583 // configure refactoring |
| 584 createRenameRefactoringAtString('_test() {}'); | 584 createRenameRefactoringAtString('_test() {}'); |
| 585 expect(refactoring.refactoringName, 'Rename Method'); | 585 expect(refactoring.refactoringName, 'Rename Method'); |
| 586 expect(refactoring.oldName, '_test'); | 586 expect(refactoring.oldName, '_test'); |
| 587 refactoring.newName = 'newName'; | 587 refactoring.newName = 'newName'; |
| 588 // validate change | 588 // validate change |
| 589 return assertSuccessfulRename(''' | 589 return assertSuccessfulRefactoring(''' |
| 590 class A { | 590 class A { |
| 591 newName() {} | 591 newName() {} |
| 592 } | 592 } |
| 593 main(var a) { | 593 main(var a) { |
| 594 a.newName(); | 594 a.newName(); |
| 595 new A().newName(); | 595 new A().newName(); |
| 596 } | 596 } |
| 597 ''').then((_) { | 597 ''').then((_) { |
| 598 assertNoFileChange('/lib.dart'); | 598 assertNoFileChange('/lib.dart'); |
| 599 }); | 599 }); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 622 print(b.test); | 622 print(b.test); |
| 623 b.test = 2; | 623 b.test = 2; |
| 624 } | 624 } |
| 625 '''); | 625 '''); |
| 626 // configure refactoring | 626 // configure refactoring |
| 627 createRenameRefactoringAtString('test {} // marker'); | 627 createRenameRefactoringAtString('test {} // marker'); |
| 628 expect(refactoring.refactoringName, 'Rename Field'); | 628 expect(refactoring.refactoringName, 'Rename Field'); |
| 629 expect(refactoring.oldName, 'test'); | 629 expect(refactoring.oldName, 'test'); |
| 630 refactoring.newName = 'newName'; | 630 refactoring.newName = 'newName'; |
| 631 // validate change | 631 // validate change |
| 632 return assertSuccessfulRename(''' | 632 return assertSuccessfulRefactoring(''' |
| 633 class A { | 633 class A { |
| 634 get newName {} // marker | 634 get newName {} // marker |
| 635 set newName(x) {} | 635 set newName(x) {} |
| 636 main() { | 636 main() { |
| 637 print(newName); | 637 print(newName); |
| 638 newName = 1; | 638 newName = 1; |
| 639 } | 639 } |
| 640 } | 640 } |
| 641 class B extends A { | 641 class B extends A { |
| 642 get newName {} | 642 get newName {} |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 print(b.test); | 677 print(b.test); |
| 678 b.test = 2; | 678 b.test = 2; |
| 679 } | 679 } |
| 680 '''); | 680 '''); |
| 681 // configure refactoring | 681 // configure refactoring |
| 682 createRenameRefactoringAtString('test(x) {} // marker'); | 682 createRenameRefactoringAtString('test(x) {} // marker'); |
| 683 expect(refactoring.refactoringName, 'Rename Field'); | 683 expect(refactoring.refactoringName, 'Rename Field'); |
| 684 expect(refactoring.oldName, 'test'); | 684 expect(refactoring.oldName, 'test'); |
| 685 refactoring.newName = 'newName'; | 685 refactoring.newName = 'newName'; |
| 686 // validate change | 686 // validate change |
| 687 return assertSuccessfulRename(''' | 687 return assertSuccessfulRefactoring(''' |
| 688 class A { | 688 class A { |
| 689 get newName {} | 689 get newName {} |
| 690 set newName(x) {} // marker | 690 set newName(x) {} // marker |
| 691 main() { | 691 main() { |
| 692 print(newName); | 692 print(newName); |
| 693 newName = 1; | 693 newName = 1; |
| 694 } | 694 } |
| 695 } | 695 } |
| 696 class B extends A { | 696 class B extends A { |
| 697 get newName {} | 697 get newName {} |
| (...skipping 18 matching lines...) Expand all Loading... |
| 716 List<Test> items; | 716 List<Test> items; |
| 717 Test method(Test p) => null; | 717 Test method(Test p) => null; |
| 718 } | 718 } |
| 719 '''); | 719 '''); |
| 720 // configure refactoring | 720 // configure refactoring |
| 721 createRenameRefactoringAtString('Test> {'); | 721 createRenameRefactoringAtString('Test> {'); |
| 722 expect(refactoring.refactoringName, 'Rename Type Parameter'); | 722 expect(refactoring.refactoringName, 'Rename Type Parameter'); |
| 723 expect(refactoring.oldName, 'Test'); | 723 expect(refactoring.oldName, 'Test'); |
| 724 refactoring.newName = 'NewName'; | 724 refactoring.newName = 'NewName'; |
| 725 // validate change | 725 // validate change |
| 726 return assertSuccessfulRename(''' | 726 return assertSuccessfulRefactoring(''' |
| 727 class A<NewName> { | 727 class A<NewName> { |
| 728 NewName field; | 728 NewName field; |
| 729 List<NewName> items; | 729 List<NewName> items; |
| 730 NewName method(NewName p) => null; | 730 NewName method(NewName p) => null; |
| 731 } | 731 } |
| 732 '''); | 732 '''); |
| 733 } | 733 } |
| 734 } | 734 } |
| OLD | NEW |