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