summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/Apache-Test/t/import.t
diff options
context:
space:
mode:
Diffstat (limited to 'debian/perl-framework/Apache-Test/t/import.t')
-rw-r--r--debian/perl-framework/Apache-Test/t/import.t145
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;