145 lines
4.6 KiB
Perl
145 lines
4.6 KiB
Perl
#!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;
|