Move Math::BigInt from ext/ to cpan/
[p5sagit/p5-mst-13.2.git] / cpan / Math-BigInt / t / lib_load.t
1 #!/usr/bin/perl -w
2
3 use Test::More;
4 use strict;
5
6 BEGIN
7   {
8   $| = 1;
9   # to locate the testing files
10   my $location = $0; $location =~ s/sub_mbf.t//i;
11   if ($ENV{PERL_CORE})
12     {
13     # testing with the core distribution
14     @INC = qw(../t/lib);
15     }
16   unshift @INC, '../lib';
17   if (-d 't')
18     {
19     chdir 't';
20     require File::Spec;
21     unshift @INC, File::Spec->catdir(File::Spec->updir, $location);
22     }
23   else
24     {
25     unshift @INC, $location;
26     }
27   print "# INC = @INC\n";
28
29   plan tests => 4;
30   }
31
32 # first load BigInt with Calc
33 use Math::BigInt lib => 'Calc';
34
35 # BigFloat will remember that we loaded Calc
36 require Math::BigFloat;
37 is (Math::BigFloat::config()->{lib}, 'Math::BigInt::Calc', 'BigFloat got Calc');
38
39 # now load BigInt again with a different lib
40 Math::BigInt->import( lib => 'BareCalc' );
41
42 # and finally test that BigFloat knows about BareCalc
43
44 is (Math::BigFloat::config()->{lib}, 'Math::BigInt::BareCalc', 'BigFloat was notified');
45
46 # See that Math::BigFloat supports "only"
47 eval "Math::BigFloat->import('only' => 'Calc')";
48 is (Math::BigFloat::config()->{lib}, 'Math::BigInt::Calc', '"only" worked');
49
50 # See that Math::BigFloat supports "try"
51 eval "Math::BigFloat->import('try' => 'BareCalc')";
52 is (Math::BigFloat::config()->{lib}, 'Math::BigInt::BareCalc', '"try" worked');
53