use strict; use warnings; use Test::More tests => 9; use HTTP::Request; use HTTP::Async; my $q = HTTP::Async->new; # Try to add some requests for bad hosts. HTTP::Async should not fail # but should return HTTP::Responses with the correct status code etc. my @bad_requests = map { HTTP::Request->new( GET => $_ ) } ( 'http://i.dont.exist/foo/bar', 'ftp://wrong.protocol.com/foo/bar' ); ok $q->add(@bad_requests), "Added bad requests"; while ( $q->not_empty ) { my $res = $q->next_response || next; isa_ok $res, 'HTTP::Response', "Got a proper response"; ok !$res->is_success, "Response was not a success"; ok $res->is_error, "Response was an error"; ok $res->request, "response has a request attached."; }