|
Revision 17525, 0.9 kB
(checked in by yappo, 5 years ago)
|
|
remove broken writer test case
|
| Line | |
|---|
| 1 | use strict; |
|---|
| 2 | use warnings; |
|---|
| 3 | use Test::More tests => 4; |
|---|
| 4 | use IO::Scalar; |
|---|
| 5 | use_ok "HTTP::Engine::ResponseWriter"; |
|---|
| 6 | use HTTP::Engine::Request; |
|---|
| 7 | use HTTP::Engine::Response; |
|---|
| 8 | use HTTP::Engine::ResponseFinalizer; |
|---|
| 9 | |
|---|
| 10 | can_ok "HTTP::Engine::ResponseWriter", 'finalize'; |
|---|
| 11 | |
|---|
| 12 | my $req = HTTP::Engine::Request->new; |
|---|
| 13 | $req->protocol('HTTP/1.1'); |
|---|
| 14 | $req->method('GET'); |
|---|
| 15 | |
|---|
| 16 | my $res = HTTP::Engine::Response->new(status => '200', body => 'OK'); |
|---|
| 17 | |
|---|
| 18 | tie *STDOUT, 'IO::Scalar', \my $out; |
|---|
| 19 | my $rw = HTTP::Engine::ResponseWriter->new(should_write_response_line => 1); |
|---|
| 20 | HTTP::Engine::ResponseFinalizer->finalize( $req, $res ); |
|---|
| 21 | |
|---|
| 22 | do { |
|---|
| 23 | local $@; |
|---|
| 24 | eval { $rw->finalize( $req ); }; |
|---|
| 25 | like $@, qr/^argument missing/, 'argument missing'; |
|---|
| 26 | }; |
|---|
| 27 | |
|---|
| 28 | $rw->finalize($req, $res); |
|---|
| 29 | untie *STDOUT; |
|---|
| 30 | |
|---|
| 31 | my $expected = <<'...'; |
|---|
| 32 | HTTP/1.1 200 OK |
|---|
| 33 | Connection: close |
|---|
| 34 | Content-Length: 2 |
|---|
| 35 | Content-Type: text/html |
|---|
| 36 | Status: 200 |
|---|
| 37 | |
|---|
| 38 | OK |
|---|
| 39 | ... |
|---|
| 40 | $expected =~ s/\n$//; |
|---|
| 41 | $expected =~ s/\n/\r\n/g; |
|---|
| 42 | |
|---|
| 43 | is $out, $expected; |
|---|