- ok(!$@, "wizard retrieve error ($@)");
- ok(defined $wiz2, 'retrieved wizard is defined');
- ok(ref $wiz2 eq 'SCALAR', 'retrieved wizard is a scalar ref');
- ok($sig == getsig $wiz2, 'retrieved wizard signature is correct');
+ is($@, '', 'wizard retreive doesn\'t croak');
+ ok(defined $wiz2, 'retrieved wizard is defined');
+ is(ref $wiz2, 'SCALAR', 'retrieved wizard is a scalar ref');
+ is($sig, getsig $wiz2, 'retrieved wizard signature is correct');
+
+ my $wiz3 = eval { wizard sig => [ ] };
+ like($@, $inv_num_sig, 'non numeric signature croaks');
+ is($wiz3, undef, 'non numeric signature doesn\'t return anything');
+
+ $wiz3 = eval { wizard sig => SIG_MIN - 1 };
+ like($@, $inv_num_sig, 'numeric signature too small croaks');
+ is($wiz3, undef, 'numeric signature too small doesn\'t return anything');
+
+ $wiz3 = eval { wizard sig => SIG_MAX + 1 };
+ like($@, $inv_num_sig, 'numeric signature too big croaks');
+ is($wiz3, undef, 'numeric signature too big doesn\'t return anything');