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 |