X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fop%2Fhashwarn.t;h=50c993939fae56952c542ad449bb35bad85516f0;hb=3444c34c7da9f235e181b5c175a1fa1357e7a055;hp=0b6f10feeed4ae873802a73767d520562a9876bf;hpb=10c8fecdc2f0a2ef9c548abff5961fa25cd83eca;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/op/hashwarn.t b/t/op/hashwarn.t index 0b6f10f..50c9939 100755 --- a/t/op/hashwarn.t +++ b/t/op/hashwarn.t @@ -2,16 +2,15 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + @INC = '../lib'; } use strict; +use warnings; use vars qw{ @warnings }; BEGIN { - $^W |= 1; # Insist upon warnings - # ...and save 'em as we go $SIG{'__WARN__'} = sub { push @warnings, @_ }; $| = 1; print "1..9\n"; @@ -46,7 +45,8 @@ sub test_warning ($$$) { # print "# $num: $got\n"; } -my $odd_msg = '/^Odd number of elements in hash/'; +my $odd_msg = '/^Odd number of elements in hash assignment/'; +my $odd_msg2 = '/^Odd number of elements in anonymous hash/'; my $ref_msg = '/^Reference found where even-sized list expected/'; { @@ -57,7 +57,7 @@ my $ref_msg = '/^Reference found where even-sized list expected/'; test_warning 2, shift @warnings, $odd_msg; %hash = { 1..3 }; - test_warning 3, shift @warnings, $odd_msg; + test_warning 3, shift @warnings, $odd_msg2; test_warning 4, shift @warnings, $ref_msg; %hash = [ 1..3 ]; @@ -66,12 +66,18 @@ my $ref_msg = '/^Reference found where even-sized list expected/'; %hash = sub { print "ok" }; test_warning 6, shift @warnings, $odd_msg; + # Old pseudo-hash syntax, now removed. my $avhv = [{x=>1,y=>2}]; - %$avhv = (x=>13,'y'); - test_warning 7, shift @warnings, $odd_msg; - - %$avhv = 'x'; - test_warning 8, shift @warnings, $odd_msg; + eval { + %$avhv = (x=>13,'y'); + }; + test 7, $@ =~ /^Not a HASH reference/; + + # Old pseudo-hash syntax, since removed. + eval { + %$avhv = 'x'; + }; + test 8, $@ =~ /^Not a HASH reference/; $_ = { 1..10 }; test 9, ! @warnings, "Unexpected warning";