Commit | Line | Data |
---|---|---|
8d063cd8 LW |
1 | #!./perl |
2 | ||
146da353 | 3 | print "1..44\n"; |
8d063cd8 LW |
4 | |
5 | # test the optimization of constants | |
6 | ||
7 | if (1) { print "ok 1\n";} else { print "not ok 1\n";} | |
8 | unless (0) { print "ok 2\n";} else { print "not ok 2\n";} | |
9 | ||
10 | if (0) { print "not ok 3\n";} else { print "ok 3\n";} | |
11 | unless (1) { print "not ok 4\n";} else { print "ok 4\n";} | |
12 | ||
13 | unless (!1) { print "ok 5\n";} else { print "not ok 5\n";} | |
14 | if (!0) { print "ok 6\n";} else { print "not ok 6\n";} | |
15 | ||
16 | unless (!0) { print "not ok 7\n";} else { print "ok 7\n";} | |
17 | if (!1) { print "not ok 8\n";} else { print "ok 8\n";} | |
18 | ||
19 | $x = 1; | |
20 | if (1 && $x) { print "ok 9\n";} else { print "not ok 9\n";} | |
21 | if (0 && $x) { print "not ok 10\n";} else { print "ok 10\n";} | |
22 | $x = ''; | |
23 | if (1 && $x) { print "not ok 11\n";} else { print "ok 11\n";} | |
24 | if (0 && $x) { print "not ok 12\n";} else { print "ok 12\n";} | |
25 | ||
26 | $x = 1; | |
27 | if (1 || $x) { print "ok 13\n";} else { print "not ok 13\n";} | |
28 | if (0 || $x) { print "ok 14\n";} else { print "not ok 14\n";} | |
29 | $x = ''; | |
30 | if (1 || $x) { print "ok 15\n";} else { print "not ok 15\n";} | |
31 | if (0 || $x) { print "not ok 16\n";} else { print "ok 16\n";} | |
32 | ||
33 | ||
463ee0b2 | 34 | # test the optimization of variables |
8d063cd8 LW |
35 | |
36 | $x = 1; | |
37 | if ($x) { print "ok 17\n";} else { print "not ok 17\n";} | |
38 | unless ($x) { print "not ok 18\n";} else { print "ok 18\n";} | |
39 | ||
40 | $x = ''; | |
41 | if ($x) { print "not ok 19\n";} else { print "ok 19\n";} | |
42 | unless ($x) { print "ok 20\n";} else { print "not ok 20\n";} | |
43 | ||
44 | # test optimization of string operations | |
45 | ||
46 | $a = 'a'; | |
47 | if ($a eq 'a') { print "ok 21\n";} else { print "not ok 21\n";} | |
48 | if ($a ne 'a') { print "not ok 22\n";} else { print "ok 22\n";} | |
49 | ||
50 | if ($a =~ /a/) { print "ok 23\n";} else { print "not ok 23\n";} | |
51 | if ($a !~ /a/) { print "not ok 24\n";} else { print "ok 24\n";} | |
52 | # test interaction of logicals and other operations | |
53 | ||
54 | $a = 'a'; | |
55 | $x = 1; | |
463ee0b2 LW |
56 | if ($a eq 'a' and $x) { print "ok 25\n";} else { print "not ok 25\n";} |
57 | if ($a ne 'a' and $x) { print "not ok 26\n";} else { print "ok 26\n";} | |
8d063cd8 | 58 | $x = ''; |
463ee0b2 LW |
59 | if ($a eq 'a' and $x) { print "not ok 27\n";} else { print "ok 27\n";} |
60 | if ($a ne 'a' and $x) { print "not ok 28\n";} else { print "ok 28\n";} | |
8d063cd8 LW |
61 | |
62 | $x = 1; | |
463ee0b2 LW |
63 | if ($a eq 'a' or $x) { print "ok 29\n";} else { print "not ok 29\n";} |
64 | if ($a ne 'a' or $x) { print "ok 30\n";} else { print "not ok 30\n";} | |
8d063cd8 | 65 | $x = ''; |
463ee0b2 LW |
66 | if ($a eq 'a' or $x) { print "ok 31\n";} else { print "not ok 31\n";} |
67 | if ($a ne 'a' or $x) { print "not ok 32\n";} else { print "ok 32\n";} | |
8d063cd8 LW |
68 | |
69 | $x = 1; | |
70 | if ($a =~ /a/ && $x) { print "ok 33\n";} else { print "not ok 33\n";} | |
71 | if ($a !~ /a/ && $x) { print "not ok 34\n";} else { print "ok 34\n";} | |
72 | $x = ''; | |
73 | if ($a =~ /a/ && $x) { print "not ok 35\n";} else { print "ok 35\n";} | |
79072805 | 74 | if ($a !~ /a/ && $x) { print "not ok 36\n";} else { print "ok 36\n";} |
8d063cd8 LW |
75 | |
76 | $x = 1; | |
77 | if ($a =~ /a/ || $x) { print "ok 37\n";} else { print "not ok 37\n";} | |
78 | if ($a !~ /a/ || $x) { print "ok 38\n";} else { print "not ok 38\n";} | |
79 | $x = ''; | |
80 | if ($a =~ /a/ || $x) { print "ok 39\n";} else { print "not ok 39\n";} | |
81 | if ($a !~ /a/ || $x) { print "not ok 40\n";} else { print "ok 40\n";} | |
146da353 HS |
82 | |
83 | $x = 1; | |
84 | if ($a eq 'a' xor $x) { print "not ok 41\n";} else { print "ok 41\n";} | |
85 | if ($a ne 'a' xor $x) { print "ok 42\n";} else { print "not ok 42\n";} | |
86 | $x = ''; | |
87 | if ($a eq 'a' xor $x) { print "ok 43\n";} else { print "not ok 43\n";} | |
88 | if ($a ne 'a' xor $x) { print "not ok 44\n";} else { print "ok 44\n";} |