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.t33
1 files changed, 33 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..84cc5bc
--- /dev/null
+++ b/debian/perl-framework/t/modules/buffer.t
@@ -0,0 +1,33 @@
+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'
+ $r = POST($t->[0], content => $t->[1] x 1000000);
+
+ # Checking for return code
+ ok t_cmp($r->code, 200, "Checking return code is '200'");
+ # Checking for content
+ ok t_cmp($r->content, $t->[1] x 1000000, $r->content . ' equals ' . $t->[1]);
+}