randyk 2004/07/15 08:25:36
Modified: t/response/TestAPR bucket.pm
Added: t/apr-ext bucket.t
t/lib/TestAPRlib bucket.pm
Log:
Reviewed by: stas
put common bucket tests under t/lib/TestAPRlib/, and call
them from both t/apr/ and t/apr-ext/.
Revision Changes Path
1.1 modperl-2.0/t/apr-ext/bucket.t
Index: bucket.t
===================================================================
use strict;
use warnings FATAL => 'all';
use Apache::Test;
use TestAPRlib::bucket;
plan tests => TestAPRlib::bucket::num_of_tests();
TestAPRlib::bucket::test();
1.1 modperl-2.0/t/lib/TestAPRlib/bucket.pm
Index: bucket.pm
===================================================================
package TestAPRlib::bucket;
# a mix of APR::Bucket and APR::BucketType tests
use strict;
use warnings FATAL => 'all';
use Apache::Test;
use Apache::TestUtil;
use APR::Bucket ();
use APR::BucketType ();
sub num_of_tests {
return 11;
}
sub test {
# new: basic
{
my $data = "foobar";
my $b = APR::Bucket->new($data);
t_debug('$b is defined');
ok defined $b;
t_debug('$b ISA APR::Bucket object');
ok $b->isa('APR::Bucket');
my $type = $b->type;
ok t_cmp($type->name, 'mod_perl SV bucket', "type");
ok t_cmp($b->length, length($data), "modperl b->length");
}
# new: offset
{
my $data = "foobartar";
my $offset = 3;
my $real = substr $data, $offset;
my $b = APR::Bucket->new($data, $offset);
my $rlen = $b->read(my $read);
ok t_cmp($read, $real, 'new($data, $offset)/buffer');
ok t_cmp($rlen, length($read), 'new($data, $offset)/len');
ok t_cmp($b->start, $offset, 'offset');
}
# new: offset+len
{
my $data = "foobartar";
my $offset = 3;
my $len = 3;
my $real = substr $data, $offset, $len;
my $b = APR::Bucket->new($data, $offset, $len);
my $rlen = $b->read(my $read);
ok t_cmp($read, $real, 'new($data, $offset, $len)/buffer');
ok t_cmp($rlen, length($read), 'new($data, $offse, $lent)/len');
}
# new: offset+ too big len
{
my $data = "foobartar";
my $offset = 3;
my $len = 10;
my $real = substr $data, $offset, $len;
my $b = eval { APR::Bucket->new($data, $offset, $len) };
ok t_cmp($@,
qr/the length argument can't be bigger than the total/,
'new($data, $offset, $len_too_big)');
}
# remove
{
my $b = APR::Bucket->new("aaa");
# remove $b when it's not attached to anything (not sure if
# that should be an error)
$b->remove;
ok 1;
# real remove from bb is tested in many other filter tests
}
}
1;
1.7 +5 -67 modperl-2.0/t/response/TestAPR/bucket.pm
Index: bucket.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/bucket.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- bucket.pm 8 Jul 2004 06:06:33 -0000 1.6
+++ bucket.pm 15 Jul 2004 15:25:36 -0000 1.7
@@ -16,79 +16,17 @@
use Apache::Const -compile => 'OK';
+use TestAPRlib::bucket;
+
sub handler {
my $r = shift;
- plan $r, tests => 29;
-
- my $ba = $r->connection->bucket_alloc;
-
- # new: basic
- {
- my $data = "foobar";
- my $b = APR::Bucket->new($data);
-
- t_debug('$b is defined');
- ok defined $b;
-
- t_debug('$b ISA APR::Bucket object');
- ok $b->isa('APR::Bucket');
-
- my $type = $b->type;
- ok t_cmp($type->name, 'mod_perl SV bucket', "type");
+ plan $r, tests => 18 + TestAPRlib::bucket::num_of_tests();
- ok t_cmp($b->length, length($data), "modperl b->length");
- }
-
- # new: offset
- {
- my $data = "foobartar";
- my $offset = 3;
- my $real = substr $data, $offset;
- my $b = APR::Bucket->new($data, $offset);
- my $rlen = $b->read(my $read);
- ok t_cmp($read, $real, 'new($data, $offset)/buffer');
- ok t_cmp($rlen, length($read), 'new($data, $offset)/len');
- ok t_cmp($b->start, $offset, 'offset');
-
- }
-
- # new: offset+len
- {
- my $data = "foobartar";
- my $offset = 3;
- my $len = 3;
- my $real = substr $data, $offset, $len;
- my $b = APR::Bucket->new($data, $offset, $len);
- my $rlen = $b->read(my $read);
- ok t_cmp($read, $real, 'new($data, $offset, $len)/buffer');
- ok t_cmp($rlen, length($read), 'new($data, $offse, $lent)/len');
- }
-
- # new: offset+ too big len
- {
- my $data = "foobartar";
- my $offset = 3;
- my $len = 10;
- my $real = substr $data, $offset, $len;
- my $b = eval { APR::Bucket->new($data, $offset, $len) };
- ok t_cmp($@,
- qr/the length argument can't be bigger than the total/,
- 'new($data, $offset, $len_too_big)');
- }
-
- # remove
- {
- my $b = APR::Bucket->new("aaa");
- # remove $b when it's not attached to anything (not sure if
- # that should be an error)
- $b->remove;
- ok 1;
-
- # real remove from bb is tested in many other filter tests
- }
+ TestAPRlib::bucket::test();
+ my $ba = $r->connection->bucket_alloc;
# eos_create / type / length
{