| 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 |