Skip to content

Commit 9e23b28

Browse files
committed
dart-lang#1401. More test cases for valid constant patterns
1 parent 5a7ee1b commit 9e23b28

File tree

1 file changed

+66
-12
lines changed

1 file changed

+66
-12
lines changed

LanguageFeatures/Patterns/constant_A05_t01.dart

Lines changed: 66 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,27 +34,81 @@ import "../../Utils/expect.dart";
3434
String test(Object value) {
3535
switch (value) {
3636
case const (1 + 2):
37-
return "case 1";
38-
case const ("Lily" + " " "was" " " + "here"):
39-
return "case 2";
37+
return "case =3";
38+
case const (2 - 1):
39+
return "case =1";
4040
case const (2 * 2):
41-
return "case 3";
41+
return "case =4";
42+
case const (30 ^ 2):
43+
return "case =28";
4244
case const (1 | 4):
43-
return "case 4";
45+
return "case =5";
4446
case const (1 & 4):
45-
return "case 5";
47+
return "case =0";
48+
case const (15 % 8):
49+
return "case =7";
50+
case const (19 ~/ 8):
51+
return "case =2";
52+
case const (19 >> 1):
53+
return "case =9";
54+
case const (87 >>> 1):
55+
return "case =43";
56+
case const (19 << 1):
57+
return "case =38";
58+
case const (1 > 2):
59+
return "case =false";
60+
case const (1 < 2):
61+
return "case =true";
62+
case const ("Lily" + " " "was" " " + "here"):
63+
return "case String";
64+
default:
65+
return "default";
66+
}
67+
}
68+
69+
String test2(Object value) {
70+
switch (value) {
71+
case const (1 >= 2):
72+
return "case =false";
73+
case const (1 <= 2):
74+
return "case =true";
75+
default:
76+
return "default";
77+
}
78+
}
79+
80+
String test3(Object value) {
81+
switch (value) {
82+
case const (1 == 2):
83+
return "case =false";
84+
case const (1 != 2):
85+
return "case =true";
4686
default:
4787
return "default";
4888
}
4989
}
5090

5191
main() {
52-
Expect.equals("case 1", test(3));
53-
Expect.equals("case 2", test("Lily was here"));
54-
Expect.equals("case 3", test(4));
55-
Expect.equals("case 4", test(5));
56-
Expect.equals("case 5", test(0));
92+
Expect.equals("case =3", test(3));
93+
Expect.equals("case =1", test(1));
94+
Expect.equals("case =4", test(4));
95+
Expect.equals("case =28", test(28));
96+
Expect.equals("case =5", test(5));
97+
Expect.equals("case =0", test(0));
98+
Expect.equals("case =7", test(7));
99+
Expect.equals("case =2", test(2));
100+
Expect.equals("case =9", test(9));
101+
Expect.equals("case =43", test(43));
102+
Expect.equals("case =38", test(38));
103+
Expect.equals("case =false", test(false));
104+
Expect.equals("case =true", test(true));
105+
Expect.equals("case String", test("Lily was here"));
57106
Expect.equals("default", test(""));
58107
Expect.equals("default", test(42));
59-
Expect.equals("default", test(true));
108+
109+
Expect.equals("case =false", test2(false));
110+
Expect.equals("case =true", test2(true));
111+
112+
Expect.equals("case =false", test3(false));
113+
Expect.equals("case =true", test3(true));
60114
}

0 commit comments

Comments
 (0)