Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(653)

Side by Side Diff: pkg/analysis_server/test/analysis/notification_highlights_test.dart

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

Powered by Google App Engine
This is Rietveld 408576698