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.analysis.notification.highlights; | 5 library test.analysis.notification.highlights; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/constants.dart'; | 9 import 'package:analysis_server/src/constants.dart'; |
| 10 import 'package:analysis_server/src/protocol.dart'; | 10 import 'package:analysis_server/src/protocol.dart'; |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 562 test_DIRECTIVE_partOf() { | 562 test_DIRECTIVE_partOf() { |
| 563 addTestFile(''' | 563 addTestFile(''' |
| 564 part of lib; | 564 part of lib; |
| 565 '''); | 565 '''); |
| 566 _addLibraryForTestPart(); | 566 _addLibraryForTestPart(); |
| 567 return prepareHighlights().then((_) { | 567 return prepareHighlights().then((_) { |
| 568 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;"); | 568 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;"); |
| 569 }); | 569 }); |
| 570 } | 570 } |
| 571 | 571 |
| 572 test_DYNAMIC_TYPE() { | |
| 573 addTestFile(''' | |
| 574 f() {} | |
| 575 main(p) { | |
| 576 print(p); | |
| 577 var v1 = f(); | |
| 578 int v2; | |
| 579 var v3 = v2; | |
| 580 } | |
| 581 '''); | |
| 582 return prepareHighlights().then((_) { | |
| 583 assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'p)'); | |
| 584 assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'v1 ='); | |
| 585 assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v2;'); | |
| 586 assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v3 ='); | |
| 587 }); | |
| 588 } | |
| 589 | |
| 590 test_ENUM() { | 572 test_ENUM() { |
| 591 addTestFile(''' | 573 addTestFile(''' |
| 592 enum MyEnum {A, B, C} | 574 enum MyEnum {A, B, C} |
| 593 MyEnum value; | 575 MyEnum value; |
| 594 '''); | 576 '''); |
| 595 return prepareHighlights().then((_) { | 577 return prepareHighlights().then((_) { |
| 596 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); | 578 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); |
| 597 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum value;'); | 579 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum value;'); |
| 598 }); | 580 }); |
| 599 } | 581 } |
| 600 | 582 |
| 601 test_ENUM_CONSTANT() { | 583 test_ENUM_CONSTANT() { |
| 602 addTestFile(''' | 584 addTestFile(''' |
| 603 enum MyEnum {AAA, BBB} | 585 enum MyEnum {AAA, BBB} |
| 604 main() { | 586 main() { |
| 605 print(MyEnum.AAA); | 587 print(MyEnum.AAA); |
| 606 print(MyEnum.BBB); | 588 print(MyEnum.BBB); |
| 607 } | 589 } |
| 608 '''); | 590 '''); |
| 609 return prepareHighlights().then((_) { | 591 return prepareHighlights().then((_) { |
| 610 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); | 592 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); |
| 611 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); | 593 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); |
| 612 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); | 594 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); |
| 613 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); | 595 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); |
| 614 }); | 596 }); |
| 615 } | 597 } |
| 616 | 598 |
| 617 test_FIELD() { | 599 solo_test_LOCAL_FUNCTION() { |
|
Brian Wilkerson
2015/07/09 13:58:20
Remove "solo_" prefix.
scheglov
2015/07/09 15:36:22
Done.
| |
| 618 addTestFile(''' | 600 addTestFile(''' |
| 619 class A { | 601 main() { |
| 620 int aaa = 1; | 602 fff() {} |
| 621 int bbb = 2; | 603 fff(); |
| 622 A([this.bbb = 3]); | 604 fff; |
| 623 } | |
| 624 main(A a) { | |
| 625 a.aaa = 4; | |
| 626 a.bbb = 5; | |
| 627 } | 605 } |
| 628 '''); | 606 '''); |
| 629 return prepareHighlights().then((_) { | 607 return prepareHighlights().then((_) { |
| 630 assertHasRegion(HighlightRegionType.FIELD, 'aaa = 1'); | 608 assertHasRegion( |
| 631 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2'); | 609 HighlightRegionType.LOCAL_FUNCTION_DECLARATION, 'fff() {}'); |
| 632 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 3'); | 610 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff();'); |
| 633 assertHasRegion(HighlightRegionType.FIELD, 'aaa = 4'); | 611 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff;'); |
| 634 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 5'); | |
| 635 }); | 612 }); |
| 636 } | 613 } |
| 637 | 614 |
| 638 test_FIELD_STATIC() { | |
| 639 addTestFile(''' | |
| 640 class A { | |
| 641 static aaa = 1; | |
| 642 static get bbb => null; | |
| 643 static set ccc(x) {} | |
| 644 } | |
| 645 main() { | |
| 646 A.aaa = 2; | |
| 647 A.bbb; | |
| 648 A.ccc = 3; | |
| 649 } | |
| 650 '''); | |
| 651 return prepareHighlights().then((_) { | |
| 652 assertHasRegion(HighlightRegionType.FIELD_STATIC, 'aaa = 1'); | |
| 653 assertHasRegion(HighlightRegionType.FIELD_STATIC, 'aaa = 2'); | |
| 654 assertHasRegion(HighlightRegionType.FIELD_STATIC, 'bbb;'); | |
| 655 assertHasRegion(HighlightRegionType.FIELD_STATIC, 'ccc = 3'); | |
| 656 }); | |
| 657 } | |
| 658 | |
| 659 test_FUNCTION() { | |
| 660 addTestFile(''' | |
| 661 fff(p) {} | |
| 662 main() { | |
| 663 fff(42); | |
| 664 } | |
| 665 '''); | |
| 666 return prepareHighlights().then((_) { | |
| 667 assertHasRegion(HighlightRegionType.FUNCTION_DECLARATION, 'fff(p) {}'); | |
| 668 assertHasRegion(HighlightRegionType.FUNCTION, 'fff(42)'); | |
| 669 }); | |
| 670 } | |
| 671 | |
| 672 test_FUNCTION_TYPE_ALIAS() { | 615 test_FUNCTION_TYPE_ALIAS() { |
| 673 addTestFile(''' | 616 addTestFile(''' |
| 674 typedef FFF(p); | 617 typedef FFF(p); |
| 675 main(FFF fff) { | 618 main(FFF fff) { |
| 676 } | 619 } |
| 677 '''); | 620 '''); |
| 678 return prepareHighlights().then((_) { | 621 return prepareHighlights().then((_) { |
| 679 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); | 622 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); |
| 680 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); | 623 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); |
| 681 }); | 624 }); |
| 682 } | 625 } |
| 683 | 626 |
| 684 test_GETTER_DECLARATION() { | 627 test_GETTER() { |
| 685 addTestFile(''' | 628 addTestFile(''' |
| 686 get aaa => null; | 629 get aaa => null; |
| 687 class A { | 630 class A { |
| 688 get bbb => null; | 631 get bbb => null; |
| 632 static get ccc => null; | |
| 689 } | 633 } |
| 690 main(A a) { | 634 main(A a) { |
| 691 aaa; | 635 aaa; |
| 692 a.bbb; | 636 a.bbb; |
| 637 A.ccc; | |
| 693 } | 638 } |
| 694 '''); | 639 '''); |
| 695 return prepareHighlights().then((_) { | 640 return prepareHighlights().then((_) { |
| 696 assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'aaa => null'); | 641 assertHasRegion( |
| 697 assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'bbb => null'); | 642 HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION, 'aaa => null'); |
| 698 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa;'); | 643 assertHasRegion( |
| 699 assertHasRegion(HighlightRegionType.FIELD, 'bbb;'); | 644 HighlightRegionType.INSTANCE_GETTER_DECLARATION, 'bbb => null'); |
| 645 assertHasRegion( | |
| 646 HighlightRegionType.STATIC_GETTER_DECLARATION, 'ccc => null'); | |
| 647 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'aaa;'); | |
| 648 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb;'); | |
| 649 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'ccc;'); | |
| 700 }); | 650 }); |
| 701 } | 651 } |
| 702 | 652 |
| 703 test_IDENTIFIER_DEFAULT() { | 653 test_IDENTIFIER_DEFAULT() { |
| 704 addTestFile(''' | 654 addTestFile(''' |
| 705 main() { | 655 main() { |
| 706 aaa = 42; | 656 aaa = 42; |
| 707 bbb(84); | 657 bbb(84); |
| 708 CCC ccc; | 658 CCC ccc; |
| 709 } | 659 } |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 721 main() { | 671 main() { |
| 722 ma.max(1, 2); | 672 ma.max(1, 2); |
| 723 } | 673 } |
| 724 '''); | 674 '''); |
| 725 return prepareHighlights().then((_) { | 675 return prepareHighlights().then((_) { |
| 726 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); | 676 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); |
| 727 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); | 677 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); |
| 728 }); | 678 }); |
| 729 } | 679 } |
| 730 | 680 |
| 681 test_INSTANCE_FIELD() { | |
| 682 addTestFile(''' | |
| 683 class A { | |
| 684 int aaa = 1; | |
| 685 int bbb = 2; | |
| 686 A([this.bbb = 3]); | |
| 687 } | |
| 688 main(A a) { | |
| 689 a.aaa = 4; | |
| 690 a.bbb = 5; | |
| 691 } | |
| 692 '''); | |
| 693 return prepareHighlights().then((_) { | |
| 694 assertHasRegion( | |
| 695 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'aaa = 1'); | |
| 696 assertHasRegion( | |
| 697 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'bbb = 2'); | |
| 698 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 3'); | |
| 699 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'aaa = 4'); | |
| 700 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 5'); | |
| 701 }); | |
| 702 } | |
| 703 | |
| 731 test_KEYWORD() { | 704 test_KEYWORD() { |
| 732 addTestFile(''' | 705 addTestFile(''' |
| 733 main() { | 706 main() { |
| 734 assert(true); | 707 assert(true); |
| 735 for (;;) break; | 708 for (;;) break; |
| 736 switch (0) { | 709 switch (0) { |
| 737 case 0: break; | 710 case 0: break; |
| 738 default: break; | 711 default: break; |
| 739 } | 712 } |
| 740 try {} catch (e) {} | 713 try {} catch (e) {} |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 866 addTestFile(''' | 839 addTestFile(''' |
| 867 main() { | 840 main() { |
| 868 int vvv = 0; | 841 int vvv = 0; |
| 869 vvv; | 842 vvv; |
| 870 vvv = 1; | 843 vvv = 1; |
| 871 } | 844 } |
| 872 '''); | 845 '''); |
| 873 return prepareHighlights().then((_) { | 846 return prepareHighlights().then((_) { |
| 874 assertHasRegion( | 847 assertHasRegion( |
| 875 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); | 848 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); |
| 876 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv;'); | 849 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv;'); |
| 877 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv = 1;'); | 850 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv = 1;'); |
| 878 }); | 851 }); |
| 879 } | 852 } |
| 880 | 853 |
| 881 test_METHOD() { | 854 test_METHOD() { |
| 882 addTestFile(''' | 855 addTestFile(''' |
| 883 class A { | 856 class A { |
| 884 aaa() {} | 857 aaa() {} |
| 885 static bbb() {} | 858 static bbb() {} |
| 886 } | 859 } |
| 887 main(A a) { | 860 main(A a) { |
| 888 a.aaa(); | 861 a.aaa(); |
| 889 a.aaa; | 862 a.aaa; |
| 890 A.bbb(); | 863 A.bbb(); |
| 891 A.bbb; | 864 A.bbb; |
| 892 } | 865 } |
| 893 '''); | 866 '''); |
| 894 return prepareHighlights().then((_) { | 867 return prepareHighlights().then((_) { |
| 895 assertHasRegion(HighlightRegionType.METHOD_DECLARATION, 'aaa() {}'); | |
| 896 assertHasRegion( | 868 assertHasRegion( |
| 897 HighlightRegionType.METHOD_DECLARATION_STATIC, 'bbb() {}'); | 869 HighlightRegionType.INSTANCE_METHOD_DECLARATION, 'aaa() {}'); |
| 898 assertHasRegion(HighlightRegionType.METHOD, 'aaa();'); | 870 assertHasRegion( |
| 899 assertHasRegion(HighlightRegionType.METHOD, 'aaa;'); | 871 HighlightRegionType.STATIC_METHOD_DECLARATION, 'bbb() {}'); |
| 900 assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb();'); | 872 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa();'); |
| 901 assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb;'); | 873 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa;'); |
| 874 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb();'); | |
| 875 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb;'); | |
| 902 }); | 876 }); |
| 903 } | 877 } |
| 904 | 878 |
| 905 test_METHOD_bestType() { | 879 test_METHOD_bestType() { |
| 906 addTestFile(''' | 880 addTestFile(''' |
| 907 main(p) { | 881 main(p) { |
| 908 if (p is List) { | 882 if (p is List) { |
| 909 p.add(null); | 883 p.add(null); |
| 910 } | 884 } |
| 911 } | 885 } |
| 912 '''); | 886 '''); |
| 913 return prepareHighlights().then((_) { | 887 return prepareHighlights().then((_) { |
| 914 assertHasRegion(HighlightRegionType.METHOD, 'add(null)'); | 888 assertHasRegion( |
| 889 HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'add(null)'); | |
| 915 }); | 890 }); |
| 916 } | 891 } |
| 917 | 892 |
| 918 test_PARAMETER() { | 893 test_PARAMETER() { |
| 919 addTestFile(''' | 894 addTestFile(''' |
| 920 main(int p) { | 895 main(int p) { |
| 921 p; | 896 p; |
| 922 p = 42; | 897 p = 42; |
| 923 } | 898 } |
| 924 '''); | 899 '''); |
| 925 return prepareHighlights().then((_) { | 900 return prepareHighlights().then((_) { |
| 926 assertHasRegion(HighlightRegionType.PARAMETER, 'p) {'); | 901 assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'p) {'); |
| 927 assertHasRegion(HighlightRegionType.PARAMETER, 'p;'); | 902 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p;'); |
| 928 assertHasRegion(HighlightRegionType.PARAMETER, 'p = 42'); | 903 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p = 42'); |
| 929 }); | 904 }); |
| 930 } | 905 } |
| 931 | 906 |
| 932 test_SETTER_DECLARATION() { | 907 test_SETTER_DECLARATION() { |
| 933 addTestFile(''' | 908 addTestFile(''' |
| 934 set aaa(x) {} | 909 set aaa(x) {} |
| 935 class A { | 910 class A { |
| 936 set bbb(x) {} | 911 set bbb(x) {} |
| 912 static set ccc(x) {} | |
| 937 } | 913 } |
| 938 main(A a) { | 914 main(A a) { |
| 939 aaa = 1; | 915 aaa = 1; |
| 940 a.bbb = 2; | 916 a.bbb = 2; |
| 917 A.ccc = 3; | |
| 941 } | 918 } |
| 942 '''); | 919 '''); |
| 943 return prepareHighlights().then((_) { | 920 return prepareHighlights().then((_) { |
| 944 assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'aaa(x)'); | 921 assertHasRegion( |
| 945 assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'bbb(x)'); | 922 HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION, 'aaa(x)'); |
| 946 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa = 1'); | 923 assertHasRegion( |
| 947 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2'); | 924 HighlightRegionType.INSTANCE_SETTER_DECLARATION, 'bbb(x)'); |
| 925 assertHasRegion(HighlightRegionType.STATIC_SETTER_DECLARATION, 'ccc(x)'); | |
| 926 assertHasRegion( | |
| 927 HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'aaa = 1'); | |
| 928 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 2'); | |
| 929 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'ccc = 3'); | |
| 948 }); | 930 }); |
| 949 } | 931 } |
| 950 | 932 |
| 933 test_STATIC_FIELD() { | |
| 934 addTestFile(''' | |
| 935 class A { | |
| 936 static aaa = 1; | |
| 937 static get bbb => null; | |
| 938 static set ccc(x) {} | |
| 939 } | |
| 940 main() { | |
| 941 A.aaa = 2; | |
| 942 A.bbb; | |
| 943 A.ccc = 3; | |
| 944 } | |
| 945 '''); | |
| 946 return prepareHighlights().then((_) { | |
| 947 assertHasRegion(HighlightRegionType.STATIC_FIELD_DECLARATION, 'aaa = 1'); | |
| 948 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'aaa = 2'); | |
| 949 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'bbb;'); | |
| 950 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'ccc = 3'); | |
| 951 }); | |
| 952 } | |
| 953 | |
| 954 test_TOP_LEVEL_FUNCTION() { | |
| 955 addTestFile(''' | |
| 956 fff(p) {} | |
| 957 main() { | |
| 958 fff(42); | |
| 959 } | |
| 960 '''); | |
| 961 return prepareHighlights().then((_) { | |
| 962 assertHasRegion( | |
| 963 HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, 'fff(p) {}'); | |
| 964 assertHasRegion( | |
| 965 HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, 'fff(42)'); | |
| 966 }); | |
| 967 } | |
| 968 | |
| 951 test_TOP_LEVEL_VARIABLE() { | 969 test_TOP_LEVEL_VARIABLE() { |
| 952 addTestFile(''' | 970 addTestFile(''' |
| 953 const VVV = 0; | 971 const VVV = 0; |
| 954 @VVV // annotation | 972 @VVV // annotation |
| 955 main() { | 973 main() { |
| 956 print(VVV); | 974 print(VVV); |
| 957 VVV = 1; | 975 VVV = 1; |
| 958 } | 976 } |
| 959 '''); | 977 '''); |
| 960 return prepareHighlights().then((_) { | 978 return prepareHighlights().then((_) { |
| 961 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 0'); | |
| 962 assertHasRegion( | 979 assertHasRegion( |
| 963 HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV // annotation'); | 980 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'VVV = 0'); |
| 964 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV);'); | 981 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, |
| 965 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 1'); | 982 'VVV // annotation'); |
| 983 assertHasRegion( | |
| 984 HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'VVV);'); | |
| 985 assertHasRegion( | |
| 986 HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'VVV = 1'); | |
| 966 }); | 987 }); |
| 967 } | 988 } |
| 968 | 989 |
| 969 test_TYPE_NAME_DYNAMIC() { | 990 test_TYPE_NAME_DYNAMIC() { |
| 970 addTestFile(''' | 991 addTestFile(''' |
| 971 dynamic main() { | 992 dynamic main() { |
| 972 dynamic = 42; | 993 dynamic = 42; |
| 973 } | 994 } |
| 974 '''); | 995 '''); |
| 975 return prepareHighlights().then((_) { | 996 return prepareHighlights().then((_) { |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 987 } | 1008 } |
| 988 '''); | 1009 '''); |
| 989 return prepareHighlights().then((_) { | 1010 return prepareHighlights().then((_) { |
| 990 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T> {'); | 1011 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T> {'); |
| 991 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T fff;'); | 1012 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T fff;'); |
| 992 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T mmm('); | 1013 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T mmm('); |
| 993 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T p)'); | 1014 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T p)'); |
| 994 }); | 1015 }); |
| 995 } | 1016 } |
| 996 | 1017 |
| 1018 test_UNTYPED_VARIABLE() { | |
| 1019 addTestFile(''' | |
| 1020 f() {} | |
| 1021 main(p) { | |
| 1022 print(p); | |
| 1023 var v1 = f(); | |
| 1024 int v2; | |
| 1025 var v3 = v2; | |
| 1026 } | |
| 1027 '''); | |
| 1028 return prepareHighlights().then((_) { | |
| 1029 assertHasRegion(HighlightRegionType.UNTYPED_VARIABLE, 'p)'); | |
| 1030 assertHasRegion(HighlightRegionType.UNTYPED_VARIABLE, 'v1 ='); | |
| 1031 assertNoRegion(HighlightRegionType.UNTYPED_VARIABLE, 'v2;'); | |
| 1032 assertNoRegion(HighlightRegionType.UNTYPED_VARIABLE, 'v3 ='); | |
| 1033 }); | |
| 1034 } | |
| 1035 | |
| 997 void _addLibraryForTestPart() { | 1036 void _addLibraryForTestPart() { |
| 998 addFile('$testFolder/my_lib.dart', ''' | 1037 addFile('$testFolder/my_lib.dart', ''' |
| 999 library lib; | 1038 library lib; |
| 1000 part 'test.dart'; | 1039 part 'test.dart'; |
| 1001 '''); | 1040 '''); |
| 1002 } | 1041 } |
| 1003 } | 1042 } |
| 1004 | 1043 |
| 1005 @reflectiveTest | 1044 @reflectiveTest |
| 1006 class HighlightTypeTest { | 1045 class HighlightTypeTest { |
| 1007 void test_constructor() { | 1046 void test_constructor() { |
| 1008 expect(HighlightRegionType.CLASS, | 1047 expect(HighlightRegionType.CLASS, |
| 1009 new HighlightRegionType(HighlightRegionType.CLASS.name)); | 1048 new HighlightRegionType(HighlightRegionType.CLASS.name)); |
| 1010 } | 1049 } |
| 1011 | 1050 |
| 1012 void test_toString() { | 1051 void test_toString() { |
| 1013 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); | 1052 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); |
| 1014 } | 1053 } |
| 1015 | 1054 |
| 1016 void test_valueOf_unknown() { | 1055 void test_valueOf_unknown() { |
| 1017 expect(() { | 1056 expect(() { |
| 1018 new HighlightRegionType('no-such-type'); | 1057 new HighlightRegionType('no-such-type'); |
| 1019 }, throws); | 1058 }, throws); |
| 1020 } | 1059 } |
| 1021 } | 1060 } |
| OLD | NEW |