stas        02/01/28 23:55:56

  Modified:    t/response/TestApache compat2.pm
               lib/Apache compat.pm
               src/docs/2.0/user/compat compat.pod
  Log:
  - implement the compat layer for Apache::Util::size_string
  - add tests
  - document the compatibility layer
  
  Revision  Changes    Path
  1.2       +18 -1     modperl-2.0/t/response/TestApache/compat2.pm
  
  Index: compat2.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- compat2.pm        21 Jan 2002 08:32:46 -0000      1.1
  +++ compat2.pm        29 Jan 2002 07:55:56 -0000      1.2
  @@ -12,10 +12,19 @@
   use Apache::compat ();
   use Apache::Constants qw(OK);
   
  +my %string_size = (
  +    '-1'            => "    -",
  +    0               => "   0k",
  +    42              => "   1k",
  +    42_000          => "  41k",
  +    42_000_000      => "40.1M",
  +    42_000_000_000  => "40054.3M",
  +);
  +
   sub handler {
       my $r = shift;
   
  -    plan $r, tests => 28, todo => [23];
  +    plan $r, tests => 34, todo => [23];
   
       $r->send_http_header('text/plain');
   
  @@ -144,6 +153,7 @@
                    "\$r->set_content_length($csize) w/ setting explicit size");
   
           $r->set_content_length();
  +        # TODO
           ok t_cmp(0, # XXX: $r->finfo->csize is not available yet
                    $r->headers_out->{"Content-length"},
                    "\$r->set_content_length() w/o setting explicit size");
  @@ -169,6 +179,13 @@
           $r->set_last_modified($time);
           ok t_cmp($time, $r->mtime, "\$r->set_last_modified(\$time)");
   
  +    }
  +
  +    # Apache::Util::size_string
  +    {
  +        while (my($k, $v) = each %string_size) {
  +            ok t_cmp($v, Apache::Util::size_string($k));
  +        }
       }
   
       Apache::OK;
  
  
  
  1.33      +27 -0     modperl-2.0/lib/Apache/compat.pm
  
  Index: compat.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- compat.pm 20 Dec 2001 01:31:24 -0000      1.32
  +++ compat.pm 29 Jan 2002 07:55:56 -0000      1.33
  @@ -351,6 +351,33 @@
   # the following functions now live in Apache::RequestRec
   # * mtime
   
  +package Apache::Util;
  +
  +sub size_string {
  +    my ($size) = shift;
  +
  +    if (!$size) {
  +     $size = "   0k";
  +    }
  +    elsif ($size == -1) {
  +        $size = "    -";
  +    }
  +    elsif ($size < 1024) {
  +     $size = "   1k";
  +    }
  +    elsif ($size < 1048576) {
  +     $size = sprintf "%4dk", ($size + 512) / 1024;
  +    }
  +    elsif (size < 103809024) {
  +     $size = sprintf "%4.1fM", $size / 1048576.0;
  +    }
  +    else {
  +     $size = sprintf "%4dM", ($size + 524288) / 1048576;
  +    }
  +
  +    return $size;
  +
  +}
   
   1;
   __END__
  
  
  
  1.8       +19 -3     modperl-docs/src/docs/2.0/user/compat/compat.pod
  
  Index: compat.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/compat/compat.pod,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- compat.pod        22 Jan 2002 16:37:40 -0000      1.7
  +++ compat.pod        29 Jan 2002 07:55:56 -0000      1.8
  @@ -77,17 +77,33 @@
   
   at the server startup.
   
  -=head2 gensym
  +=head2 Apache::gensym
   
   Since Perl 5.6.1 filehandlers are autovivified and there is no need
  -for gensym() function, since now it can be done with:
  +for C<Apache::gensym()> function, since now it can be done with:
   
     open my $fh, "foo" or die $!;
   
   The C function modperl_perl_gensym() is available for XS/C extension
   writers, though.
   
  -=head2 Apache::File
  +=head1 Apache::File
  +
  +
  +
  +
  +=head1 Apache::Util
  +
  +A few C<Apache::Util> functions have changed their interface.
  +
  +=head2 Apache::Util::size_string
  +
  +C<Apache::Util::size_string> has been replaced with
  +C<APR::String::format_size>, which returns formatted strings of only 4
  +characters long. See the C<APR::String> manpage for more information.
  +
  +
  +
   
   
   =head1 Miscellaneous
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to