summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-09-29 00:02:59 -0500
committerJesse Luehrs <doy@tozt.net>2012-09-29 00:02:59 -0500
commit97fa8400999bfa3c9ab17ee1647eff1b9b893324 (patch)
tree83fdc9bc52b7770a859d77c459c5e71be6c2f87f
parentc4e5d70df578b0e0ad30fa353738d6104306badd (diff)
downloadweb-request-97fa8400999bfa3c9ab17ee1647eff1b9b893324.tar.gz
web-request-97fa8400999bfa3c9ab17ee1647eff1b9b893324.zip
split this up
-rw-r--r--t/response-streaming-utf8.t109
-rw-r--r--t/response-streaming.t85
2 files changed, 109 insertions, 85 deletions
diff --git a/t/response-streaming-utf8.t b/t/response-streaming-utf8.t
new file mode 100644
index 0000000..b209434
--- /dev/null
+++ b/t/response-streaming-utf8.t
@@ -0,0 +1,109 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use Web::Request;
+
+{
+ use utf8;
+
+ my $req = Web::Request->new_from_env({});
+
+ my $res = $req->new_response(sub {
+ my $responder = shift;
+ $responder->([200, [], ["café"]]);
+ });
+ my $psgi_res = $res->finalize;
+ ok(ref($psgi_res) eq 'CODE', "got a coderef");
+
+ is_deeply(
+ resolve_response($psgi_res),
+ [ 200, [], ["caf\xe9"] ],
+ "got the right response"
+ );
+}
+
+{
+ use utf8;
+
+ my $req = Web::Request->new_from_env({});
+ $req->encoding('UTF-8');
+
+ my $res = $req->new_response(sub {
+ my $responder = shift;
+ $responder->([200, [], ["café"]]);
+ });
+ my $psgi_res = $res->finalize;
+ ok(ref($psgi_res) eq 'CODE', "got a coderef");
+
+ is_deeply(
+ resolve_response($psgi_res),
+ [ 200, [], ["caf\xc3\xa9"] ],
+ "got the right response"
+ );
+}
+
+{
+ use utf8;
+
+ my $req = Web::Request->new_from_env({});
+
+ my $res = $req->new_response(sub {
+ my $responder = shift;
+ my $writer = $responder->([200, []]);
+ $writer->write("ca");
+ $writer->write("fé");
+ $writer->close;
+ });
+ my $psgi_res = $res->finalize;
+ ok(ref($psgi_res) eq 'CODE', "got a coderef");
+
+ is_deeply(
+ resolve_response($psgi_res),
+ [ 200, [], ["ca", "f\xe9"] ],
+ "got the right response"
+ );
+}
+
+{
+ use utf8;
+
+ my $req = Web::Request->new_from_env({});
+ $req->encoding('UTF-8');
+
+ my $res = $req->new_response(sub {
+ my $responder = shift;
+ my $writer = $responder->([200, []]);
+ $writer->write("ca");
+ $writer->write("fé");
+ $writer->close;
+ });
+ my $psgi_res = $res->finalize;
+ ok(ref($psgi_res) eq 'CODE', "got a coderef");
+
+ is_deeply(
+ resolve_response($psgi_res),
+ [ 200, [], ["ca", "f\xc3\xa9"] ],
+ "got the right response"
+ );
+}
+
+sub resolve_response {
+ my ($psgi_res) = @_;
+
+ if (ref($psgi_res) eq 'CODE') {
+ my $body = [];
+ $psgi_res->(sub {
+ $psgi_res = shift;
+ return Plack::Util::inline_object(
+ write => sub { push @$body, $_[0] },
+ close => sub { push @$psgi_res, $body },
+ );
+ });
+ }
+
+ return $psgi_res;
+}
+
+done_testing;
diff --git a/t/response-streaming.t b/t/response-streaming.t
index 51f6aea..eea787e 100644
--- a/t/response-streaming.t
+++ b/t/response-streaming.t
@@ -3,7 +3,6 @@ use strict;
use warnings;
use Test::More;
-use Web::Request;
use Web::Response;
{
@@ -22,45 +21,6 @@ use Web::Response;
}
{
- use utf8;
-
- my $req = Web::Request->new_from_env({});
-
- my $res = $req->new_response(sub {
- my $responder = shift;
- $responder->([200, [], ["café"]]);
- });
- my $psgi_res = $res->finalize;
- ok(ref($psgi_res) eq 'CODE', "got a coderef");
-
- is_deeply(
- resolve_response($psgi_res),
- [ 200, [], ["caf\xe9"] ],
- "got the right response"
- );
-}
-
-{
- use utf8;
-
- my $req = Web::Request->new_from_env({});
- $req->encoding('UTF-8');
-
- my $res = $req->new_response(sub {
- my $responder = shift;
- $responder->([200, [], ["café"]]);
- });
- my $psgi_res = $res->finalize;
- ok(ref($psgi_res) eq 'CODE', "got a coderef");
-
- is_deeply(
- resolve_response($psgi_res),
- [ 200, [], ["caf\xc3\xa9"] ],
- "got the right response"
- );
-}
-
-{
my $res = Web::Response->new(sub {
my $responder = shift;
my $writer = $responder->([200, []]);
@@ -79,51 +39,6 @@ use Web::Response;
);
}
-{
- use utf8;
-
- my $req = Web::Request->new_from_env({});
-
- my $res = $req->new_response(sub {
- my $responder = shift;
- my $writer = $responder->([200, []]);
- $writer->write("ca");
- $writer->write("fé");
- $writer->close;
- });
- my $psgi_res = $res->finalize;
- ok(ref($psgi_res) eq 'CODE', "got a coderef");
-
- is_deeply(
- resolve_response($psgi_res),
- [ 200, [], ["ca", "f\xe9"] ],
- "got the right response"
- );
-}
-
-{
- use utf8;
-
- my $req = Web::Request->new_from_env({});
- $req->encoding('UTF-8');
-
- my $res = $req->new_response(sub {
- my $responder = shift;
- my $writer = $responder->([200, []]);
- $writer->write("ca");
- $writer->write("fé");
- $writer->close;
- });
- my $psgi_res = $res->finalize;
- ok(ref($psgi_res) eq 'CODE', "got a coderef");
-
- is_deeply(
- resolve_response($psgi_res),
- [ 200, [], ["ca", "f\xc3\xa9"] ],
- "got the right response"
- );
-}
-
sub resolve_response {
my ($psgi_res) = @_;