Fix bignum-0.21
Jerry D. Hedden [Wed, 9 May 2007 21:05:52 +0000 (17:05 -0400)]
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510705091805n37c4137u16a35ca27810979f@mail.gmail.com>

p4raw-id: //depot/perl@31191

lib/bignum.pm
lib/bignum/t/option_l.t

index 26140ec..d9d73bb 100644 (file)
@@ -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);
 
index f534183..cfa8033 100755 (executable)
@@ -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/)