From: Hugo van der Sanden Date: Thu, 7 Aug 1997 00:00:00 +0000 (+0000) Subject: Add xor tests to test suite X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=146da353faca1399b07ed7c6c1913003df1f962b;p=p5sagit%2Fp5-mst-13.2.git Add xor tests to test suite Subject: Re: Parser nit: possible [PATCH] In <199706250602.CAA13384@rio.atlantic.net>, Chip Salzenberg writes: :According to Hugo van der Sanden: :> Can anyone explain why the parser code for OROP is different from :> that for ANDOP? I include a patch for what I think it should be, :> but I don't understand why all tests succeed both with and without :> this patch. :Because OROP is a token that's used for both "or" and "xor", :whereas ANDOP is specific to the single keyword "and". Ah, in that case the problem is that 'xor' appears nowhere in the test suite. Patch below adds 4 new tests that normally succeed; my previous (erroneous) patch causes the first of them to fail. p5p-msgid: 199706250730.IAA06097@crypt.compulink.co.uk --- diff --git a/t/comp/cmdopt.t b/t/comp/cmdopt.t index 4d5c78a..3f701a4 100755 --- a/t/comp/cmdopt.t +++ b/t/comp/cmdopt.t @@ -2,7 +2,7 @@ # $RCSfile: cmdopt.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:17 $ -print "1..40\n"; +print "1..44\n"; # test the optimization of constants @@ -81,3 +81,10 @@ if ($a !~ /a/ || $x) { print "ok 38\n";} else { print "not ok 38\n";} $x = ''; if ($a =~ /a/ || $x) { print "ok 39\n";} else { print "not ok 39\n";} if ($a !~ /a/ || $x) { print "not ok 40\n";} else { print "ok 40\n";} + +$x = 1; +if ($a eq 'a' xor $x) { print "not ok 41\n";} else { print "ok 41\n";} +if ($a ne 'a' xor $x) { print "ok 42\n";} else { print "not ok 42\n";} +$x = ''; +if ($a eq 'a' xor $x) { print "ok 43\n";} else { print "not ok 43\n";} +if ($a ne 'a' xor $x) { print "not ok 44\n";} else { print "ok 44\n";}