summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dist/if/if.pm9
-rw-r--r--dist/if/t/if.t10
2 files changed, 14 insertions, 5 deletions
diff --git a/dist/if/if.pm b/dist/if/if.pm
index b118302714..a18f8fcf8c 100644
--- a/dist/if/if.pm
+++ b/dist/if/if.pm
@@ -1,11 +1,13 @@
package if;
-$VERSION = '0.0604';
+$VERSION = '0.0605';
sub work {
my $method = shift() ? 'import' : 'unimport';
- die "Too few arguments to 'use if' (some code returning an empty list in list context?)"
- unless @_ >= 2;
+ unless (@_ >= 2) {
+ my $type = ($method eq 'import') ? 'use' : 'no';
+ die "Too few arguments to '$type if' (some code returning an empty list in list context?)"
+ }
return unless shift; # CONDITION
my $p = $_[0]; # PACKAGE
@@ -102,4 +104,3 @@ based on what version of Perl is running.
Ilya Zakharevich L<mailto:ilyaz@cpan.org>.
=cut
-
diff --git a/dist/if/t/if.t b/dist/if/t/if.t
index e55bca3c9c..4a2b351aaf 100644
--- a/dist/if/t/if.t
+++ b/dist/if/t/if.t
@@ -1,7 +1,7 @@
#!./perl
use strict;
-use Test::More tests => 6;
+use Test::More tests => 10;
my $v_plus = $] + 1;
my $v_minus = $] - 1;
@@ -30,3 +30,11 @@ like( $@, qr/while "strict refs" in use/, 'expected error message'),
# Use 'open' =>, since pre-5.6.0 could interpret differently
is( (eval "use if ($v_plus > \$]), 'open' => IN => ':crlf'; 12" || 0), 12,
'"use if" with open');
+
+is(eval "use if ($v_plus > \$])", undef,
+ "Too few args to 'use if' returns <undef>");
+like($@, qr/Too few arguments to 'use if'/, " ... and returns correct error");
+
+is(eval "no if ($v_plus > \$])", undef,
+ "Too few args to 'no if' returns <undef>");
+like($@, qr/Too few arguments to 'no if'/, " ... and returns correct error");