xref: /openbsd-src/gnu/usr.bin/perl/cpan/bignum/t/import-bigfloat.t (revision 256a93a44f36679bee503f12e49566c2183f6181)
1*256a93a4Safresh1# -*- mode: perl; -*-
2*256a93a4Safresh1
3*256a93a4Safresh1# test the "l", "lib", "try" and "only" options:
4*256a93a4Safresh1
5*256a93a4Safresh1use strict;
6*256a93a4Safresh1use warnings;
7*256a93a4Safresh1
8*256a93a4Safresh1use Test::More tests => 21;
9*256a93a4Safresh1
10*256a93a4Safresh1use bigfloat;
11*256a93a4Safresh1
12*256a93a4Safresh1# Catch warnings.
13*256a93a4Safresh1
14*256a93a4Safresh1my $WARNINGS;
15*256a93a4Safresh1local $SIG{__WARN__} = sub {
16*256a93a4Safresh1    $WARNINGS = $_[0];
17*256a93a4Safresh1};
18*256a93a4Safresh1
19*256a93a4Safresh1my $rc;
20*256a93a4Safresh1
21*256a93a4Safresh1$WARNINGS = "";
22*256a93a4Safresh1$rc = eval { bigfloat -> import("l" => "foo") };
23*256a93a4Safresh1is($@, '',
24*256a93a4Safresh1   qq|eval { bigfloat -> import("l" => "foo") }|);
25*256a93a4Safresh1is($WARNINGS, "", "no warnings");
26*256a93a4Safresh1
27*256a93a4Safresh1$WARNINGS = "";
28*256a93a4Safresh1$rc = eval { bigfloat -> import("lib" => "foo") };
29*256a93a4Safresh1is($@, '',
30*256a93a4Safresh1   qq|eval { bigfloat -> import("lib" => "foo") }|);
31*256a93a4Safresh1is($WARNINGS, "", "no warnings");
32*256a93a4Safresh1
33*256a93a4Safresh1$WARNINGS = "";
34*256a93a4Safresh1$rc = eval { bigfloat -> import("try" => "foo") };
35*256a93a4Safresh1is($@, '',
36*256a93a4Safresh1   qq|eval { bigfloat -> import("try" => "foo") }|);
37*256a93a4Safresh1is($WARNINGS, "", "no warnings");
38*256a93a4Safresh1
39*256a93a4Safresh1$WARNINGS = "";
40*256a93a4Safresh1$rc = eval { bigfloat -> import("try" => "foo") };
41*256a93a4Safresh1is($@, '',
42*256a93a4Safresh1   qq|eval { bigfloat -> import("try" => "foo") }|);
43*256a93a4Safresh1is($WARNINGS, "", "no warnings");
44*256a93a4Safresh1
45*256a93a4Safresh1$WARNINGS = "";
46*256a93a4Safresh1$rc = eval { bigfloat -> import("foo" => "bar") };
47*256a93a4Safresh1like($@, qr/^Unknown option/,
48*256a93a4Safresh1     qq|eval { bigfloat -> import("foo" => "bar") }|);
49*256a93a4Safresh1is($WARNINGS, "", "no warnings");
50*256a93a4Safresh1
51*256a93a4Safresh1$WARNINGS = "";
52*256a93a4Safresh1$rc = eval { bigfloat -> import("only" => "bar") };
53*256a93a4Safresh1is($@, "",
54*256a93a4Safresh1   qq|eval { bigfloat -> import("only" => "bar") }|);
55*256a93a4Safresh1is($WARNINGS, "", "no warnings");
56*256a93a4Safresh1
57*256a93a4Safresh1# test that options are only lowercase (don't see a reason why allow UPPER)
58*256a93a4Safresh1
59*256a93a4Safresh1foreach (qw/L LIB Lib T Trace TRACE V Version VERSION/) {
60*256a93a4Safresh1    $rc = eval { bigfloat -> import($_ => "bar") };
61*256a93a4Safresh1    like($@, qr/^Unknown option/i,   # should die
62*256a93a4Safresh1        qq|eval { bigfloat -> import($_ => "bar") }|);
63*256a93a4Safresh1}
64