use strict;
use warnings;
-use Test::More tests => 17 * (3 + 4) + 5;
+use Test::More tests => 17 * (3 + 4) + 5 + 1;
-use Config qw/%Config/;
+use Config qw<%Config>;
-use Variable::Magic qw/wizard cast dispell VMG_OP_INFO_NAME VMG_OP_INFO_OBJECT/;
+use Variable::Magic qw<wizard cast dispell VMG_OP_INFO_NAME VMG_OP_INFO_OBJECT>;
sub Variable::Magic::TestPkg::foo { }
-my $is_5130_release = ($] == 5.013 && !$Config{git_describe}) ? 1 : 0;
+my $is_5130_release = ("$]" == 5.013 && !$Config{git_describe}) ? 1 : 0;
-my $aelem = $] <= 5.008003 ? 'aelem'
- : ($] < 5.013 or $is_5130_release) ? 'aelemfast'
- : 'sassign';
-my $aelemf = ($] < 5.013 or $is_5130_release) ? 'aelemfast' : 'sassign';
+my $aelem = "$]" <= 5.008_003 ? 'aelem'
+ : ("$]" < 5.013 or $is_5130_release)
+ ? 'aelemfast'
+ : 'sassign';
+my $aelemf = ("$]" < 5.013 or $is_5130_release) ? 'aelemfast' : 'sassign';
my $aelemf_op = $aelemf eq 'sassign'
? 'B::BINOP' : $Config{useithreads} ? 'B::PADOP' : 'B::SVOP';
eval { dispell $c, $wiz };
is $@, '', "get dispell with out of bounds op_info doesn't croak";
}
+
+{
+ local $@;
+ my $wiz = eval {
+ local $SIG{__WARN__} = sub { die @_ };
+ wizard op_info => "hlagh";
+ };
+ like $@, qr/^Argument "hlagh" isn't numeric in subroutine entry at \Q$0\E/,
+ 'wizard(op_info => "text") throws numeric warnings';
+}