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.highlights2; |
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'; |
11 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 11 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
12 import 'package:unittest/unittest.dart'; | 12 import 'package:unittest/unittest.dart'; |
13 | 13 |
14 import '../analysis_abstract.dart'; | 14 import '../analysis_abstract.dart'; |
15 | 15 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 var params = new AnalysisHighlightsParams.fromNotification(notification); | 96 var params = new AnalysisHighlightsParams.fromNotification(notification); |
97 if (params.file == testFile) { | 97 if (params.file == testFile) { |
98 regions = params.regions; | 98 regions = params.regions; |
99 } | 99 } |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 @override | 103 @override |
104 void setUp() { | 104 void setUp() { |
105 super.setUp(); | 105 super.setUp(); |
| 106 server.options.useAnalysisHighlight2 = true; |
106 createProject(); | 107 createProject(); |
107 } | 108 } |
108 | 109 |
109 test_ANNOTATION_hasArguments() { | 110 test_ANNOTATION_hasArguments() { |
110 addTestFile(''' | 111 addTestFile(''' |
111 class AAA { | 112 class AAA { |
112 const AAA(a, b, c); | 113 const AAA(a, b, c); |
113 } | 114 } |
114 @AAA(1, 2, 3) main() {} | 115 @AAA(1, 2, 3) main() {} |
115 '''); | 116 '''); |
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 test_DIRECTIVE_partOf() { | 563 test_DIRECTIVE_partOf() { |
563 addTestFile(''' | 564 addTestFile(''' |
564 part of lib; | 565 part of lib; |
565 '''); | 566 '''); |
566 _addLibraryForTestPart(); | 567 _addLibraryForTestPart(); |
567 return prepareHighlights().then((_) { | 568 return prepareHighlights().then((_) { |
568 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;"); | 569 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;"); |
569 }); | 570 }); |
570 } | 571 } |
571 | 572 |
572 test_DYNAMIC_TYPE() { | 573 test_DYNAMIC_LOCAL_VARIABLE() { |
573 addTestFile(''' | 574 addTestFile(''' |
574 f() {} | 575 f() {} |
575 main(p) { | 576 main(p) { |
576 print(p); | 577 var v = f(); |
577 var v1 = f(); | 578 v; |
578 int v2; | |
579 var v3 = v2; | |
580 } | 579 } |
581 '''); | 580 '''); |
582 return prepareHighlights().then((_) { | 581 return prepareHighlights().then((_) { |
583 assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'p)'); | 582 assertHasRegion( |
584 assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'v1 ='); | 583 HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION, 'v = f()'); |
585 assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v2;'); | 584 assertHasRegion( |
586 assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v3 ='); | 585 HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE, 'v;'); |
| 586 }); |
| 587 } |
| 588 |
| 589 test_DYNAMIC_PARAMETER() { |
| 590 addTestFile(''' |
| 591 main(p) { |
| 592 print(p); |
| 593 } |
| 594 '''); |
| 595 return prepareHighlights().then((_) { |
| 596 assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, 'p)'); |
| 597 assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_REFERENCE, 'p);'); |
| 598 }); |
| 599 } |
| 600 |
| 601 test_DYNAMIC_VARIABLE_field() { |
| 602 addTestFile(''' |
| 603 class A { |
| 604 var f; |
| 605 m() { |
| 606 f = 1; |
| 607 } |
| 608 } |
| 609 '''); |
| 610 return prepareHighlights().then((_) { |
| 611 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;'); |
| 612 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'f = 1'); |
587 }); | 613 }); |
588 } | 614 } |
589 | 615 |
590 test_ENUM() { | 616 test_ENUM() { |
591 addTestFile(''' | 617 addTestFile(''' |
592 enum MyEnum {A, B, C} | 618 enum MyEnum {A, B, C} |
593 MyEnum value; | 619 MyEnum value; |
594 '''); | 620 '''); |
595 return prepareHighlights().then((_) { | 621 return prepareHighlights().then((_) { |
596 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); | 622 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); |
(...skipping 10 matching lines...) Expand all Loading... |
607 } | 633 } |
608 '''); | 634 '''); |
609 return prepareHighlights().then((_) { | 635 return prepareHighlights().then((_) { |
610 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); | 636 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); |
611 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); | 637 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); |
612 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); | 638 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); |
613 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); | 639 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); |
614 }); | 640 }); |
615 } | 641 } |
616 | 642 |
617 test_FIELD() { | |
618 addTestFile(''' | |
619 class A { | |
620 int aaa = 1; | |
621 int bbb = 2; | |
622 A([this.bbb = 3]); | |
623 } | |
624 main(A a) { | |
625 a.aaa = 4; | |
626 a.bbb = 5; | |
627 } | |
628 '''); | |
629 return prepareHighlights().then((_) { | |
630 assertHasRegion(HighlightRegionType.FIELD, 'aaa = 1'); | |
631 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2'); | |
632 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 3'); | |
633 assertHasRegion(HighlightRegionType.FIELD, 'aaa = 4'); | |
634 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 5'); | |
635 }); | |
636 } | |
637 | |
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() { | 643 test_FUNCTION_TYPE_ALIAS() { |
673 addTestFile(''' | 644 addTestFile(''' |
674 typedef FFF(p); | 645 typedef FFF(p); |
675 main(FFF fff) { | 646 main(FFF fff) { |
676 } | 647 } |
677 '''); | 648 '''); |
678 return prepareHighlights().then((_) { | 649 return prepareHighlights().then((_) { |
679 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); | 650 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); |
680 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); | 651 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); |
681 }); | 652 }); |
682 } | 653 } |
683 | 654 |
684 test_GETTER_DECLARATION() { | 655 test_GETTER() { |
685 addTestFile(''' | 656 addTestFile(''' |
686 get aaa => null; | 657 get aaa => null; |
687 class A { | 658 class A { |
688 get bbb => null; | 659 get bbb => null; |
| 660 static get ccc => null; |
689 } | 661 } |
690 main(A a) { | 662 main(A a) { |
691 aaa; | 663 aaa; |
692 a.bbb; | 664 a.bbb; |
| 665 A.ccc; |
693 } | 666 } |
694 '''); | 667 '''); |
695 return prepareHighlights().then((_) { | 668 return prepareHighlights().then((_) { |
696 assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'aaa => null'); | 669 assertHasRegion( |
697 assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'bbb => null'); | 670 HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION, 'aaa => null'); |
698 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa;'); | 671 assertHasRegion( |
699 assertHasRegion(HighlightRegionType.FIELD, 'bbb;'); | 672 HighlightRegionType.INSTANCE_GETTER_DECLARATION, 'bbb => null'); |
| 673 assertHasRegion( |
| 674 HighlightRegionType.STATIC_GETTER_DECLARATION, 'ccc => null'); |
| 675 assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'aaa;'); |
| 676 assertHasRegion(HighlightRegionType.INSTANCE_GETTER_REFERENCE, 'bbb;'); |
| 677 assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'ccc;'); |
700 }); | 678 }); |
701 } | 679 } |
702 | 680 |
703 test_IDENTIFIER_DEFAULT() { | 681 test_IDENTIFIER_DEFAULT() { |
704 addTestFile(''' | 682 addTestFile(''' |
705 main() { | 683 main() { |
706 aaa = 42; | 684 aaa = 42; |
707 bbb(84); | 685 bbb(84); |
708 CCC ccc; | 686 CCC ccc; |
709 } | 687 } |
(...skipping 11 matching lines...) Expand all Loading... |
721 main() { | 699 main() { |
722 ma.max(1, 2); | 700 ma.max(1, 2); |
723 } | 701 } |
724 '''); | 702 '''); |
725 return prepareHighlights().then((_) { | 703 return prepareHighlights().then((_) { |
726 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); | 704 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); |
727 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); | 705 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); |
728 }); | 706 }); |
729 } | 707 } |
730 | 708 |
| 709 test_INSTANCE_FIELD() { |
| 710 addTestFile(''' |
| 711 class A { |
| 712 int aaa = 1; |
| 713 int bbb = 2; |
| 714 A([this.bbb = 3]); |
| 715 } |
| 716 main(A a) { |
| 717 a.aaa = 4; |
| 718 a.bbb = 5; |
| 719 } |
| 720 '''); |
| 721 return prepareHighlights().then((_) { |
| 722 assertHasRegion( |
| 723 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'aaa = 1'); |
| 724 assertHasRegion( |
| 725 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'bbb = 2'); |
| 726 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 3'); |
| 727 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'aaa = 4'); |
| 728 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 5'); |
| 729 }); |
| 730 } |
| 731 |
731 test_KEYWORD() { | 732 test_KEYWORD() { |
732 addTestFile(''' | 733 addTestFile(''' |
733 main() { | 734 main() { |
734 assert(true); | 735 assert(true); |
735 for (;;) break; | 736 for (;;) break; |
736 switch (0) { | 737 switch (0) { |
737 case 0: break; | 738 case 0: break; |
738 default: break; | 739 default: break; |
739 } | 740 } |
740 try {} catch (e) {} | 741 try {} catch (e) {} |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 } | 856 } |
856 | 857 |
857 test_LITERAL_STRING() { | 858 test_LITERAL_STRING() { |
858 addTestFile('var V = "abc";'); | 859 addTestFile('var V = "abc";'); |
859 return prepareHighlights().then((_) { | 860 return prepareHighlights().then((_) { |
860 assertHasRegion( | 861 assertHasRegion( |
861 HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length); | 862 HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length); |
862 }); | 863 }); |
863 } | 864 } |
864 | 865 |
| 866 test_LOCAL_FUNCTION() { |
| 867 addTestFile(''' |
| 868 main() { |
| 869 fff() {} |
| 870 fff(); |
| 871 fff; |
| 872 } |
| 873 '''); |
| 874 return prepareHighlights().then((_) { |
| 875 assertHasRegion( |
| 876 HighlightRegionType.LOCAL_FUNCTION_DECLARATION, 'fff() {}'); |
| 877 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff();'); |
| 878 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff;'); |
| 879 }); |
| 880 } |
| 881 |
865 test_LOCAL_VARIABLE() { | 882 test_LOCAL_VARIABLE() { |
866 addTestFile(''' | 883 addTestFile(''' |
867 main() { | 884 main() { |
868 int vvv = 0; | 885 int vvv = 0; |
869 vvv; | 886 vvv; |
870 vvv = 1; | 887 vvv = 1; |
871 } | 888 } |
872 '''); | 889 '''); |
873 return prepareHighlights().then((_) { | 890 return prepareHighlights().then((_) { |
874 assertHasRegion( | 891 assertHasRegion( |
875 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); | 892 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); |
876 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv;'); | 893 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv;'); |
877 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv = 1;'); | 894 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv = 1;'); |
878 }); | 895 }); |
879 } | 896 } |
880 | 897 |
881 test_METHOD() { | 898 test_METHOD() { |
882 addTestFile(''' | 899 addTestFile(''' |
883 class A { | 900 class A { |
884 aaa() {} | 901 aaa() {} |
885 static bbb() {} | 902 static bbb() {} |
886 } | 903 } |
887 main(A a) { | 904 main(A a) { |
888 a.aaa(); | 905 a.aaa(); |
889 a.aaa; | 906 a.aaa; |
890 A.bbb(); | 907 A.bbb(); |
891 A.bbb; | 908 A.bbb; |
892 } | 909 } |
893 '''); | 910 '''); |
894 return prepareHighlights().then((_) { | 911 return prepareHighlights().then((_) { |
895 assertHasRegion(HighlightRegionType.METHOD_DECLARATION, 'aaa() {}'); | |
896 assertHasRegion( | 912 assertHasRegion( |
897 HighlightRegionType.METHOD_DECLARATION_STATIC, 'bbb() {}'); | 913 HighlightRegionType.INSTANCE_METHOD_DECLARATION, 'aaa() {}'); |
898 assertHasRegion(HighlightRegionType.METHOD, 'aaa();'); | 914 assertHasRegion( |
899 assertHasRegion(HighlightRegionType.METHOD, 'aaa;'); | 915 HighlightRegionType.STATIC_METHOD_DECLARATION, 'bbb() {}'); |
900 assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb();'); | 916 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa();'); |
901 assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb;'); | 917 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa;'); |
| 918 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb();'); |
| 919 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb;'); |
902 }); | 920 }); |
903 } | 921 } |
904 | 922 |
905 test_METHOD_bestType() { | 923 test_METHOD_bestType() { |
906 addTestFile(''' | 924 addTestFile(''' |
907 main(p) { | 925 main(p) { |
908 if (p is List) { | 926 if (p is List) { |
909 p.add(null); | 927 p.add(null); |
910 } | 928 } |
911 } | 929 } |
912 '''); | 930 '''); |
913 return prepareHighlights().then((_) { | 931 return prepareHighlights().then((_) { |
914 assertHasRegion(HighlightRegionType.METHOD, 'add(null)'); | 932 assertHasRegion( |
| 933 HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'add(null)'); |
915 }); | 934 }); |
916 } | 935 } |
917 | 936 |
918 test_PARAMETER() { | 937 test_PARAMETER() { |
919 addTestFile(''' | 938 addTestFile(''' |
920 main(int p) { | 939 main(int p) { |
921 p; | 940 p; |
922 p = 42; | 941 p = 42; |
923 } | 942 } |
924 '''); | 943 '''); |
925 return prepareHighlights().then((_) { | 944 return prepareHighlights().then((_) { |
926 assertHasRegion(HighlightRegionType.PARAMETER, 'p) {'); | 945 assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'p) {'); |
927 assertHasRegion(HighlightRegionType.PARAMETER, 'p;'); | 946 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p;'); |
928 assertHasRegion(HighlightRegionType.PARAMETER, 'p = 42'); | 947 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p = 42'); |
929 }); | 948 }); |
930 } | 949 } |
931 | 950 |
932 test_SETTER_DECLARATION() { | 951 test_SETTER_DECLARATION() { |
933 addTestFile(''' | 952 addTestFile(''' |
934 set aaa(x) {} | 953 set aaa(x) {} |
935 class A { | 954 class A { |
936 set bbb(x) {} | 955 set bbb(x) {} |
| 956 static set ccc(x) {} |
937 } | 957 } |
938 main(A a) { | 958 main(A a) { |
939 aaa = 1; | 959 aaa = 1; |
940 a.bbb = 2; | 960 a.bbb = 2; |
| 961 A.ccc = 3; |
941 } | 962 } |
942 '''); | 963 '''); |
943 return prepareHighlights().then((_) { | 964 return prepareHighlights().then((_) { |
944 assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'aaa(x)'); | 965 assertHasRegion( |
945 assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'bbb(x)'); | 966 HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION, 'aaa(x)'); |
946 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa = 1'); | 967 assertHasRegion( |
947 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2'); | 968 HighlightRegionType.INSTANCE_SETTER_DECLARATION, 'bbb(x)'); |
| 969 assertHasRegion(HighlightRegionType.STATIC_SETTER_DECLARATION, 'ccc(x)'); |
| 970 assertHasRegion( |
| 971 HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'aaa = 1'); |
| 972 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 2'); |
| 973 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3'); |
| 974 }); |
| 975 } |
| 976 |
| 977 test_STATIC_FIELD() { |
| 978 addTestFile(''' |
| 979 class A { |
| 980 static aaa = 1; |
| 981 static get bbb => null; |
| 982 static set ccc(x) {} |
| 983 } |
| 984 main() { |
| 985 A.aaa = 2; |
| 986 A.bbb; |
| 987 A.ccc = 3; |
| 988 } |
| 989 '''); |
| 990 return prepareHighlights().then((_) { |
| 991 assertHasRegion(HighlightRegionType.STATIC_FIELD_DECLARATION, 'aaa = 1'); |
| 992 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'aaa = 2'); |
| 993 assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'bbb;'); |
| 994 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3'); |
| 995 }); |
| 996 } |
| 997 |
| 998 test_TOP_LEVEL_FUNCTION() { |
| 999 addTestFile(''' |
| 1000 fff(p) {} |
| 1001 main() { |
| 1002 fff(42); |
| 1003 } |
| 1004 '''); |
| 1005 return prepareHighlights().then((_) { |
| 1006 assertHasRegion( |
| 1007 HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, 'fff(p) {}'); |
| 1008 assertHasRegion( |
| 1009 HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, 'fff(42)'); |
948 }); | 1010 }); |
949 } | 1011 } |
950 | 1012 |
951 test_TOP_LEVEL_VARIABLE() { | 1013 test_TOP_LEVEL_VARIABLE() { |
952 addTestFile(''' | 1014 addTestFile(''' |
953 const VVV = 0; | 1015 const V1 = 1; |
954 @VVV // annotation | 1016 var V2 = 2; |
| 1017 @V1 // annotation |
955 main() { | 1018 main() { |
956 print(VVV); | 1019 print(V1); |
957 VVV = 1; | 1020 V2 = 3; |
958 } | 1021 } |
959 '''); | 1022 '''); |
960 return prepareHighlights().then((_) { | 1023 return prepareHighlights().then((_) { |
961 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 0'); | |
962 assertHasRegion( | 1024 assertHasRegion( |
963 HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV // annotation'); | 1025 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V1 = 1'); |
964 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV);'); | 1026 assertHasRegion( |
965 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 1'); | 1027 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V2 = 2'); |
| 1028 assertHasRegion( |
| 1029 HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1 // annotation'); |
| 1030 assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1);'); |
| 1031 assertHasRegion(HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'V2 = 3'); |
966 }); | 1032 }); |
967 } | 1033 } |
968 | 1034 |
969 test_TYPE_NAME_DYNAMIC() { | 1035 test_TYPE_NAME_DYNAMIC() { |
970 addTestFile(''' | 1036 addTestFile(''' |
971 dynamic main() { | 1037 dynamic main() { |
972 dynamic = 42; | 1038 dynamic = 42; |
973 } | 1039 } |
974 '''); | 1040 '''); |
975 return prepareHighlights().then((_) { | 1041 return prepareHighlights().then((_) { |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1012 void test_toString() { | 1078 void test_toString() { |
1013 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); | 1079 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); |
1014 } | 1080 } |
1015 | 1081 |
1016 void test_valueOf_unknown() { | 1082 void test_valueOf_unknown() { |
1017 expect(() { | 1083 expect(() { |
1018 new HighlightRegionType('no-such-type'); | 1084 new HighlightRegionType('no-such-type'); |
1019 }, throws); | 1085 }, throws); |
1020 } | 1086 } |
1021 } | 1087 } |
OLD | NEW |