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 import 'dart:async'; | 5 import 'dart:async'; |
6 | 6 |
7 import 'package:analysis_server/protocol/protocol.dart'; | 7 import 'package:analysis_server/protocol/protocol.dart'; |
8 import 'package:analysis_server/protocol/protocol_generated.dart'; | 8 import 'package:analysis_server/protocol/protocol_generated.dart'; |
9 import 'package:analysis_server/src/edit/edit_domain.dart'; | 9 import 'package:analysis_server/src/edit/edit_domain.dart'; |
10 import 'package:analyzer_plugin/protocol/protocol_common.dart'; | 10 import 'package:analyzer_plugin/protocol/protocol_common.dart'; |
(...skipping 26 matching lines...) Expand all Loading... |
37 test_function() { | 37 test_function() { |
38 addTestFile(''' | 38 addTestFile(''' |
39 int get test => 42; | 39 int get test => 42; |
40 main() { | 40 main() { |
41 var a = 1 + test; | 41 var a = 1 + test; |
42 var b = 2 + test; | 42 var b = 2 + test; |
43 } | 43 } |
44 '''); | 44 '''); |
45 return assertSuccessfulRefactoring(() { | 45 return assertSuccessfulRefactoring(() { |
46 return _sendConvertRequest('test =>'); | 46 return _sendConvertRequest('test =>'); |
47 }, | 47 }, ''' |
48 ''' | |
49 int test() => 42; | 48 int test() => 42; |
50 main() { | 49 main() { |
51 var a = 1 + test(); | 50 var a = 1 + test(); |
52 var b = 2 + test(); | 51 var b = 2 + test(); |
53 } | 52 } |
54 '''); | 53 '''); |
55 } | 54 } |
56 | 55 |
57 test_init_fatalError_notExplicit() { | 56 test_init_fatalError_notExplicit() { |
58 addTestFile(''' | 57 addTestFile(''' |
(...skipping 28 matching lines...) Expand all Loading... |
87 } | 86 } |
88 main(A a, B b, C c, D d) { | 87 main(A a, B b, C c, D d) { |
89 var va = a.test; | 88 var va = a.test; |
90 var vb = b.test; | 89 var vb = b.test; |
91 var vc = c.test; | 90 var vc = c.test; |
92 var vd = d.test; | 91 var vd = d.test; |
93 } | 92 } |
94 '''); | 93 '''); |
95 return assertSuccessfulRefactoring(() { | 94 return assertSuccessfulRefactoring(() { |
96 return _sendConvertRequest('test => 2'); | 95 return _sendConvertRequest('test => 2'); |
97 }, | 96 }, ''' |
98 ''' | |
99 class A { | 97 class A { |
100 int test() => 1; | 98 int test() => 1; |
101 } | 99 } |
102 class B extends A { | 100 class B extends A { |
103 int test() => 2; | 101 int test() => 2; |
104 } | 102 } |
105 class C extends B { | 103 class C extends B { |
106 int test() => 3; | 104 int test() => 3; |
107 } | 105 } |
108 class D extends A { | 106 class D extends A { |
(...skipping 25 matching lines...) Expand all Loading... |
134 test_function() { | 132 test_function() { |
135 addTestFile(''' | 133 addTestFile(''' |
136 int test() => 42; | 134 int test() => 42; |
137 main() { | 135 main() { |
138 var a = 1 + test(); | 136 var a = 1 + test(); |
139 var b = 2 + test(); | 137 var b = 2 + test(); |
140 } | 138 } |
141 '''); | 139 '''); |
142 return assertSuccessfulRefactoring(() { | 140 return assertSuccessfulRefactoring(() { |
143 return _sendConvertRequest('test() =>'); | 141 return _sendConvertRequest('test() =>'); |
144 }, | 142 }, ''' |
145 ''' | |
146 int get test => 42; | 143 int get test => 42; |
147 main() { | 144 main() { |
148 var a = 1 + test; | 145 var a = 1 + test; |
149 var b = 2 + test; | 146 var b = 2 + test; |
150 } | 147 } |
151 '''); | 148 '''); |
152 } | 149 } |
153 | 150 |
154 test_init_fatalError_hasParameters() { | 151 test_init_fatalError_hasParameters() { |
155 addTestFile(''' | 152 addTestFile(''' |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 } | 198 } |
202 main(A a, B b, C c, D d) { | 199 main(A a, B b, C c, D d) { |
203 var va = a.test(); | 200 var va = a.test(); |
204 var vb = b.test(); | 201 var vb = b.test(); |
205 var vc = c.test(); | 202 var vc = c.test(); |
206 var vd = d.test(); | 203 var vd = d.test(); |
207 } | 204 } |
208 '''); | 205 '''); |
209 return assertSuccessfulRefactoring(() { | 206 return assertSuccessfulRefactoring(() { |
210 return _sendConvertRequest('test() => 2'); | 207 return _sendConvertRequest('test() => 2'); |
211 }, | 208 }, ''' |
212 ''' | |
213 class A { | 209 class A { |
214 int get test => 1; | 210 int get test => 1; |
215 } | 211 } |
216 class B extends A { | 212 class B extends A { |
217 int get test => 2; | 213 int get test => 2; |
218 } | 214 } |
219 class C extends B { | 215 class C extends B { |
220 int get test => 3; | 216 int get test => 3; |
221 } | 217 } |
222 class D extends A { | 218 class D extends A { |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 void tearDown() { | 266 void tearDown() { |
271 test_simulateRefactoringException_init = false; | 267 test_simulateRefactoringException_init = false; |
272 test_simulateRefactoringException_final = false; | 268 test_simulateRefactoringException_final = false; |
273 test_simulateRefactoringException_change = false; | 269 test_simulateRefactoringException_change = false; |
274 super.tearDown(); | 270 super.tearDown(); |
275 } | 271 } |
276 | 272 |
277 test_analysis_onlyOneFile() async { | 273 test_analysis_onlyOneFile() async { |
278 shouldWaitForFullAnalysis = false; | 274 shouldWaitForFullAnalysis = false; |
279 String otherFile = '$testFolder/other.dart'; | 275 String otherFile = '$testFolder/other.dart'; |
280 addFile( | 276 addFile(otherFile, r''' |
281 otherFile, | |
282 r''' | |
283 foo(int myName) {} | 277 foo(int myName) {} |
284 '''); | 278 '''); |
285 addTestFile(''' | 279 addTestFile(''' |
286 import 'other.dart'; | 280 import 'other.dart'; |
287 main() { | 281 main() { |
288 foo(1 + 2); | 282 foo(1 + 2); |
289 } | 283 } |
290 '''); | 284 '''); |
291 // Start refactoring. | 285 // Start refactoring. |
292 EditGetRefactoringResult result = await getRefactoringResult(() { | 286 EditGetRefactoringResult result = await getRefactoringResult(() { |
(...skipping 26 matching lines...) Expand all Loading... |
319 | 313 |
320 test_extractAll() { | 314 test_extractAll() { |
321 addTestFile(''' | 315 addTestFile(''' |
322 main() { | 316 main() { |
323 print(1 + 2); | 317 print(1 + 2); |
324 print(1 + 2); | 318 print(1 + 2); |
325 } | 319 } |
326 '''); | 320 '''); |
327 return assertSuccessfulRefactoring(() { | 321 return assertSuccessfulRefactoring(() { |
328 return sendStringRequest('1 + 2', 'res', true); | 322 return sendStringRequest('1 + 2', 'res', true); |
329 }, | 323 }, ''' |
330 ''' | |
331 main() { | 324 main() { |
332 var res = 1 + 2; | 325 var res = 1 + 2; |
333 print(res); | 326 print(res); |
334 print(res); | 327 print(res); |
335 } | 328 } |
336 '''); | 329 '''); |
337 } | 330 } |
338 | 331 |
339 test_extractOne() { | 332 test_extractOne() { |
340 addTestFile(''' | 333 addTestFile(''' |
341 main() { | 334 main() { |
342 print(1 + 2); | 335 print(1 + 2); |
343 print(1 + 2); // marker | 336 print(1 + 2); // marker |
344 } | 337 } |
345 '''); | 338 '''); |
346 return assertSuccessfulRefactoring(() { | 339 return assertSuccessfulRefactoring(() { |
347 return sendStringSuffixRequest('1 + 2', '); // marker', 'res', false); | 340 return sendStringSuffixRequest('1 + 2', '); // marker', 'res', false); |
348 }, | 341 }, ''' |
349 ''' | |
350 main() { | 342 main() { |
351 print(1 + 2); | 343 print(1 + 2); |
352 var res = 1 + 2; | 344 var res = 1 + 2; |
353 print(res); // marker | 345 print(res); // marker |
354 } | 346 } |
355 '''); | 347 '''); |
356 } | 348 } |
357 | 349 |
358 test_names() async { | 350 test_names() async { |
359 addTestFile(''' | 351 addTestFile(''' |
(...skipping 17 matching lines...) Expand all Loading... |
377 main() { | 369 main() { |
378 print(1 + 2); | 370 print(1 + 2); |
379 } | 371 } |
380 '''); | 372 '''); |
381 EditGetRefactoringResult result = await getRefactoringResult(() { | 373 EditGetRefactoringResult result = await getRefactoringResult(() { |
382 return sendStringRequest('1 + 2', 'Name', true); | 374 return sendStringRequest('1 + 2', 'Name', true); |
383 }); | 375 }); |
384 assertResultProblemsWarning(result.optionsProblems, | 376 assertResultProblemsWarning(result.optionsProblems, |
385 'Variable name should start with a lowercase letter.'); | 377 'Variable name should start with a lowercase letter.'); |
386 // ...but there is still a change | 378 // ...but there is still a change |
387 assertTestRefactoringResult( | 379 assertTestRefactoringResult(result, ''' |
388 result, | |
389 ''' | |
390 main() { | 380 main() { |
391 var Name = 1 + 2; | 381 var Name = 1 + 2; |
392 print(Name); | 382 print(Name); |
393 } | 383 } |
394 '''); | 384 '''); |
395 } | 385 } |
396 | 386 |
397 test_offsetsLengths() { | 387 test_offsetsLengths() { |
398 addTestFile(''' | 388 addTestFile(''' |
399 main() { | 389 main() { |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 ExtractMethodOptions options; | 500 ExtractMethodOptions options; |
511 | 501 |
512 test_expression() { | 502 test_expression() { |
513 addTestFile(''' | 503 addTestFile(''' |
514 main() { | 504 main() { |
515 print(1 + 2); | 505 print(1 + 2); |
516 print(1 + 2); | 506 print(1 + 2); |
517 } | 507 } |
518 '''); | 508 '''); |
519 _setOffsetLengthForString('1 + 2'); | 509 _setOffsetLengthForString('1 + 2'); |
520 return assertSuccessfulRefactoring( | 510 return assertSuccessfulRefactoring(_computeChange, ''' |
521 _computeChange, | |
522 ''' | |
523 main() { | 511 main() { |
524 print(res()); | 512 print(res()); |
525 print(res()); | 513 print(res()); |
526 } | 514 } |
527 | 515 |
528 int res() => 1 + 2; | 516 int res() => 1 + 2; |
529 '''); | 517 '''); |
530 } | 518 } |
531 | 519 |
532 test_expression_hasParameters() { | 520 test_expression_hasParameters() { |
533 addTestFile(''' | 521 addTestFile(''' |
534 main() { | 522 main() { |
535 int a = 1; | 523 int a = 1; |
536 int b = 2; | 524 int b = 2; |
537 print(a + b); | 525 print(a + b); |
538 print(a + b); | 526 print(a + b); |
539 } | 527 } |
540 '''); | 528 '''); |
541 _setOffsetLengthForString('a + b'); | 529 _setOffsetLengthForString('a + b'); |
542 return assertSuccessfulRefactoring( | 530 return assertSuccessfulRefactoring(_computeChange, ''' |
543 _computeChange, | |
544 ''' | |
545 main() { | 531 main() { |
546 int a = 1; | 532 int a = 1; |
547 int b = 2; | 533 int b = 2; |
548 print(res(a, b)); | 534 print(res(a, b)); |
549 print(res(a, b)); | 535 print(res(a, b)); |
550 } | 536 } |
551 | 537 |
552 int res(int a, int b) => a + b; | 538 int res(int a, int b) => a + b; |
553 '''); | 539 '''); |
554 } | 540 } |
555 | 541 |
556 test_expression_updateParameters() { | 542 test_expression_updateParameters() { |
557 addTestFile(''' | 543 addTestFile(''' |
558 main() { | 544 main() { |
559 int a = 1; | 545 int a = 1; |
560 int b = 2; | 546 int b = 2; |
561 print(a + b); | 547 print(a + b); |
562 print(a + b); | 548 print(a + b); |
563 } | 549 } |
564 '''); | 550 '''); |
565 _setOffsetLengthForString('a + b'); | 551 _setOffsetLengthForString('a + b'); |
566 return getRefactoringResult(_computeChange).then((result) { | 552 return getRefactoringResult(_computeChange).then((result) { |
567 ExtractMethodFeedback feedback = result.feedback; | 553 ExtractMethodFeedback feedback = result.feedback; |
568 List<RefactoringMethodParameter> parameters = feedback.parameters; | 554 List<RefactoringMethodParameter> parameters = feedback.parameters; |
569 parameters[0].name = 'aaa'; | 555 parameters[0].name = 'aaa'; |
570 parameters[1].name = 'bbb'; | 556 parameters[1].name = 'bbb'; |
571 parameters[1].type = 'num'; | 557 parameters[1].type = 'num'; |
572 parameters.insert(0, parameters.removeLast()); | 558 parameters.insert(0, parameters.removeLast()); |
573 options.parameters = parameters; | 559 options.parameters = parameters; |
574 return assertSuccessfulRefactoring( | 560 return assertSuccessfulRefactoring(_sendExtractRequest, ''' |
575 _sendExtractRequest, | |
576 ''' | |
577 main() { | 561 main() { |
578 int a = 1; | 562 int a = 1; |
579 int b = 2; | 563 int b = 2; |
580 print(res(b, a)); | 564 print(res(b, a)); |
581 print(res(b, a)); | 565 print(res(b, a)); |
582 } | 566 } |
583 | 567 |
584 int res(num bbb, int aaa) => aaa + bbb; | 568 int res(num bbb, int aaa) => aaa + bbb; |
585 '''); | 569 '''); |
586 }); | 570 }); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 main() { | 629 main() { |
646 int a = 1; | 630 int a = 1; |
647 int b = 2; | 631 int b = 2; |
648 // start | 632 // start |
649 print(a + b); | 633 print(a + b); |
650 // end | 634 // end |
651 print(a + b); | 635 print(a + b); |
652 } | 636 } |
653 '''); | 637 '''); |
654 _setOffsetLengthForStartEnd(); | 638 _setOffsetLengthForStartEnd(); |
655 return assertSuccessfulRefactoring( | 639 return assertSuccessfulRefactoring(_computeChange, ''' |
656 _computeChange, | |
657 ''' | |
658 main() { | 640 main() { |
659 int a = 1; | 641 int a = 1; |
660 int b = 2; | 642 int b = 2; |
661 // start | 643 // start |
662 res(a, b); | 644 res(a, b); |
663 // end | 645 // end |
664 res(a, b); | 646 res(a, b); |
665 } | 647 } |
666 | 648 |
667 void res(int a, int b) { | 649 void res(int a, int b) { |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 void setUp() { | 755 void setUp() { |
774 super.setUp(); | 756 super.setUp(); |
775 createProject(); | 757 createProject(); |
776 ExtensionManager manager = new ExtensionManager(); | 758 ExtensionManager manager = new ExtensionManager(); |
777 manager.processPlugins([server.serverPlugin]); | 759 manager.processPlugins([server.serverPlugin]); |
778 handler = new EditDomainHandler(server); | 760 handler = new EditDomainHandler(server); |
779 server.handlers = [handler]; | 761 server.handlers = [handler]; |
780 } | 762 } |
781 | 763 |
782 Future test_convertMethodToGetter_hasElement() { | 764 Future test_convertMethodToGetter_hasElement() { |
783 return assertHasKind( | 765 return assertHasKind(''' |
784 ''' | |
785 int getValue() => 42; | 766 int getValue() => 42; |
786 ''', | 767 ''', 'getValue', RefactoringKind.CONVERT_METHOD_TO_GETTER, true); |
787 'getValue', | |
788 RefactoringKind.CONVERT_METHOD_TO_GETTER, | |
789 true); | |
790 } | 768 } |
791 | 769 |
792 Future test_extractLocal() async { | 770 Future test_extractLocal() async { |
793 addTestFile(''' | 771 addTestFile(''' |
794 main() { | 772 main() { |
795 var a = 1 + 2; | 773 var a = 1 + 2; |
796 } | 774 } |
797 '''); | 775 '''); |
798 await waitForTasksFinished(); | 776 await waitForTasksFinished(); |
799 await getRefactoringsForString('1 + 2'); | 777 await getRefactoringsForString('1 + 2'); |
800 expect(kinds, contains(RefactoringKind.EXTRACT_LOCAL_VARIABLE)); | 778 expect(kinds, contains(RefactoringKind.EXTRACT_LOCAL_VARIABLE)); |
801 expect(kinds, contains(RefactoringKind.EXTRACT_METHOD)); | 779 expect(kinds, contains(RefactoringKind.EXTRACT_METHOD)); |
802 } | 780 } |
803 | 781 |
804 Future test_rename_hasElement_class() { | 782 Future test_rename_hasElement_class() { |
805 return assertHasRenameRefactoring( | 783 return assertHasRenameRefactoring(''' |
806 ''' | |
807 class Test {} | 784 class Test {} |
808 main() { | 785 main() { |
809 Test v; | 786 Test v; |
810 } | 787 } |
811 ''', | 788 ''', 'Test v'); |
812 'Test v'); | |
813 } | 789 } |
814 | 790 |
815 Future test_rename_hasElement_constructor() { | 791 Future test_rename_hasElement_constructor() { |
816 return assertHasRenameRefactoring( | 792 return assertHasRenameRefactoring(''' |
817 ''' | |
818 class A { | 793 class A { |
819 A.test() {} | 794 A.test() {} |
820 } | 795 } |
821 main() { | 796 main() { |
822 new A.test(); | 797 new A.test(); |
823 } | 798 } |
824 ''', | 799 ''', 'test();'); |
825 'test();'); | |
826 } | 800 } |
827 | 801 |
828 Future test_rename_hasElement_function() { | 802 Future test_rename_hasElement_function() { |
829 return assertHasRenameRefactoring( | 803 return assertHasRenameRefactoring(''' |
830 ''' | |
831 main() { | 804 main() { |
832 test(); | 805 test(); |
833 } | 806 } |
834 test() {} | 807 test() {} |
835 ''', | 808 ''', 'test();'); |
836 'test();'); | |
837 } | 809 } |
838 | 810 |
839 Future test_rename_hasElement_importElement_directive() { | 811 Future test_rename_hasElement_importElement_directive() { |
840 return assertHasRenameRefactoring( | 812 return assertHasRenameRefactoring(''' |
841 ''' | |
842 import 'dart:math' as math; | 813 import 'dart:math' as math; |
843 main() { | 814 main() { |
844 math.PI; | 815 math.PI; |
845 } | 816 } |
846 ''', | 817 ''', 'import '); |
847 'import '); | |
848 } | 818 } |
849 | 819 |
850 Future test_rename_hasElement_importElement_prefixDecl() { | 820 Future test_rename_hasElement_importElement_prefixDecl() { |
851 return assertHasRenameRefactoring( | 821 return assertHasRenameRefactoring(''' |
852 ''' | |
853 import 'dart:math' as math; | 822 import 'dart:math' as math; |
854 main() { | 823 main() { |
855 math.PI; | 824 math.PI; |
856 } | 825 } |
857 ''', | 826 ''', 'math;'); |
858 'math;'); | |
859 } | 827 } |
860 | 828 |
861 Future test_rename_hasElement_importElement_prefixRef() { | 829 Future test_rename_hasElement_importElement_prefixRef() { |
862 return assertHasRenameRefactoring( | 830 return assertHasRenameRefactoring(''' |
863 ''' | |
864 import 'dart:async' as test; | 831 import 'dart:async' as test; |
865 import 'dart:math' as test; | 832 import 'dart:math' as test; |
866 main() { | 833 main() { |
867 test.PI; | 834 test.PI; |
868 } | 835 } |
869 ''', | 836 ''', 'test.PI;'); |
870 'test.PI;'); | |
871 } | 837 } |
872 | 838 |
873 Future test_rename_hasElement_instanceGetter() { | 839 Future test_rename_hasElement_instanceGetter() { |
874 return assertHasRenameRefactoring( | 840 return assertHasRenameRefactoring(''' |
875 ''' | |
876 class A { | 841 class A { |
877 get test => 0; | 842 get test => 0; |
878 } | 843 } |
879 main(A a) { | 844 main(A a) { |
880 a.test; | 845 a.test; |
881 } | 846 } |
882 ''', | 847 ''', 'test;'); |
883 'test;'); | |
884 } | 848 } |
885 | 849 |
886 Future test_rename_hasElement_instanceSetter() { | 850 Future test_rename_hasElement_instanceSetter() { |
887 return assertHasRenameRefactoring( | 851 return assertHasRenameRefactoring(''' |
888 ''' | |
889 class A { | 852 class A { |
890 set test(x) {} | 853 set test(x) {} |
891 } | 854 } |
892 main(A a) { | 855 main(A a) { |
893 a.test = 2; | 856 a.test = 2; |
894 } | 857 } |
895 ''', | 858 ''', 'test = 2;'); |
896 'test = 2;'); | |
897 } | 859 } |
898 | 860 |
899 Future test_rename_hasElement_library() { | 861 Future test_rename_hasElement_library() { |
900 return assertHasRenameRefactoring( | 862 return assertHasRenameRefactoring(''' |
901 ''' | |
902 library my.lib; | 863 library my.lib; |
903 ''', | 864 ''', 'library '); |
904 'library '); | |
905 } | 865 } |
906 | 866 |
907 Future test_rename_hasElement_localVariable() { | 867 Future test_rename_hasElement_localVariable() { |
908 return assertHasRenameRefactoring( | 868 return assertHasRenameRefactoring(''' |
909 ''' | |
910 main() { | 869 main() { |
911 int test = 0; | 870 int test = 0; |
912 print(test); | 871 print(test); |
913 } | 872 } |
914 ''', | 873 ''', 'test = 0;'); |
915 'test = 0;'); | |
916 } | 874 } |
917 | 875 |
918 Future test_rename_hasElement_method() { | 876 Future test_rename_hasElement_method() { |
919 return assertHasRenameRefactoring( | 877 return assertHasRenameRefactoring(''' |
920 ''' | |
921 class A { | 878 class A { |
922 test() {} | 879 test() {} |
923 } | 880 } |
924 main(A a) { | 881 main(A a) { |
925 a.test(); | 882 a.test(); |
926 } | 883 } |
927 ''', | 884 ''', 'test();'); |
928 'test();'); | |
929 } | 885 } |
930 | 886 |
931 Future test_rename_noElement() async { | 887 Future test_rename_noElement() async { |
932 addTestFile(''' | 888 addTestFile(''' |
933 main() { | 889 main() { |
934 // not an element | 890 // not an element |
935 } | 891 } |
936 '''); | 892 '''); |
937 await waitForTasksFinished(); | 893 await waitForTasksFinished(); |
938 await getRefactoringsAtString('// not an element'); | 894 await getRefactoringsAtString('// not an element'); |
939 expect(kinds, isNot(contains(RefactoringKind.RENAME))); | 895 expect(kinds, isNot(contains(RefactoringKind.RENAME))); |
940 } | 896 } |
941 } | 897 } |
942 | 898 |
943 @reflectiveTest | 899 @reflectiveTest |
944 class InlineLocalTest extends _AbstractGetRefactoring_Test { | 900 class InlineLocalTest extends _AbstractGetRefactoring_Test { |
945 test_analysis_onlyOneFile() async { | 901 test_analysis_onlyOneFile() async { |
946 shouldWaitForFullAnalysis = false; | 902 shouldWaitForFullAnalysis = false; |
947 String otherFile = '$testFolder/other.dart'; | 903 String otherFile = '$testFolder/other.dart'; |
948 addFile( | 904 addFile(otherFile, r''' |
949 otherFile, | |
950 r''' | |
951 foo(int p) {} | 905 foo(int p) {} |
952 '''); | 906 '''); |
953 addTestFile(''' | 907 addTestFile(''' |
954 import 'other.dart'; | 908 import 'other.dart'; |
955 main() { | 909 main() { |
956 int res = 1 + 2; | 910 int res = 1 + 2; |
957 foo(res); | 911 foo(res); |
958 foo(res); | 912 foo(res); |
959 } | 913 } |
960 '''); | 914 '''); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
999 test_OK() { | 953 test_OK() { |
1000 addTestFile(''' | 954 addTestFile(''' |
1001 main() { | 955 main() { |
1002 int test = 42; | 956 int test = 42; |
1003 int a = test + 2; | 957 int a = test + 2; |
1004 print(test); | 958 print(test); |
1005 } | 959 } |
1006 '''); | 960 '''); |
1007 return assertSuccessfulRefactoring(() { | 961 return assertSuccessfulRefactoring(() { |
1008 return _sendInlineRequest('test + 2'); | 962 return _sendInlineRequest('test + 2'); |
1009 }, | 963 }, ''' |
1010 ''' | |
1011 main() { | 964 main() { |
1012 int a = 42 + 2; | 965 int a = 42 + 2; |
1013 print(42); | 966 print(42); |
1014 } | 967 } |
1015 '''); | 968 '''); |
1016 } | 969 } |
1017 | 970 |
1018 @failingTest | 971 @failingTest |
1019 test_resetOnFileChange() async { | 972 test_resetOnFileChange() async { |
1020 // The reset count is one less than expected. | 973 // The reset count is one less than expected. |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1107 main() { | 1060 main() { |
1108 test(1); | 1061 test(1); |
1109 } | 1062 } |
1110 } | 1063 } |
1111 main(A a) { | 1064 main(A a) { |
1112 a.test(2); | 1065 a.test(2); |
1113 } | 1066 } |
1114 '''); | 1067 '''); |
1115 return assertSuccessfulRefactoring(() { | 1068 return assertSuccessfulRefactoring(() { |
1116 return _sendInlineRequest('test(int p)'); | 1069 return _sendInlineRequest('test(int p)'); |
1117 }, | 1070 }, ''' |
1118 ''' | |
1119 class A { | 1071 class A { |
1120 int f; | 1072 int f; |
1121 main() { | 1073 main() { |
1122 print(f + 1); | 1074 print(f + 1); |
1123 } | 1075 } |
1124 } | 1076 } |
1125 main(A a) { | 1077 main(A a) { |
1126 print(a.f + 2); | 1078 print(a.f + 2); |
1127 } | 1079 } |
1128 '''); | 1080 '''); |
1129 } | 1081 } |
1130 | 1082 |
1131 test_topLevelFunction() { | 1083 test_topLevelFunction() { |
1132 addTestFile(''' | 1084 addTestFile(''' |
1133 test(a, b) { | 1085 test(a, b) { |
1134 print(a + b); | 1086 print(a + b); |
1135 } | 1087 } |
1136 main() { | 1088 main() { |
1137 test(1, 2); | 1089 test(1, 2); |
1138 test(10, 20); | 1090 test(10, 20); |
1139 } | 1091 } |
1140 '''); | 1092 '''); |
1141 return assertSuccessfulRefactoring(() { | 1093 return assertSuccessfulRefactoring(() { |
1142 return _sendInlineRequest('test(a'); | 1094 return _sendInlineRequest('test(a'); |
1143 }, | 1095 }, ''' |
1144 ''' | |
1145 main() { | 1096 main() { |
1146 print(1 + 2); | 1097 print(1 + 2); |
1147 print(10 + 20); | 1098 print(10 + 20); |
1148 } | 1099 } |
1149 '''); | 1100 '''); |
1150 } | 1101 } |
1151 | 1102 |
1152 test_topLevelFunction_oneInvocation() { | 1103 test_topLevelFunction_oneInvocation() { |
1153 addTestFile(''' | 1104 addTestFile(''' |
1154 test(a, b) { | 1105 test(a, b) { |
1155 print(a + b); | 1106 print(a + b); |
1156 } | 1107 } |
1157 main() { | 1108 main() { |
1158 test(1, 2); | 1109 test(1, 2); |
1159 test(10, 20); | 1110 test(10, 20); |
1160 } | 1111 } |
1161 '''); | 1112 '''); |
1162 options.deleteSource = false; | 1113 options.deleteSource = false; |
1163 options.inlineAll = false; | 1114 options.inlineAll = false; |
1164 return assertSuccessfulRefactoring(() { | 1115 return assertSuccessfulRefactoring(() { |
1165 return _sendInlineRequest('test(10,'); | 1116 return _sendInlineRequest('test(10,'); |
1166 }, | 1117 }, ''' |
1167 ''' | |
1168 test(a, b) { | 1118 test(a, b) { |
1169 print(a + b); | 1119 print(a + b); |
1170 } | 1120 } |
1171 main() { | 1121 main() { |
1172 test(1, 2); | 1122 test(1, 2); |
1173 print(10 + 20); | 1123 print(10 + 20); |
1174 } | 1124 } |
1175 '''); | 1125 '''); |
1176 } | 1126 } |
1177 | 1127 |
(...skipping 18 matching lines...) Expand all Loading... |
1196 test_OK() { | 1146 test_OK() { |
1197 fail('The move file refactoring is not supported under the new driver'); | 1147 fail('The move file refactoring is not supported under the new driver'); |
1198 resourceProvider.newFile('/project/bin/lib.dart', ''); | 1148 resourceProvider.newFile('/project/bin/lib.dart', ''); |
1199 addTestFile(''' | 1149 addTestFile(''' |
1200 import 'dart:math'; | 1150 import 'dart:math'; |
1201 import 'lib.dart'; | 1151 import 'lib.dart'; |
1202 '''); | 1152 '''); |
1203 _setOptions('/project/test.dart'); | 1153 _setOptions('/project/test.dart'); |
1204 return assertSuccessfulRefactoring(() { | 1154 return assertSuccessfulRefactoring(() { |
1205 return _sendMoveRequest(); | 1155 return _sendMoveRequest(); |
1206 }, | 1156 }, ''' |
1207 ''' | |
1208 import 'dart:math'; | 1157 import 'dart:math'; |
1209 import 'bin/lib.dart'; | 1158 import 'bin/lib.dart'; |
1210 '''); | 1159 '''); |
1211 } | 1160 } |
1212 | 1161 |
1213 Future<Response> _sendMoveRequest() { | 1162 Future<Response> _sendMoveRequest() { |
1214 Request request = new EditGetRefactoringParams( | 1163 Request request = new EditGetRefactoringParams( |
1215 RefactoringKind.MOVE_FILE, testFile, 0, 0, false, | 1164 RefactoringKind.MOVE_FILE, testFile, 0, 0, false, |
1216 options: options) | 1165 options: options) |
1217 .toRequest('0'); | 1166 .toRequest('0'); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1269 Test.named() {} | 1218 Test.named() {} |
1270 } | 1219 } |
1271 main() { | 1220 main() { |
1272 Test v; | 1221 Test v; |
1273 new Test(); | 1222 new Test(); |
1274 new Test.named(); | 1223 new Test.named(); |
1275 } | 1224 } |
1276 '''); | 1225 '''); |
1277 return assertSuccessfulRefactoring(() { | 1226 return assertSuccessfulRefactoring(() { |
1278 return sendRenameRequest('Test {', 'NewName'); | 1227 return sendRenameRequest('Test {', 'NewName'); |
1279 }, | 1228 }, ''' |
1280 ''' | |
1281 class NewName { | 1229 class NewName { |
1282 NewName() {} | 1230 NewName() {} |
1283 NewName.named() {} | 1231 NewName.named() {} |
1284 } | 1232 } |
1285 main() { | 1233 main() { |
1286 NewName v; | 1234 NewName v; |
1287 new NewName(); | 1235 new NewName(); |
1288 new NewName.named(); | 1236 new NewName.named(); |
1289 } | 1237 } |
1290 '''); | 1238 '''); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1331 main() { | 1279 main() { |
1332 Test v; | 1280 Test v; |
1333 } | 1281 } |
1334 '''); | 1282 '''); |
1335 return getRefactoringResult(() { | 1283 return getRefactoringResult(() { |
1336 return sendRenameRequest('Test {}', 'newName'); | 1284 return sendRenameRequest('Test {}', 'newName'); |
1337 }).then((result) { | 1285 }).then((result) { |
1338 assertResultProblemsWarning(result.optionsProblems, | 1286 assertResultProblemsWarning(result.optionsProblems, |
1339 'Class name should start with an uppercase letter.'); | 1287 'Class name should start with an uppercase letter.'); |
1340 // ...but there is still a change | 1288 // ...but there is still a change |
1341 assertTestRefactoringResult( | 1289 assertTestRefactoringResult(result, ''' |
1342 result, | |
1343 ''' | |
1344 class newName {} | 1290 class newName {} |
1345 main() { | 1291 main() { |
1346 newName v; | 1292 newName v; |
1347 } | 1293 } |
1348 '''); | 1294 '''); |
1349 }).then((_) { | 1295 }).then((_) { |
1350 // "NewName" is a perfectly valid name | 1296 // "NewName" is a perfectly valid name |
1351 return getRefactoringResult(() { | 1297 return getRefactoringResult(() { |
1352 return sendRenameRequest('Test {}', 'NewName'); | 1298 return sendRenameRequest('Test {}', 'NewName'); |
1353 }).then((result) { | 1299 }).then((result) { |
1354 assertResultProblemsOK(result); | 1300 assertResultProblemsOK(result); |
1355 // ...and there is a new change | 1301 // ...and there is a new change |
1356 assertTestRefactoringResult( | 1302 assertTestRefactoringResult(result, ''' |
1357 result, | |
1358 ''' | |
1359 class NewName {} | 1303 class NewName {} |
1360 main() { | 1304 main() { |
1361 NewName v; | 1305 NewName v; |
1362 } | 1306 } |
1363 '''); | 1307 '''); |
1364 }); | 1308 }); |
1365 }); | 1309 }); |
1366 } | 1310 } |
1367 | 1311 |
1368 test_classMember_field() { | 1312 test_classMember_field() { |
1369 addTestFile(''' | 1313 addTestFile(''' |
1370 class A { | 1314 class A { |
1371 var test = 0; | 1315 var test = 0; |
1372 A(this.test); | 1316 A(this.test); |
1373 main() { | 1317 main() { |
1374 print(test); | 1318 print(test); |
1375 } | 1319 } |
1376 } | 1320 } |
1377 '''); | 1321 '''); |
1378 return assertSuccessfulRefactoring(() { | 1322 return assertSuccessfulRefactoring(() { |
1379 return sendRenameRequest('test = 0', 'newName'); | 1323 return sendRenameRequest('test = 0', 'newName'); |
1380 }, | 1324 }, ''' |
1381 ''' | |
1382 class A { | 1325 class A { |
1383 var newName = 0; | 1326 var newName = 0; |
1384 A(this.newName); | 1327 A(this.newName); |
1385 main() { | 1328 main() { |
1386 print(newName); | 1329 print(newName); |
1387 } | 1330 } |
1388 } | 1331 } |
1389 '''); | 1332 '''); |
1390 } | 1333 } |
1391 | 1334 |
1392 test_classMember_field_onFieldFormalParameter() { | 1335 test_classMember_field_onFieldFormalParameter() { |
1393 addTestFile(''' | 1336 addTestFile(''' |
1394 class A { | 1337 class A { |
1395 var test = 0; | 1338 var test = 0; |
1396 A(this.test); | 1339 A(this.test); |
1397 main() { | 1340 main() { |
1398 print(test); | 1341 print(test); |
1399 } | 1342 } |
1400 } | 1343 } |
1401 '''); | 1344 '''); |
1402 return assertSuccessfulRefactoring(() { | 1345 return assertSuccessfulRefactoring(() { |
1403 return sendRenameRequest('test);', 'newName'); | 1346 return sendRenameRequest('test);', 'newName'); |
1404 }, | 1347 }, ''' |
1405 ''' | |
1406 class A { | 1348 class A { |
1407 var newName = 0; | 1349 var newName = 0; |
1408 A(this.newName); | 1350 A(this.newName); |
1409 main() { | 1351 main() { |
1410 print(newName); | 1352 print(newName); |
1411 } | 1353 } |
1412 } | 1354 } |
1413 '''); | 1355 '''); |
1414 } | 1356 } |
1415 | 1357 |
1416 test_classMember_field_onFieldFormalParameter_named() { | 1358 test_classMember_field_onFieldFormalParameter_named() { |
1417 addTestFile(''' | 1359 addTestFile(''' |
1418 class A { | 1360 class A { |
1419 final int test; | 1361 final int test; |
1420 A({this.test: 0}); | 1362 A({this.test: 0}); |
1421 } | 1363 } |
1422 main() { | 1364 main() { |
1423 new A(test: 42); | 1365 new A(test: 42); |
1424 } | 1366 } |
1425 '''); | 1367 '''); |
1426 return assertSuccessfulRefactoring(() { | 1368 return assertSuccessfulRefactoring(() { |
1427 return sendRenameRequest('test: 42', 'newName'); | 1369 return sendRenameRequest('test: 42', 'newName'); |
1428 }, | 1370 }, ''' |
1429 ''' | |
1430 class A { | 1371 class A { |
1431 final int newName; | 1372 final int newName; |
1432 A({this.newName: 0}); | 1373 A({this.newName: 0}); |
1433 } | 1374 } |
1434 main() { | 1375 main() { |
1435 new A(newName: 42); | 1376 new A(newName: 42); |
1436 } | 1377 } |
1437 '''); | 1378 '''); |
1438 } | 1379 } |
1439 | 1380 |
1440 test_classMember_getter() { | 1381 test_classMember_getter() { |
1441 addTestFile(''' | 1382 addTestFile(''' |
1442 class A { | 1383 class A { |
1443 get test => 0; | 1384 get test => 0; |
1444 main() { | 1385 main() { |
1445 print(test); | 1386 print(test); |
1446 } | 1387 } |
1447 } | 1388 } |
1448 '''); | 1389 '''); |
1449 return assertSuccessfulRefactoring(() { | 1390 return assertSuccessfulRefactoring(() { |
1450 return sendRenameRequest('test =>', 'newName'); | 1391 return sendRenameRequest('test =>', 'newName'); |
1451 }, | 1392 }, ''' |
1452 ''' | |
1453 class A { | 1393 class A { |
1454 get newName => 0; | 1394 get newName => 0; |
1455 main() { | 1395 main() { |
1456 print(newName); | 1396 print(newName); |
1457 } | 1397 } |
1458 } | 1398 } |
1459 '''); | 1399 '''); |
1460 } | 1400 } |
1461 | 1401 |
1462 test_classMember_method() { | 1402 test_classMember_method() { |
1463 addTestFile(''' | 1403 addTestFile(''' |
1464 class A { | 1404 class A { |
1465 test() {} | 1405 test() {} |
1466 main() { | 1406 main() { |
1467 test(); | 1407 test(); |
1468 } | 1408 } |
1469 } | 1409 } |
1470 main(A a) { | 1410 main(A a) { |
1471 a.test(); | 1411 a.test(); |
1472 } | 1412 } |
1473 '''); | 1413 '''); |
1474 return assertSuccessfulRefactoring(() { | 1414 return assertSuccessfulRefactoring(() { |
1475 return sendRenameRequest('test() {}', 'newName'); | 1415 return sendRenameRequest('test() {}', 'newName'); |
1476 }, | 1416 }, ''' |
1477 ''' | |
1478 class A { | 1417 class A { |
1479 newName() {} | 1418 newName() {} |
1480 main() { | 1419 main() { |
1481 newName(); | 1420 newName(); |
1482 } | 1421 } |
1483 } | 1422 } |
1484 main(A a) { | 1423 main(A a) { |
1485 a.newName(); | 1424 a.newName(); |
1486 } | 1425 } |
1487 '''); | 1426 '''); |
(...skipping 30 matching lines...) Expand all Loading... |
1518 addTestFile(''' | 1457 addTestFile(''' |
1519 class A { | 1458 class A { |
1520 set test(x) {} | 1459 set test(x) {} |
1521 main() { | 1460 main() { |
1522 test = 0; | 1461 test = 0; |
1523 } | 1462 } |
1524 } | 1463 } |
1525 '''); | 1464 '''); |
1526 return assertSuccessfulRefactoring(() { | 1465 return assertSuccessfulRefactoring(() { |
1527 return sendRenameRequest('test = 0', 'newName'); | 1466 return sendRenameRequest('test = 0', 'newName'); |
1528 }, | 1467 }, ''' |
1529 ''' | |
1530 class A { | 1468 class A { |
1531 set newName(x) {} | 1469 set newName(x) {} |
1532 main() { | 1470 main() { |
1533 newName = 0; | 1471 newName = 0; |
1534 } | 1472 } |
1535 } | 1473 } |
1536 '''); | 1474 '''); |
1537 } | 1475 } |
1538 | 1476 |
1539 test_constructor_fromFactoryRedirectingConstructor_onClassName() { | 1477 test_constructor_fromFactoryRedirectingConstructor_onClassName() { |
1540 addTestFile(''' | 1478 addTestFile(''' |
1541 class A { | 1479 class A { |
1542 A() = B; | 1480 A() = B; |
1543 } | 1481 } |
1544 class B { | 1482 class B { |
1545 B() {} | 1483 B() {} |
1546 } | 1484 } |
1547 '''); | 1485 '''); |
1548 return assertSuccessfulRefactoring(() { | 1486 return assertSuccessfulRefactoring(() { |
1549 return sendRenameRequest('B;', 'newName'); | 1487 return sendRenameRequest('B;', 'newName'); |
1550 }, | 1488 }, ''' |
1551 ''' | |
1552 class A { | 1489 class A { |
1553 A() = B.newName; | 1490 A() = B.newName; |
1554 } | 1491 } |
1555 class B { | 1492 class B { |
1556 B.newName() {} | 1493 B.newName() {} |
1557 } | 1494 } |
1558 '''); | 1495 '''); |
1559 } | 1496 } |
1560 | 1497 |
1561 test_constructor_fromInstanceCreation() { | 1498 test_constructor_fromInstanceCreation() { |
1562 addTestFile(''' | 1499 addTestFile(''' |
1563 class A { | 1500 class A { |
1564 A.test() {} | 1501 A.test() {} |
1565 } | 1502 } |
1566 main() { | 1503 main() { |
1567 new A.test(); | 1504 new A.test(); |
1568 } | 1505 } |
1569 '''); | 1506 '''); |
1570 return assertSuccessfulRefactoring(() { | 1507 return assertSuccessfulRefactoring(() { |
1571 return sendRenameRequest('test();', 'newName'); | 1508 return sendRenameRequest('test();', 'newName'); |
1572 }, | 1509 }, ''' |
1573 ''' | |
1574 class A { | 1510 class A { |
1575 A.newName() {} | 1511 A.newName() {} |
1576 } | 1512 } |
1577 main() { | 1513 main() { |
1578 new A.newName(); | 1514 new A.newName(); |
1579 } | 1515 } |
1580 '''); | 1516 '''); |
1581 } | 1517 } |
1582 | 1518 |
1583 test_constructor_fromInstanceCreation_default_onClassName() { | 1519 test_constructor_fromInstanceCreation_default_onClassName() { |
1584 addTestFile(''' | 1520 addTestFile(''' |
1585 class A { | 1521 class A { |
1586 A() {} | 1522 A() {} |
1587 } | 1523 } |
1588 main() { | 1524 main() { |
1589 new A(); | 1525 new A(); |
1590 } | 1526 } |
1591 '''); | 1527 '''); |
1592 return assertSuccessfulRefactoring(() { | 1528 return assertSuccessfulRefactoring(() { |
1593 return sendRenameRequest('A();', 'newName'); | 1529 return sendRenameRequest('A();', 'newName'); |
1594 }, | 1530 }, ''' |
1595 ''' | |
1596 class A { | 1531 class A { |
1597 A.newName() {} | 1532 A.newName() {} |
1598 } | 1533 } |
1599 main() { | 1534 main() { |
1600 new A.newName(); | 1535 new A.newName(); |
1601 } | 1536 } |
1602 '''); | 1537 '''); |
1603 } | 1538 } |
1604 | 1539 |
1605 test_constructor_fromInstanceCreation_default_onNew() { | 1540 test_constructor_fromInstanceCreation_default_onNew() { |
1606 addTestFile(''' | 1541 addTestFile(''' |
1607 class A { | 1542 class A { |
1608 A() {} | 1543 A() {} |
1609 } | 1544 } |
1610 main() { | 1545 main() { |
1611 new A(); | 1546 new A(); |
1612 } | 1547 } |
1613 '''); | 1548 '''); |
1614 return assertSuccessfulRefactoring(() { | 1549 return assertSuccessfulRefactoring(() { |
1615 return sendRenameRequest('new A();', 'newName'); | 1550 return sendRenameRequest('new A();', 'newName'); |
1616 }, | 1551 }, ''' |
1617 ''' | |
1618 class A { | 1552 class A { |
1619 A.newName() {} | 1553 A.newName() {} |
1620 } | 1554 } |
1621 main() { | 1555 main() { |
1622 new A.newName(); | 1556 new A.newName(); |
1623 } | 1557 } |
1624 '''); | 1558 '''); |
1625 } | 1559 } |
1626 | 1560 |
1627 test_feedback() { | 1561 test_feedback() { |
(...skipping 16 matching lines...) Expand all Loading... |
1644 test_function() { | 1578 test_function() { |
1645 addTestFile(''' | 1579 addTestFile(''' |
1646 test() {} | 1580 test() {} |
1647 main() { | 1581 main() { |
1648 test(); | 1582 test(); |
1649 print(test); | 1583 print(test); |
1650 } | 1584 } |
1651 '''); | 1585 '''); |
1652 return assertSuccessfulRefactoring(() { | 1586 return assertSuccessfulRefactoring(() { |
1653 return sendRenameRequest('test() {}', 'newName'); | 1587 return sendRenameRequest('test() {}', 'newName'); |
1654 }, | 1588 }, ''' |
1655 ''' | |
1656 newName() {} | 1589 newName() {} |
1657 main() { | 1590 main() { |
1658 newName(); | 1591 newName(); |
1659 print(newName); | 1592 print(newName); |
1660 } | 1593 } |
1661 '''); | 1594 '''); |
1662 } | 1595 } |
1663 | 1596 |
1664 test_importPrefix_add() { | 1597 test_importPrefix_add() { |
1665 addTestFile(''' | 1598 addTestFile(''' |
1666 import 'dart:math'; | 1599 import 'dart:math'; |
1667 import 'dart:async'; | 1600 import 'dart:async'; |
1668 main() { | 1601 main() { |
1669 Random r; | 1602 Random r; |
1670 Future f; | 1603 Future f; |
1671 } | 1604 } |
1672 '''); | 1605 '''); |
1673 return assertSuccessfulRefactoring(() { | 1606 return assertSuccessfulRefactoring(() { |
1674 return sendRenameRequest("import 'dart:async';", 'new_name'); | 1607 return sendRenameRequest("import 'dart:async';", 'new_name'); |
1675 }, | 1608 }, ''' |
1676 ''' | |
1677 import 'dart:math'; | 1609 import 'dart:math'; |
1678 import 'dart:async' as new_name; | 1610 import 'dart:async' as new_name; |
1679 main() { | 1611 main() { |
1680 Random r; | 1612 Random r; |
1681 new_name.Future f; | 1613 new_name.Future f; |
1682 } | 1614 } |
1683 '''); | 1615 '''); |
1684 } | 1616 } |
1685 | 1617 |
1686 test_importPrefix_remove() { | 1618 test_importPrefix_remove() { |
1687 addTestFile(''' | 1619 addTestFile(''' |
1688 import 'dart:math' as test; | 1620 import 'dart:math' as test; |
1689 import 'dart:async' as test; | 1621 import 'dart:async' as test; |
1690 main() { | 1622 main() { |
1691 test.Random r; | 1623 test.Random r; |
1692 test.Future f; | 1624 test.Future f; |
1693 } | 1625 } |
1694 '''); | 1626 '''); |
1695 return assertSuccessfulRefactoring(() { | 1627 return assertSuccessfulRefactoring(() { |
1696 return sendRenameRequest("import 'dart:async' as test;", ''); | 1628 return sendRenameRequest("import 'dart:async' as test;", ''); |
1697 }, | 1629 }, ''' |
1698 ''' | |
1699 import 'dart:math' as test; | 1630 import 'dart:math' as test; |
1700 import 'dart:async'; | 1631 import 'dart:async'; |
1701 main() { | 1632 main() { |
1702 test.Random r; | 1633 test.Random r; |
1703 Future f; | 1634 Future f; |
1704 } | 1635 } |
1705 '''); | 1636 '''); |
1706 } | 1637 } |
1707 | 1638 |
1708 test_init_fatalError_noElement() { | 1639 test_init_fatalError_noElement() { |
1709 addTestFile('// nothing to rename'); | 1640 addTestFile('// nothing to rename'); |
1710 return getRefactoringResult(() { | 1641 return getRefactoringResult(() { |
1711 return sendRenameRequest('// nothing', null); | 1642 return sendRenameRequest('// nothing', null); |
1712 }).then((result) { | 1643 }).then((result) { |
1713 assertResultProblemsFatal( | 1644 assertResultProblemsFatal( |
1714 result.initialProblems, 'Unable to create a refactoring'); | 1645 result.initialProblems, 'Unable to create a refactoring'); |
1715 // ...there is no any change | 1646 // ...there is no any change |
1716 expect(result.change, isNull); | 1647 expect(result.change, isNull); |
1717 }); | 1648 }); |
1718 } | 1649 } |
1719 | 1650 |
1720 test_library_libraryDirective() { | 1651 test_library_libraryDirective() { |
1721 addTestFile(''' | 1652 addTestFile(''' |
1722 library aaa.bbb.ccc; | 1653 library aaa.bbb.ccc; |
1723 '''); | 1654 '''); |
1724 return assertSuccessfulRefactoring(() { | 1655 return assertSuccessfulRefactoring(() { |
1725 return sendRenameRequest('library aaa', 'my.new_name'); | 1656 return sendRenameRequest('library aaa', 'my.new_name'); |
1726 }, | 1657 }, ''' |
1727 ''' | |
1728 library my.new_name; | 1658 library my.new_name; |
1729 '''); | 1659 '''); |
1730 } | 1660 } |
1731 | 1661 |
1732 test_library_libraryDirective_name() { | 1662 test_library_libraryDirective_name() { |
1733 addTestFile(''' | 1663 addTestFile(''' |
1734 library aaa.bbb.ccc; | 1664 library aaa.bbb.ccc; |
1735 '''); | 1665 '''); |
1736 return assertSuccessfulRefactoring(() { | 1666 return assertSuccessfulRefactoring(() { |
1737 return sendRenameRequest('aaa', 'my.new_name'); | 1667 return sendRenameRequest('aaa', 'my.new_name'); |
1738 }, | 1668 }, ''' |
1739 ''' | |
1740 library my.new_name; | 1669 library my.new_name; |
1741 '''); | 1670 '''); |
1742 } | 1671 } |
1743 | 1672 |
1744 test_library_libraryDirective_nameDot() { | 1673 test_library_libraryDirective_nameDot() { |
1745 addTestFile(''' | 1674 addTestFile(''' |
1746 library aaa.bbb.ccc; | 1675 library aaa.bbb.ccc; |
1747 '''); | 1676 '''); |
1748 return assertSuccessfulRefactoring(() { | 1677 return assertSuccessfulRefactoring(() { |
1749 return sendRenameRequest('.bbb', 'my.new_name'); | 1678 return sendRenameRequest('.bbb', 'my.new_name'); |
1750 }, | 1679 }, ''' |
1751 ''' | |
1752 library my.new_name; | 1680 library my.new_name; |
1753 '''); | 1681 '''); |
1754 } | 1682 } |
1755 | 1683 |
1756 test_library_partOfDirective() { | 1684 test_library_partOfDirective() { |
1757 addFile( | 1685 addFile('$testFolder/my_lib.dart', ''' |
1758 '$testFolder/my_lib.dart', | |
1759 ''' | |
1760 library aaa.bbb.ccc; | 1686 library aaa.bbb.ccc; |
1761 part 'test.dart'; | 1687 part 'test.dart'; |
1762 '''); | 1688 '''); |
1763 addTestFile(''' | 1689 addTestFile(''' |
1764 part of aaa.bbb.ccc; | 1690 part of aaa.bbb.ccc; |
1765 '''); | 1691 '''); |
1766 return assertSuccessfulRefactoring(() { | 1692 return assertSuccessfulRefactoring(() { |
1767 return sendRenameRequest('aaa.bb', 'my.new_name'); | 1693 return sendRenameRequest('aaa.bb', 'my.new_name'); |
1768 }, | 1694 }, ''' |
1769 ''' | |
1770 part of my.new_name; | 1695 part of my.new_name; |
1771 '''); | 1696 '''); |
1772 } | 1697 } |
1773 | 1698 |
1774 test_localVariable() { | 1699 test_localVariable() { |
1775 addTestFile(''' | 1700 addTestFile(''' |
1776 main() { | 1701 main() { |
1777 int test = 0; | 1702 int test = 0; |
1778 test = 1; | 1703 test = 1; |
1779 test += 2; | 1704 test += 2; |
1780 print(test); | 1705 print(test); |
1781 } | 1706 } |
1782 '''); | 1707 '''); |
1783 return assertSuccessfulRefactoring(() { | 1708 return assertSuccessfulRefactoring(() { |
1784 return sendRenameRequest('test = 1', 'newName'); | 1709 return sendRenameRequest('test = 1', 'newName'); |
1785 }, | 1710 }, ''' |
1786 ''' | |
1787 main() { | 1711 main() { |
1788 int newName = 0; | 1712 int newName = 0; |
1789 newName = 1; | 1713 newName = 1; |
1790 newName += 2; | 1714 newName += 2; |
1791 print(newName); | 1715 print(newName); |
1792 } | 1716 } |
1793 '''); | 1717 '''); |
1794 } | 1718 } |
1795 | 1719 |
1796 test_localVariable_finalCheck_shadowError() { | 1720 test_localVariable_finalCheck_shadowError() { |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2013 @override | 1937 @override |
2014 void setUp() { | 1938 void setUp() { |
2015 super.setUp(); | 1939 super.setUp(); |
2016 createProject(); | 1940 createProject(); |
2017 ExtensionManager manager = new ExtensionManager(); | 1941 ExtensionManager manager = new ExtensionManager(); |
2018 manager.processPlugins([server.serverPlugin]); | 1942 manager.processPlugins([server.serverPlugin]); |
2019 handler = new EditDomainHandler(server); | 1943 handler = new EditDomainHandler(server); |
2020 server.handlers = [handler]; | 1944 server.handlers = [handler]; |
2021 } | 1945 } |
2022 } | 1946 } |
OLD | NEW |