From: Nicholas Clark Date: Wed, 22 Feb 2006 16:50:25 +0000 (+0000) Subject: Test warnings for converting globs to other forms. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e36cc0fbcf17e559bf3f189f3b67eca0ac6dc543;p=p5sagit%2Fp5-mst-13.2.git Test warnings for converting globs to other forms. p4raw-id: //depot/perl@27268 --- diff --git a/t/op/gv.t b/t/op/gv.t index 3164c35..d243fb7 100755 --- a/t/op/gv.t +++ b/t/op/gv.t @@ -12,7 +12,7 @@ BEGIN { use warnings; require './test.pl'; -plan( tests => 138 ); +plan( tests => 154 ); # type coersion on assignment $foo = 'foo'; @@ -89,6 +89,34 @@ is (scalar %foo, 0); is($msg, ''); *foo = undef; like($msg, qr/Undefined value assigned to typeglob/); + + no warnings 'once'; + # test warnings for converting globs to other forms + my $copy = *PWOMPF; + foreach ($copy, *SKREEE) { + $msg = ''; + my $victim = sprintf "%d", $_; + like($msg, qr/Argument "\*main::[A-Z]{6}" isn't numeric in sprintf/, + "Warning on conversion to IV"); + is($victim, 0); + + $msg = ''; + $victim = sprintf "%u", $_; + like($msg, qr/Argument "\*main::[A-Z]{6}" isn't numeric in sprintf/, + "Warning on conversion to UV"); + is($victim, 0); + + $msg = ''; + $victim = sprintf "%e", $_; + like($msg, qr/Argument "\*main::[A-Z]{6}" isn't numeric in sprintf/, + "Warning on conversion to NV"); + like($victim, qr/^0\.0+E\+?00/i, "Expect floating point zero"); + + $msg = ''; + $victim = sprintf "%s", $_; + is($msg, '', "No warning on stringification"); + is($victim, '' . $_); + } } my $test = curr_test();