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 => 14; 9*256a93a4Safresh1 10*256a93a4Safresh1use bigint; 11*256a93a4Safresh1 12*256a93a4Safresh1# Catch warning. 13*256a93a4Safresh1 14*256a93a4Safresh1my $warning; 15*256a93a4Safresh1local $SIG{__WARN__} = sub { 16*256a93a4Safresh1 $warning = $_[0]; 17*256a93a4Safresh1}; 18*256a93a4Safresh1 19*256a93a4Safresh1my $rc; 20*256a93a4Safresh1 21*256a93a4Safresh1$warning = ""; 22*256a93a4Safresh1$rc = eval { bigint->import("l" => "foo") }; 23*256a93a4Safresh1subtest qq|eval { bigint->import("l" => "foo") }| => sub { 24*256a93a4Safresh1 plan tests => 2; 25*256a93a4Safresh1 26*256a93a4Safresh1 is($@, '', "didn't die"); 27*256a93a4Safresh1 is($warning, "", "didn't get a warning"); 28*256a93a4Safresh1}; 29*256a93a4Safresh1 30*256a93a4Safresh1$warning = ""; 31*256a93a4Safresh1$rc = eval { bigint->import("lib" => "foo") }; 32*256a93a4Safresh1subtest qq|eval { bigint->import("lib" => "foo") }| => sub { 33*256a93a4Safresh1 plan tests => 2; 34*256a93a4Safresh1 35*256a93a4Safresh1 is($@, '', "didn't die"); 36*256a93a4Safresh1 is($warning, "", "didn't get a warning"); 37*256a93a4Safresh1}; 38*256a93a4Safresh1 39*256a93a4Safresh1$warning = ""; 40*256a93a4Safresh1$rc = eval { bigint->import("try" => "foo") }; 41*256a93a4Safresh1subtest qq|eval { bigint->import("try" => "foo") }| => sub { 42*256a93a4Safresh1 plan tests => 2; 43*256a93a4Safresh1 44*256a93a4Safresh1 is($@, '', "didn't die"); 45*256a93a4Safresh1 is($warning, "", "didn't get a warning"); 46*256a93a4Safresh1}; 47*256a93a4Safresh1 48*256a93a4Safresh1$warning = ""; 49*256a93a4Safresh1$rc = eval { bigint->import("only" => "foo") }; 50*256a93a4Safresh1subtest qq|eval { bigint->import("only" => "foo") }| => sub { 51*256a93a4Safresh1 plan tests => 2; 52*256a93a4Safresh1 53*256a93a4Safresh1 is($@, '', "didn't die"); 54*256a93a4Safresh1 is($warning, "", "didn't get a warning"); 55*256a93a4Safresh1}; 56*256a93a4Safresh1 57*256a93a4Safresh1$warning = ""; 58*256a93a4Safresh1$rc = eval { bigint->import("foo" => "bar") }; 59*256a93a4Safresh1subtest qq|eval { bigint->import("foo" => "bar") }| => sub { 60*256a93a4Safresh1 plan tests => 2; 61*256a93a4Safresh1 62*256a93a4Safresh1 is($@, '', "didn't die"); 63*256a93a4Safresh1 is($warning, "", "didn't get a warning"); 64*256a93a4Safresh1}; 65*256a93a4Safresh1 66*256a93a4Safresh1# test that options are only lowercase (don't see a reason why allow UPPER) 67*256a93a4Safresh1 68*256a93a4Safresh1foreach (qw/L LIB Lib T Trace TRACE V Version VERSION/) { 69*256a93a4Safresh1 $rc = eval { bigint->import($_ => "bar") }; 70*256a93a4Safresh1 like($@, qr/^Unknown option /i, 71*256a93a4Safresh1 qq|eval { bigint->import($_ => "bar") }|); 72*256a93a4Safresh1} 73