dougm 01/04/17 21:36:58
Modified: Apache-Test/lib/Apache Test.pm
Log:
add Apache::TestToString class for feeding Test.pm output into a string
Revision Changes Path
1.3 +34 -3 modperl-2.0/Apache-Test/lib/Apache/Test.pm
Index: Test.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/Apache-Test/lib/Apache/Test.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Test.pm 2001/04/04 04:36:57 1.2
+++ Test.pm 2001/04/18 04:36:56 1.3
@@ -11,6 +11,12 @@
our $VERSION = '0.01';
#so Perl's Test.pm can be run inside mod_perl
+sub test_pm_refresh {
+ $Test::TESTOUT = \*STDOUT;
+ $Test::planned = 0;
+ $Test::ntest = 1;
+}
+
sub init_test_pm {
my $r = shift;
@@ -27,9 +33,7 @@
$r->content_type('text/plain');
- $Test::TESTOUT = \*STDOUT;
- $Test::planned = 0;
- $Test::ntest = 1;
+ test_pm_refresh();
}
sub plan {
@@ -51,6 +55,33 @@
}
Test::plan(@_);
+}
+
+package Apache::TestToString;
+
+sub TIEHANDLE {
+ my $string = "";
+ bless \$string;
+}
+
+sub PRINT {
+ my $string = shift;
+ $$string .= join '', @_;
+}
+
+sub start {
+ tie *STDOUT, __PACKAGE__;
+ Apache::Test::test_pm_refresh();
+}
+
+sub finish {
+ my $s;
+ {
+ my $o = tied *STDOUT;
+ $s = $$o;
+ }
+ untie *STDOUT;
+ $s;
}
1;