X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FTest.pm;h=397e98db21cb850753c763fba5df8b1fbad4741a;hb=f23f16344c6e965eb8b0f31032711b2c205f1751;hp=e940be060b70f45c3cc1e7336d06cea0ecf5eacf;hpb=8fa9321c8712ff964e93a72b4f78345d20400552;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Test.pm b/lib/Catalyst/Test.pm index e940be0..397e98d 100644 --- a/lib/Catalyst/Test.pm +++ b/lib/Catalyst/Test.pm @@ -239,6 +239,21 @@ sub local_request { my $response = $cgi->restore->response; $response->request( $request ); + + # HTML head parsing based on LWP::UserAgent + + require HTML::HeadParser; + + my $parser = HTML::HeadParser->new(); + $parser->xml_mode(1) if $response->content_is_xhtml; + $parser->utf8_mode(1) if $] >= 5.008 && $HTML::Parser::VERSION >= 3.40; + + $parser->parse( $response->content ); + my $h = $parser->header; + for my $f ( $h->header_field_names ) { + $response->init_header( $f, [ $h->header($f) ] ); + } + return $response; }