| 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() { | 572 test_DYNAMIC_VARIABLE_field() { |
| 573 addTestFile(''' |
| 574 class A { |
| 575 var f; |
| 576 m() { |
| 577 f = 1; |
| 578 } |
| 579 } |
| 580 '''); |
| 581 return prepareHighlights().then((_) { |
| 582 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;'); |
| 583 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'f = 1'); |
| 584 }); |
| 585 } |
| 586 |
| 587 test_DYNAMIC_VARIABLE_local() { |
| 573 addTestFile(''' | 588 addTestFile(''' |
| 574 f() {} | 589 f() {} |
| 575 main(p) { | 590 main(p) { |
| 576 print(p); | 591 print(p); |
| 577 var v1 = f(); | 592 var v1 = f(); |
| 578 int v2; | 593 int v2; |
| 579 var v3 = v2; | 594 var v3 = v2; |
| 580 } | 595 } |
| 581 '''); | 596 '''); |
| 582 return prepareHighlights().then((_) { | 597 return prepareHighlights().then((_) { |
| 583 assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'p)'); | 598 assertHasRegion(HighlightRegionType.DYNAMIC_VARIABLE, 'p)'); |
| 584 assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'v1 ='); | 599 assertHasRegion(HighlightRegionType.DYNAMIC_VARIABLE, 'v1 ='); |
| 585 assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v2;'); | 600 assertNoRegion(HighlightRegionType.DYNAMIC_VARIABLE, 'v2;'); |
| 586 assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v3 ='); | 601 assertNoRegion(HighlightRegionType.DYNAMIC_VARIABLE, 'v3 ='); |
| 587 }); | 602 }); |
| 588 } | 603 } |
| 589 | 604 |
| 590 test_ENUM() { | 605 test_ENUM() { |
| 591 addTestFile(''' | 606 addTestFile(''' |
| 592 enum MyEnum {A, B, C} | 607 enum MyEnum {A, B, C} |
| 593 MyEnum value; | 608 MyEnum value; |
| 594 '''); | 609 '''); |
| 595 return prepareHighlights().then((_) { | 610 return prepareHighlights().then((_) { |
| 596 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); | 611 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 607 } | 622 } |
| 608 '''); | 623 '''); |
| 609 return prepareHighlights().then((_) { | 624 return prepareHighlights().then((_) { |
| 610 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); | 625 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); |
| 611 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); | 626 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); |
| 612 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); | 627 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); |
| 613 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); | 628 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); |
| 614 }); | 629 }); |
| 615 } | 630 } |
| 616 | 631 |
| 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() { | 632 test_FUNCTION_TYPE_ALIAS() { |
| 673 addTestFile(''' | 633 addTestFile(''' |
| 674 typedef FFF(p); | 634 typedef FFF(p); |
| 675 main(FFF fff) { | 635 main(FFF fff) { |
| 676 } | 636 } |
| 677 '''); | 637 '''); |
| 678 return prepareHighlights().then((_) { | 638 return prepareHighlights().then((_) { |
| 679 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); | 639 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); |
| 680 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); | 640 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); |
| 681 }); | 641 }); |
| 682 } | 642 } |
| 683 | 643 |
| 684 test_GETTER_DECLARATION() { | 644 test_GETTER() { |
| 685 addTestFile(''' | 645 addTestFile(''' |
| 686 get aaa => null; | 646 get aaa => null; |
| 687 class A { | 647 class A { |
| 688 get bbb => null; | 648 get bbb => null; |
| 649 static get ccc => null; |
| 689 } | 650 } |
| 690 main(A a) { | 651 main(A a) { |
| 691 aaa; | 652 aaa; |
| 692 a.bbb; | 653 a.bbb; |
| 654 A.ccc; |
| 693 } | 655 } |
| 694 '''); | 656 '''); |
| 695 return prepareHighlights().then((_) { | 657 return prepareHighlights().then((_) { |
| 696 assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'aaa => null'); | 658 assertHasRegion( |
| 697 assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'bbb => null'); | 659 HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION, 'aaa => null'); |
| 698 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa;'); | 660 assertHasRegion( |
| 699 assertHasRegion(HighlightRegionType.FIELD, 'bbb;'); | 661 HighlightRegionType.INSTANCE_GETTER_DECLARATION, 'bbb => null'); |
| 662 assertHasRegion( |
| 663 HighlightRegionType.STATIC_GETTER_DECLARATION, 'ccc => null'); |
| 664 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'aaa;'); |
| 665 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb;'); |
| 666 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'ccc;'); |
| 700 }); | 667 }); |
| 701 } | 668 } |
| 702 | 669 |
| 703 test_IDENTIFIER_DEFAULT() { | 670 test_IDENTIFIER_DEFAULT() { |
| 704 addTestFile(''' | 671 addTestFile(''' |
| 705 main() { | 672 main() { |
| 706 aaa = 42; | 673 aaa = 42; |
| 707 bbb(84); | 674 bbb(84); |
| 708 CCC ccc; | 675 CCC ccc; |
| 709 } | 676 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 721 main() { | 688 main() { |
| 722 ma.max(1, 2); | 689 ma.max(1, 2); |
| 723 } | 690 } |
| 724 '''); | 691 '''); |
| 725 return prepareHighlights().then((_) { | 692 return prepareHighlights().then((_) { |
| 726 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); | 693 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); |
| 727 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); | 694 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); |
| 728 }); | 695 }); |
| 729 } | 696 } |
| 730 | 697 |
| 698 test_INSTANCE_FIELD() { |
| 699 addTestFile(''' |
| 700 class A { |
| 701 int aaa = 1; |
| 702 int bbb = 2; |
| 703 A([this.bbb = 3]); |
| 704 } |
| 705 main(A a) { |
| 706 a.aaa = 4; |
| 707 a.bbb = 5; |
| 708 } |
| 709 '''); |
| 710 return prepareHighlights().then((_) { |
| 711 assertHasRegion( |
| 712 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'aaa = 1'); |
| 713 assertHasRegion( |
| 714 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'bbb = 2'); |
| 715 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 3'); |
| 716 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'aaa = 4'); |
| 717 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 5'); |
| 718 }); |
| 719 } |
| 720 |
| 731 test_KEYWORD() { | 721 test_KEYWORD() { |
| 732 addTestFile(''' | 722 addTestFile(''' |
| 733 main() { | 723 main() { |
| 734 assert(true); | 724 assert(true); |
| 735 for (;;) break; | 725 for (;;) break; |
| 736 switch (0) { | 726 switch (0) { |
| 737 case 0: break; | 727 case 0: break; |
| 738 default: break; | 728 default: break; |
| 739 } | 729 } |
| 740 try {} catch (e) {} | 730 try {} catch (e) {} |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 855 } | 845 } |
| 856 | 846 |
| 857 test_LITERAL_STRING() { | 847 test_LITERAL_STRING() { |
| 858 addTestFile('var V = "abc";'); | 848 addTestFile('var V = "abc";'); |
| 859 return prepareHighlights().then((_) { | 849 return prepareHighlights().then((_) { |
| 860 assertHasRegion( | 850 assertHasRegion( |
| 861 HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length); | 851 HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length); |
| 862 }); | 852 }); |
| 863 } | 853 } |
| 864 | 854 |
| 855 test_LOCAL_FUNCTION() { |
| 856 addTestFile(''' |
| 857 main() { |
| 858 fff() {} |
| 859 fff(); |
| 860 fff; |
| 861 } |
| 862 '''); |
| 863 return prepareHighlights().then((_) { |
| 864 assertHasRegion( |
| 865 HighlightRegionType.LOCAL_FUNCTION_DECLARATION, 'fff() {}'); |
| 866 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff();'); |
| 867 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff;'); |
| 868 }); |
| 869 } |
| 870 |
| 865 test_LOCAL_VARIABLE() { | 871 test_LOCAL_VARIABLE() { |
| 866 addTestFile(''' | 872 addTestFile(''' |
| 867 main() { | 873 main() { |
| 868 int vvv = 0; | 874 int vvv = 0; |
| 869 vvv; | 875 vvv; |
| 870 vvv = 1; | 876 vvv = 1; |
| 871 } | 877 } |
| 872 '''); | 878 '''); |
| 873 return prepareHighlights().then((_) { | 879 return prepareHighlights().then((_) { |
| 874 assertHasRegion( | 880 assertHasRegion( |
| 875 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); | 881 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); |
| 876 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv;'); | 882 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv;'); |
| 877 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv = 1;'); | 883 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv = 1;'); |
| 878 }); | 884 }); |
| 879 } | 885 } |
| 880 | 886 |
| 881 test_METHOD() { | 887 test_METHOD() { |
| 882 addTestFile(''' | 888 addTestFile(''' |
| 883 class A { | 889 class A { |
| 884 aaa() {} | 890 aaa() {} |
| 885 static bbb() {} | 891 static bbb() {} |
| 886 } | 892 } |
| 887 main(A a) { | 893 main(A a) { |
| 888 a.aaa(); | 894 a.aaa(); |
| 889 a.aaa; | 895 a.aaa; |
| 890 A.bbb(); | 896 A.bbb(); |
| 891 A.bbb; | 897 A.bbb; |
| 892 } | 898 } |
| 893 '''); | 899 '''); |
| 894 return prepareHighlights().then((_) { | 900 return prepareHighlights().then((_) { |
| 895 assertHasRegion(HighlightRegionType.METHOD_DECLARATION, 'aaa() {}'); | |
| 896 assertHasRegion( | 901 assertHasRegion( |
| 897 HighlightRegionType.METHOD_DECLARATION_STATIC, 'bbb() {}'); | 902 HighlightRegionType.INSTANCE_METHOD_DECLARATION, 'aaa() {}'); |
| 898 assertHasRegion(HighlightRegionType.METHOD, 'aaa();'); | 903 assertHasRegion( |
| 899 assertHasRegion(HighlightRegionType.METHOD, 'aaa;'); | 904 HighlightRegionType.STATIC_METHOD_DECLARATION, 'bbb() {}'); |
| 900 assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb();'); | 905 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa();'); |
| 901 assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb;'); | 906 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa;'); |
| 907 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb();'); |
| 908 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb;'); |
| 902 }); | 909 }); |
| 903 } | 910 } |
| 904 | 911 |
| 905 test_METHOD_bestType() { | 912 test_METHOD_bestType() { |
| 906 addTestFile(''' | 913 addTestFile(''' |
| 907 main(p) { | 914 main(p) { |
| 908 if (p is List) { | 915 if (p is List) { |
| 909 p.add(null); | 916 p.add(null); |
| 910 } | 917 } |
| 911 } | 918 } |
| 912 '''); | 919 '''); |
| 913 return prepareHighlights().then((_) { | 920 return prepareHighlights().then((_) { |
| 914 assertHasRegion(HighlightRegionType.METHOD, 'add(null)'); | 921 assertHasRegion( |
| 922 HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'add(null)'); |
| 915 }); | 923 }); |
| 916 } | 924 } |
| 917 | 925 |
| 918 test_PARAMETER() { | 926 test_PARAMETER() { |
| 919 addTestFile(''' | 927 addTestFile(''' |
| 920 main(int p) { | 928 main(int p) { |
| 921 p; | 929 p; |
| 922 p = 42; | 930 p = 42; |
| 923 } | 931 } |
| 924 '''); | 932 '''); |
| 925 return prepareHighlights().then((_) { | 933 return prepareHighlights().then((_) { |
| 926 assertHasRegion(HighlightRegionType.PARAMETER, 'p) {'); | 934 assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'p) {'); |
| 927 assertHasRegion(HighlightRegionType.PARAMETER, 'p;'); | 935 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p;'); |
| 928 assertHasRegion(HighlightRegionType.PARAMETER, 'p = 42'); | 936 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p = 42'); |
| 929 }); | 937 }); |
| 930 } | 938 } |
| 931 | 939 |
| 932 test_SETTER_DECLARATION() { | 940 test_SETTER_DECLARATION() { |
| 933 addTestFile(''' | 941 addTestFile(''' |
| 934 set aaa(x) {} | 942 set aaa(x) {} |
| 935 class A { | 943 class A { |
| 936 set bbb(x) {} | 944 set bbb(x) {} |
| 945 static set ccc(x) {} |
| 937 } | 946 } |
| 938 main(A a) { | 947 main(A a) { |
| 939 aaa = 1; | 948 aaa = 1; |
| 940 a.bbb = 2; | 949 a.bbb = 2; |
| 950 A.ccc = 3; |
| 941 } | 951 } |
| 942 '''); | 952 '''); |
| 943 return prepareHighlights().then((_) { | 953 return prepareHighlights().then((_) { |
| 944 assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'aaa(x)'); | 954 assertHasRegion( |
| 945 assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'bbb(x)'); | 955 HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION, 'aaa(x)'); |
| 946 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa = 1'); | 956 assertHasRegion( |
| 947 assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2'); | 957 HighlightRegionType.INSTANCE_SETTER_DECLARATION, 'bbb(x)'); |
| 958 assertHasRegion(HighlightRegionType.STATIC_SETTER_DECLARATION, 'ccc(x)'); |
| 959 assertHasRegion( |
| 960 HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'aaa = 1'); |
| 961 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 2'); |
| 962 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'ccc = 3'); |
| 948 }); | 963 }); |
| 949 } | 964 } |
| 950 | 965 |
| 966 test_STATIC_FIELD() { |
| 967 addTestFile(''' |
| 968 class A { |
| 969 static aaa = 1; |
| 970 static get bbb => null; |
| 971 static set ccc(x) {} |
| 972 } |
| 973 main() { |
| 974 A.aaa = 2; |
| 975 A.bbb; |
| 976 A.ccc = 3; |
| 977 } |
| 978 '''); |
| 979 return prepareHighlights().then((_) { |
| 980 assertHasRegion(HighlightRegionType.STATIC_FIELD_DECLARATION, 'aaa = 1'); |
| 981 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'aaa = 2'); |
| 982 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'bbb;'); |
| 983 assertHasRegion(HighlightRegionType.STATIC_FIELD_REFERENCE, 'ccc = 3'); |
| 984 }); |
| 985 } |
| 986 |
| 987 test_TOP_LEVEL_FUNCTION() { |
| 988 addTestFile(''' |
| 989 fff(p) {} |
| 990 main() { |
| 991 fff(42); |
| 992 } |
| 993 '''); |
| 994 return prepareHighlights().then((_) { |
| 995 assertHasRegion( |
| 996 HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, 'fff(p) {}'); |
| 997 assertHasRegion( |
| 998 HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, 'fff(42)'); |
| 999 }); |
| 1000 } |
| 1001 |
| 951 test_TOP_LEVEL_VARIABLE() { | 1002 test_TOP_LEVEL_VARIABLE() { |
| 952 addTestFile(''' | 1003 addTestFile(''' |
| 953 const VVV = 0; | 1004 const VVV = 0; |
| 954 @VVV // annotation | 1005 @VVV // annotation |
| 955 main() { | 1006 main() { |
| 956 print(VVV); | 1007 print(VVV); |
| 957 VVV = 1; | 1008 VVV = 1; |
| 958 } | 1009 } |
| 959 '''); | 1010 '''); |
| 960 return prepareHighlights().then((_) { | 1011 return prepareHighlights().then((_) { |
| 961 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 0'); | |
| 962 assertHasRegion( | 1012 assertHasRegion( |
| 963 HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV // annotation'); | 1013 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'VVV = 0'); |
| 964 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV);'); | 1014 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, |
| 965 assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 1'); | 1015 'VVV // annotation'); |
| 1016 assertHasRegion( |
| 1017 HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'VVV);'); |
| 1018 assertHasRegion( |
| 1019 HighlightRegionType.TOP_LEVEL_VARIABLE_REFERENCE, 'VVV = 1'); |
| 966 }); | 1020 }); |
| 967 } | 1021 } |
| 968 | 1022 |
| 969 test_TYPE_NAME_DYNAMIC() { | 1023 test_TYPE_NAME_DYNAMIC() { |
| 970 addTestFile(''' | 1024 addTestFile(''' |
| 971 dynamic main() { | 1025 dynamic main() { |
| 972 dynamic = 42; | 1026 dynamic = 42; |
| 973 } | 1027 } |
| 974 '''); | 1028 '''); |
| 975 return prepareHighlights().then((_) { | 1029 return prepareHighlights().then((_) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1012 void test_toString() { | 1066 void test_toString() { |
| 1013 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); | 1067 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); |
| 1014 } | 1068 } |
| 1015 | 1069 |
| 1016 void test_valueOf_unknown() { | 1070 void test_valueOf_unknown() { |
| 1017 expect(() { | 1071 expect(() { |
| 1018 new HighlightRegionType('no-such-type'); | 1072 new HighlightRegionType('no-such-type'); |
| 1019 }, throws); | 1073 }, throws); |
| 1020 } | 1074 } |
| 1021 } | 1075 } |
| OLD | NEW |