summaryrefslogtreecommitdiffstats
path: root/t/response-redirect.t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-07-18 16:43:57 -0500
committerJesse Luehrs <doy@tozt.net>2012-07-18 16:43:57 -0500
commitb275579910d410e7f9ecff88cccdeb673191d332 (patch)
treeb1ca4397924ad7a0dd46e9f693edca7eba82a9cf /t/response-redirect.t
parenta2986198eb809d38bd99e7c56cd80e27ff6394f0 (diff)
downloadweb-request-b275579910d410e7f9ecff88cccdeb673191d332.tar.gz
web-request-b275579910d410e7f9ecff88cccdeb673191d332.zip
import the Plack::Response test suite
Diffstat (limited to 't/response-redirect.t')
-rw-r--r--t/response-redirect.t32
1 files changed, 32 insertions, 0 deletions
diff --git a/t/response-redirect.t b/t/response-redirect.t
new file mode 100644
index 0000000..5e6f356
--- /dev/null
+++ b/t/response-redirect.t
@@ -0,0 +1,32 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use Web::Response;
+
+{
+ my $res = Web::Response->new;
+ $res->redirect('http://www.google.com/');
+ is $res->location, 'http://www.google.com/';
+ is $res->status, 302;
+
+ is_deeply $res->finalize, [ 302, [ 'Location' => 'http://www.google.com/' ], [] ];
+}
+
+{
+ my $res = Web::Response->new;
+ $res->redirect('http://www.google.com/', 301);
+ is_deeply $res->finalize, [ 301, [ 'Location' => 'http://www.google.com/' ], [] ];
+}
+
+{
+ my $uri_invalid = "http://www.google.com/\r\nX-Injection: true\r\n\r\nHello World";
+
+ my $res = Web::Response->new;
+ $res->redirect($uri_invalid, 301);
+ my $psgi_res = $res->finalize;
+ ok $psgi_res->[1][1] !~ /\n/;
+}
+
+done_testing;