Chromium Code Reviews| 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.inline_method; | 5 library test.services.refactoring.inline_method; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/plugin/protocol/protocol.dart' hide Element; | 9 import 'package:analysis_server/plugin/protocol/protocol.dart' hide Element; |
| 10 import 'package:analysis_server/src/services/correction/status.dart'; | 10 import 'package:analysis_server/src/services/correction/status.dart'; |
| (...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 704 _createRefactoring('test() {'); | 704 _createRefactoring('test() {'); |
| 705 // validate change | 705 // validate change |
| 706 return _assertSuccessfulRefactoring(r''' | 706 return _assertSuccessfulRefactoring(r''' |
| 707 var topLevelField = 0; | 707 var topLevelField = 0; |
| 708 main() { | 708 main() { |
| 709 print(topLevelField); | 709 print(topLevelField); |
| 710 } | 710 } |
| 711 '''); | 711 '''); |
| 712 } | 712 } |
| 713 | 713 |
| 714 test_getter_async() { | |
|
Brian Wilkerson
2016/10/31 14:00:38
Given that we are inlining 'test' into 'foo, perha
scheglov
2016/10/31 15:48:29
Done.
| |
| 715 indexTestUnit(r''' | |
| 716 import 'dart:async'; | |
| 717 class A { | |
| 718 Future<int> get test async => 42; | |
| 719 Future<int> get foo { | |
| 720 return test; | |
| 721 } | |
| 722 } | |
| 723 '''); | |
| 724 _createRefactoring('test async'); | |
| 725 // validate change | |
| 726 return _assertSuccessfulRefactoring(r''' | |
| 727 import 'dart:async'; | |
| 728 class A { | |
| 729 Future<int> get foo async { | |
| 730 return 42; | |
| 731 } | |
| 732 } | |
| 733 '''); | |
| 734 } | |
| 735 | |
| 714 test_getter_classMember_instance() { | 736 test_getter_classMember_instance() { |
| 715 indexTestUnit(r''' | 737 indexTestUnit(r''' |
| 716 class A { | 738 class A { |
| 717 int f; | 739 int f; |
| 718 int get result => f + 1; | 740 int get result => f + 1; |
| 719 } | 741 } |
| 720 main(A a) { | 742 main(A a) { |
| 721 print(a.result); | 743 print(a.result); |
| 722 } | 744 } |
| 723 '''); | 745 '''); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 796 } | 818 } |
| 797 '''); | 819 '''); |
| 798 _createRefactoring('test(1, 2)'); | 820 _createRefactoring('test(1, 2)'); |
| 799 deleteSource = false; | 821 deleteSource = false; |
| 800 // validate state | 822 // validate state |
| 801 await refactoring.checkInitialConditions(); | 823 await refactoring.checkInitialConditions(); |
| 802 expect(refactoring.deleteSource, false); | 824 expect(refactoring.deleteSource, false); |
| 803 expect(refactoring.inlineAll, false); | 825 expect(refactoring.inlineAll, false); |
| 804 } | 826 } |
| 805 | 827 |
| 828 test_method_async() { | |
| 829 indexTestUnit(r''' | |
| 830 import 'dart:async'; | |
| 831 class A { | |
| 832 Future<int> test() async => 42; | |
| 833 Future<int> foo() { | |
| 834 return test(); | |
| 835 } | |
| 836 } | |
| 837 '''); | |
| 838 _createRefactoring('test() async'); | |
| 839 // validate change | |
| 840 return _assertSuccessfulRefactoring(r''' | |
| 841 import 'dart:async'; | |
| 842 class A { | |
| 843 Future<int> foo() async { | |
| 844 return 42; | |
| 845 } | |
| 846 } | |
| 847 '''); | |
| 848 } | |
| 849 | |
| 850 test_method_async2() { | |
| 851 indexTestUnit(r''' | |
| 852 import 'dart:async'; | |
| 853 class A { | |
| 854 Future<int> test() async => 42; | |
| 855 Future foo() { | |
| 856 return [test(), test()]; | |
| 857 } | |
| 858 } | |
| 859 '''); | |
| 860 _createRefactoring('test() async'); | |
| 861 // validate change | |
| 862 return _assertSuccessfulRefactoring(r''' | |
| 863 import 'dart:async'; | |
| 864 class A { | |
| 865 Future foo() async { | |
| 866 return [42, 42]; | |
| 867 } | |
| 868 } | |
| 869 '''); | |
| 870 } | |
| 871 | |
| 806 test_method_emptyBody() { | 872 test_method_emptyBody() { |
| 807 indexTestUnit(r''' | 873 indexTestUnit(r''' |
| 808 abstract class A { | 874 abstract class A { |
| 809 test(); | 875 test(); |
| 810 } | 876 } |
| 811 main(A a) { | 877 main(A a) { |
| 812 print(a.test()); | 878 print(a.test()); |
| 813 } | 879 } |
| 814 '''); | 880 '''); |
| 815 _createRefactoring('test();'); | 881 _createRefactoring('test();'); |
| (...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1520 SourceChange change = await refactoring.createChange(); | 1586 SourceChange change = await refactoring.createChange(); |
| 1521 this.refactoringChange = change; | 1587 this.refactoringChange = change; |
| 1522 assertTestChangeResult(expectedCode); | 1588 assertTestChangeResult(expectedCode); |
| 1523 } | 1589 } |
| 1524 | 1590 |
| 1525 void _createRefactoring(String search) { | 1591 void _createRefactoring(String search) { |
| 1526 int offset = findOffset(search); | 1592 int offset = findOffset(search); |
| 1527 refactoring = new InlineMethodRefactoring(searchEngine, testUnit, offset); | 1593 refactoring = new InlineMethodRefactoring(searchEngine, testUnit, offset); |
| 1528 } | 1594 } |
| 1529 } | 1595 } |
| OLD | NEW |