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