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;
  
  
  

Reply via email to