stas 2004/05/21 11:39:05
Modified: t/response/TestAPR brigade.pm
Log:
more APR::Brigade tests
Revision Changes Path
1.2 +53 -18 modperl-2.0/t/response/TestAPR/brigade.pm
Index: brigade.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/brigade.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- brigade.pm 28 Jan 2004 13:54:21 -0000 1.1
+++ brigade.pm 21 May 2004 18:39:05 -0000 1.2
@@ -1,5 +1,10 @@
package TestAPR::brigade;
+# testing APR::Brigade in this tests.
+# Other tests do that too:
+# TestAPR::flatten : flatten()
+# TestAPR::bucket : empty(), first(), last()
+
use strict;
use warnings FATAL => 'all';
@@ -15,25 +20,55 @@
my $r = shift;
- plan $r, tests => 4;
-
- # simple constructor and accessor tests
-
- my $bb = APR::Brigade->new($r->pool, $r->connection->bucket_alloc);
-
- t_debug('$bb is defined');
- ok defined $bb;
-
- t_debug('$bb ISA APR::Brigade object');
- ok $bb->isa('APR::Brigade');
-
- my $pool = $bb->pool;
-
- t_debug('$pool is defined');
- ok defined $pool;
+ plan $r, tests => 9;
- t_debug('$pool ISA APR::Pool object');
- ok $pool->isa('APR::Pool');
+ # basic + pool + destroy
+ {
+ my $bb = APR::Brigade->new($r->pool, $r->connection->bucket_alloc);
+
+ t_debug('$bb is defined');
+ ok defined $bb;
+
+ t_debug('$bb ISA APR::Brigade object');
+ ok $bb->isa('APR::Brigade');
+
+ my $pool = $bb->pool;
+
+ t_debug('$pool is defined');
+ ok defined $pool;
+
+ t_debug('$pool ISA APR::Pool object');
+ ok $pool->isa('APR::Pool');
+
+ t_debug("destroy");
+ $bb->destroy;
+ ok 1;
+ }
+
+ # concat / split / length / flatten
+ {
+ my $bb1 = APR::Brigade->new($r->pool, $r->connection->bucket_alloc);
+ $bb1->insert_head(APR::Bucket->new("11"));
+ $bb1->insert_tail(APR::Bucket->new("12"));
+
+ my $bb2 = APR::Brigade->new($r->pool, $r->connection->bucket_alloc);
+ $bb2->insert_head(APR::Bucket->new("21"));
+ $bb2->insert_tail(APR::Bucket->new("22"));
+
+ # concat
+ $bb1->concat($bb2);
+ # bb1: 11, 12, 21, 22
+ ok t_cmp(8, $bb1->length, "total data length in bb");
+ ok t_cmp("11122122", $bb1->flatten, "bb flatten");
+
+ # split
+ my $b = $bb1->first; # 11
+ $b = $bb1->next($b); # 12
+ my $bb3 = $bb1->split($b);
+ # bb1: 11, bb3: 12, 21, 22
+ ok t_cmp("11", $bb1->flatten, "bb flatten");
+ ok t_cmp("122122", $bb3->flatten, "bb flatten");
+ }
Apache::OK;
}