diff options
Diffstat (limited to 'cpan/HTTP-Tiny/t/030_response.t')
-rw-r--r-- | cpan/HTTP-Tiny/t/030_response.t | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cpan/HTTP-Tiny/t/030_response.t b/cpan/HTTP-Tiny/t/030_response.t new file mode 100644 index 0000000000..fbeea58133 --- /dev/null +++ b/cpan/HTTP-Tiny/t/030_response.t @@ -0,0 +1,43 @@ +#!perl +# +# This file is part of HTTP-Tiny +# +# This software is copyright (c) 2011 by Christian Hansen. +# +# This is free software; you can redistribute it and/or modify it under +# the same terms as the Perl 5 programming language system itself. +# + +use strict; +use warnings; + +use Test::More qw[no_plan]; +use t::Util qw[tmpfile rewind $CRLF $LF]; +use HTTP::Tiny; + +sub _header { + return [ @{$_[0]}{qw/status reason headers protocol/} ] +} + +{ + no warnings 'redefine'; + sub HTTP::Tiny::Handle::can_read { 1 }; + sub HTTP::Tiny::Handle::can_write { 1 }; +} + +{ + my $response = join $CRLF, 'HTTP/1.1 200 OK', 'Foo: Foo', 'Bar: Bar', '', ''; + my $fh = tmpfile($response); + my $handle = HTTP::Tiny::Handle->new(fh => $fh); + my $exp = [ 200, 'OK', { foo => 'Foo', bar => 'Bar' }, 'HTTP/1.1' ]; + is_deeply(_header($handle->read_response_header), $exp, "->read_response_header CRLF"); +} + +{ + my $response = join $LF, 'HTTP/1.1 200 OK', 'Foo: Foo', 'Bar: Bar', '', ''; + my $fh = tmpfile($response); + my $handle = HTTP::Tiny::Handle->new(fh => $fh); + my $exp = [ 200, 'OK', { foo => 'Foo', bar => 'Bar' }, 'HTTP/1.1' ]; + is_deeply(_header($handle->read_response_header), $exp, "->read_response_header LF"); +} + |