summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/t/filter
diff options
context:
space:
mode:
Diffstat (limited to 'debian/perl-framework/t/filter')
-rw-r--r--debian/perl-framework/t/filter/byterange.t25
-rw-r--r--debian/perl-framework/t/filter/case.t42
-rw-r--r--debian/perl-framework/t/filter/case_in.t42
-rw-r--r--debian/perl-framework/t/filter/input_body.t19
4 files changed, 128 insertions, 0 deletions
diff --git a/debian/perl-framework/t/filter/byterange.t b/debian/perl-framework/t/filter/byterange.t
new file mode 100644
index 0000000..1c16f20
--- /dev/null
+++ b/debian/perl-framework/t/filter/byterange.t
@@ -0,0 +1,25 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestUtil;
+use Apache::TestRequest;
+
+plan tests => 2,
+ need(
+ need_module('mod_headers'),
+ need_min_apache_version('2.5.0')
+ );
+
+my @headers;
+push @headers, "Range" => "bytes=6549-";
+
+my $uri = "/modules/filter/byterange/pr61860/test.html";
+
+my $response = GET($uri, @headers);
+
+ok t_cmp($response->code, 416, "Out of Range bytes in header should return HTTP 416");
+
+my @duplicate_header = $response->header("TestDuplicateHeader");
+
+ok t_cmp(@duplicate_header, 1, "Headers should not be duplicated on HTTP 416 responses"); \ No newline at end of file
diff --git a/debian/perl-framework/t/filter/case.t b/debian/perl-framework/t/filter/case.t
new file mode 100644
index 0000000..94bbb08
--- /dev/null
+++ b/debian/perl-framework/t/filter/case.t
@@ -0,0 +1,42 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestRequest;
+
+#test output of some other modules
+my %urls = (
+ mod_php4 => '/php/hello.php',
+ mod_cgi => '/modules/cgi/perl.pl',
+ mod_test_rwrite => '/test_rwrite',
+ mod_alias => '/getfiles-perl-pod/perlsub.pod',
+);
+
+my @filter = ('X-AddOutputFilter' => 'CaseFilter'); #mod_client_add_filter
+
+for my $module (keys %urls) {
+ delete $urls{$module} unless have_module($module);
+}
+
+my $tests = 1 + scalar keys %urls;
+
+plan tests => $tests, need_module 'case_filter';
+
+verify(GET '/', @filter);
+
+for my $module (sort keys %urls) {
+ my $r = GET $urls{$module}, @filter;
+ print "# testing $module with $urls{$module}\n";
+ print "# expected 200\n";
+ print "# received ".$r->code."\n";
+ print "# body: ".$r->content."\n";
+ verify($r);
+}
+
+sub verify {
+ my $r = shift;
+ my $body = $r->content;
+
+ ok $r->code == 200 and $body
+ and $body =~ /[A-Z]/ and $body !~ /[a-z]/;
+}
diff --git a/debian/perl-framework/t/filter/case_in.t b/debian/perl-framework/t/filter/case_in.t
new file mode 100644
index 0000000..400418a
--- /dev/null
+++ b/debian/perl-framework/t/filter/case_in.t
@@ -0,0 +1,42 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestRequest;
+
+#test output of some other modules
+my %urls = (
+ mod_php4 => '/php/var3u.php',
+ mod_cgi => '/modules/cgi/perl_echo.pl',
+ mod_echo_post => '/echo_post',
+);
+
+my @filter = ('X-AddInputFilter' => 'CaseFilterIn'); #mod_client_add_filter
+
+for my $module (keys %urls) {
+ delete $urls{$module} unless have_module($module);
+}
+
+my $tests = 1 + scalar keys %urls;
+
+plan tests => $tests, need_module 'case_filter_in';
+
+ok 1;
+
+my $data = "v1=one&v3=two&v2=three";
+
+for my $module (sort keys %urls) {
+ my $r = POST $urls{$module}, @filter, content => $data;
+ print "# testing $module with $urls{$module}\n";
+ print "# expected 200\n";
+ print "# received ".$r->code."\n";
+ verify($r);
+}
+
+sub verify {
+ my $r = shift;
+ my $body = $r->content;
+
+ ok $r->code == 200 and $body
+ and $body =~ /[A-Z]/ and $body !~ /[a-z]/;
+}
diff --git a/debian/perl-framework/t/filter/input_body.t b/debian/perl-framework/t/filter/input_body.t
new file mode 100644
index 0000000..a26ee06
--- /dev/null
+++ b/debian/perl-framework/t/filter/input_body.t
@@ -0,0 +1,19 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestRequest;
+use Apache::TestUtil;
+
+plan tests => 2, [qw(input_body_filter)];
+
+my $location = '/input_body_filter';
+
+for my $x (1,2) {
+ my $expected = "ok $x";
+ my $data = scalar reverse $expected;
+ my $response = POST_BODY $location, content => $data;
+ ok t_cmp($response,
+ $expected,
+ "Posted \"$data\"");
+}