summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/t/modules/buffer.t
diff options
context:
space:
mode:
Diffstat (limited to 'debian/perl-framework/t/modules/buffer.t')
-rw-r--r--debian/perl-framework/t/modules/buffer.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/debian/perl-framework/t/modules/buffer.t b/debian/perl-framework/t/modules/buffer.t
new file mode 100644
index 0000000..e508f37
--- /dev/null
+++ b/debian/perl-framework/t/modules/buffer.t
@@ -0,0 +1,38 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestUtil;
+use Apache::TestRequest;
+
+my @testcases = (
+ ['/apache/buffer_in/', 'foo'],
+ ['/apache/buffer_out/', 'foo'],
+ ['/apache/buffer_in_out/', 'foo'],
+);
+
+plan tests => scalar @testcases * 4, need 'mod_reflector', 'mod_buffer';
+
+foreach my $t (@testcases) {
+ ## Small query ##
+ my $r = POST($t->[0], content => $t->[1]);
+
+ # Checking for return code
+ ok t_cmp($r->code, 200, "Checking return code is '200'");
+ # Checking for content
+ ok t_is_equal($r->content, $t->[1]);
+
+ ## Big query ##
+ # 'foo' is 3 bytes, so 'foo' x 1000000 is ~3M, which is way over the default 'BufferSize'
+ ### FIXME - testing with to x 10000 is confusing LWP's full-duplex
+ ### handling: https://github.com/libwww-perl/libwww-perl/issues/299
+ ### throttled down to a size which seems to work reliably for now
+ my $bigsize = 100000;
+
+ $r = POST($t->[0], content => $t->[1] x $bigsize);
+
+ # Checking for return code
+ ok t_cmp($r->code, 200, "Checking return code is '200'");
+ # Checking for content
+ ok t_is_equal($r->content, $t->[1] x $bigsize);
+}