diff options
Diffstat (limited to 'debian/perl-framework/Apache-Test/t/import.t')
-rw-r--r-- | debian/perl-framework/Apache-Test/t/import.t | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/debian/perl-framework/Apache-Test/t/import.t b/debian/perl-framework/Apache-Test/t/import.t new file mode 100644 index 0000000..1dbd747 --- /dev/null +++ b/debian/perl-framework/Apache-Test/t/import.t @@ -0,0 +1,145 @@ +#!perl + +use strict; +use warnings FATAL=>'all'; +use Test (); + +Test::plan tests=>47; + +sub t { + my $p=$_[0]; + no strict 'refs'; + Test::ok defined &{$p."::ok"} && \&{$p."::ok"}==\&Test::ok, + 1, "$p - ok"; + Test::ok defined &{$p."::need"} && \&{$p."::need"}==\&Apache::Test::need, + 1, "$p - need"; + Test::ok defined &{$p."::plan"} && \&{$p."::plan"}==\&Apache::Test::plan, + 1, "$p - plan"; +} + +sub tm { + my $p=$_[0]; + no strict 'refs'; + Test::ok defined &{$p."::ok"} && \&{$p."::ok"}==\&Test::More::ok, + 1, "$p - ok"; + Test::ok defined &{$p."::need"} && \&{$p."::need"}==\&Apache::Test::need, + 1, "$p - need"; + Test::ok defined &{$p."::plan"} && \&{$p."::plan"}==\&Apache::Test::plan, + 1, "$p - plan"; +} + +{package X0; use Apache::Test;} +{package Y0; use Apache::Test qw/-withtestmore/;} + +t 'X0'; +tm 'Y0'; + +{package X1; use Apache::Test qw/:DEFAULT/;} +{package Y1; use Apache::Test qw/-withtestmore :DEFAULT/;} + +t 'X1'; +tm 'Y1'; + +{package X2; use Apache::Test qw/!:DEFAULT/;} +{package Y2; use Apache::Test qw/-withtestmore !:DEFAULT/;} + +Test::ok !defined &X2::ok, 1, '!defined &X2::ok'; +Test::ok !defined &X2::need, 1, '!defined &X2::need'; +Test::ok !defined &X2::plan, 1, '!defined &X2::plan'; +Test::ok !defined &Y2::ok, 1, '!defined &Y2::ok'; +Test::ok !defined &Y2::need, 1, '!defined &Y2::need'; +Test::ok !defined &Y2::plan, 1, '!defined &Y2::plan'; + +{package X3; use Apache::Test qw/plan/;} +{package Y3; use Apache::Test qw/-withtestmore plan/;} + +Test::ok !defined &X3::ok, 1, '!defined &X3::ok'; +Test::ok !defined &X3::need, 1, '!defined &X3::need'; +Test::ok defined &X3::plan && \&X3::plan==\&Apache::Test::plan, 1, "X3 - plan"; +Test::ok !defined &Y3::ok, 1, '!defined &Y3::ok'; +Test::ok !defined &Y3::need, 1, '!defined &Y3::need'; +Test::ok defined &Y3::plan && \&Y3::plan==\&Apache::Test::plan, 1, "Y3 - plan"; + +{package X4; use Apache::Test qw/need/;} +{package Y4; use Apache::Test qw/-withtestmore need/;} + +Test::ok !defined &X4::ok, 1, '!defined &X4::ok'; +Test::ok defined &X4::need && \&X4::need==\&Apache::Test::need, 1, "X4 - need"; +Test::ok !defined &X4::plan, 1, '!defined &X4::plan'; +Test::ok !defined &Y4::ok, 1, '!defined &Y4::ok'; +Test::ok defined &Y4::need && \&Y4::need==\&Apache::Test::need, 1, "Y4 - need"; +Test::ok !defined &Y4::plan, 1, '!defined &Y4::plan'; + +{package X5; use Apache::Test qw/ok/;} +{package Y5; use Apache::Test qw/-withtestmore ok/;} + +Test::ok defined &X5::ok && \&X5::ok==\&Test::ok, 1, "X5 - ok"; +Test::ok !defined &X5::need, 1, '!defined &X5::need'; +Test::ok !defined &X5::plan, 1, '!defined &X5::plan'; +Test::ok defined &Y5::ok && \&Y5::ok==\&Test::More::ok, 1, "Y5 - ok"; +Test::ok !defined &Y5::need, 1, '!defined &Y5::need'; +Test::ok !defined &Y5::plan, 1, '!defined &Y5::plan'; + +{package X6; use Apache::Test qw/ok need/;} +{package Y6; use Apache::Test qw/-withtestmore ok need/;} + +Test::ok defined &X6::ok && \&X6::ok==\&Test::ok, 1, "X6 - ok"; +Test::ok defined &X6::need && \&X6::need==\&Apache::Test::need, 1, "X6 - need"; +Test::ok !defined &X6::plan, 1, '!defined &X6::plan'; +Test::ok defined &Y6::ok && \&Y6::ok==\&Test::More::ok, 1, "Y6 - ok"; +Test::ok defined &Y6::need && \&Y6::need==\&Apache::Test::need, 1, "Y6 - need"; +Test::ok !defined &Y6::plan, 1, '!defined &Y6::plan'; + +my $warning; +{ + local $SIG{__WARN__}=sub {$warning=join '', @_}; + eval <<'EVAL'; +package Z0; +use Apache::Test qw/:withtestmore/; +EVAL +} +Test::ok $warning, qr/^Ignoring import spec :withtestmore at/, + "Ignore import warning"; + +undef $warning; +{ + local $SIG{__WARN__}=sub {$warning=join '', @_}; + eval <<'EVAL'; +package X0; +use Apache::Test qw/-withtestmore/; +EVAL +} +Test::ok $warning, qr/^Ignoring -withtestmore due to a previous call /, + "Ignore -withtestmore warning"; + +use Config (); +my $pio=$Config::Config{useperlio} ? '' : 'need perlio'; +my $output; +Test::skip $pio, sub { + my @res; + { + local $Test::ntest=-19; + local $Test::planned=-42; + package Y2; # uses Apache::Test qw/-withtestmore !:DEFAULT/ + # so nothing is exported + + local *STDOUT; + open STDOUT, '>', \$output; + { + # suppress an 'uninitialized' warning in older perl versions + local $SIG{__WARN__}=sub { + warn $_[0] + unless $_[0]=~m!uninitialized\svalue\sin\sopen\b.+ + Test/Builder\.pm!x; + }; + Apache::Test::plan tests=>17; + } + Test::More::isnt "hugo", "erwin", "hugo is not erwin"; + @res=($Test::ntest, $Test::planned); + Test::Builder->new->reset; + } + return "@res"; +}, '-19 -42', '$Test::ntest, $Test::planned did not change'; + +Test::skip $pio, $output=~/^1\.\.17$/m; +Test::skip $pio, $output=~/^ok 1 - hugo is not erwin$/m; |