summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bignum.pm4
-rwxr-xr-xlib/bignum/t/option_l.t25
2 files changed, 26 insertions, 3 deletions
diff --git a/lib/bignum.pm b/lib/bignum.pm
index 26140eca26..d9d73bbc16 100644
--- a/lib/bignum.pm
+++ b/lib/bignum.pm
@@ -1,7 +1,7 @@
package bignum;
use 5.006002;
-$VERSION = '0.21_01';
+$VERSION = '0.21_02';
use Exporter;
@EXPORT_OK = qw( );
@EXPORT = qw( inf NaN );
@@ -156,7 +156,7 @@ sub import
require Math::BigInt if $_lite == 0; # not already loaded?
$class = 'Math::BigInt'; # regardless of MBIL or not
}
- push @import, 'try' => $lib if $lib ne '';
+ push @import, $lib_kind => $lib if $lib ne '';
# Math::BigInt::Trace or plain Math::BigInt
$class->import(@import, upgrade => $upgrade);
diff --git a/lib/bignum/t/option_l.t b/lib/bignum/t/option_l.t
index f5341830c9..cfa8033f22 100755
--- a/lib/bignum/t/option_l.t
+++ b/lib/bignum/t/option_l.t
@@ -1,5 +1,7 @@
#!/usr/bin/perl -w
+# test the "l", "lib", "try" and "only" options:
+
use Test::More;
use strict;
@@ -8,19 +10,40 @@ BEGIN
$| = 1;
chdir 't' if -d 't';
unshift @INC, '../lib';
- plan tests => 12;
+ plan tests => 19;
}
use bignum;
+my @W;
+{
+# catch warnings:
+require Carp;
+no warnings 'redefine';
+*Carp::carp = sub { push @W, $_[0]; };
+}
+
my $rc = eval ('bignum->import( "l" => "foo" );');
is ($@,''); # shouldn't die
+is (scalar @W, 1, 'one warning');
+like ($W[0], qr/fallback to Math::/, 'got fallback');
+
$rc = eval ('bignum->import( "lib" => "foo" );');
is ($@,''); # ditto
+is (scalar @W, 2, 'two warnings');
+like ($W[1], qr/fallback to Math::/, 'got fallback');
+
+$rc = eval ('bignum->import( "try" => "foo" );');
+is ($@,''); # shouldn't die
+$rc = eval ('bignum->import( "try" => "foo" );');
+is ($@,''); # ditto
$rc = eval ('bignum->import( "foo" => "bar" );');
like ($@, qr/^Unknown option foo/i, 'died'); # should die
+$rc = eval ('bignum->import( "only" => "bar" );');
+like ($@, qr/fallback disallowed/i, 'died'); # should die
+
# test that options are only lowercase (don't see a reason why allow UPPER)
foreach (qw/L LIB Lib T Trace TRACE V Version VERSION/)