#!/usr/bin/env perl;
use strict;
use warnings;
use LWP::ConsoleLogger::Easy qw( debug_ua );
use Test::More;
use Test::WWW::Mechanize::PSGI;
my $ua = Test::WWW::Mechanize::PSGI->new(
app => sub {
my $env = shift;
return [
200,
[ 'Content-Type' => 'text/html' ],
[
'<html><head><title>Hi</title></head><body>Hello World</body></html>'
]
];
},
);
my $logger = debug_ua($ua);
# Test::WWW::Mechanize::PSGI overrides LWP::UserAgent::simple_request(), which
# is what would normally call LWP::UserAgent::send_request(). So, the default
# handlers used by LWP::ConsoleLogger::Easy (request_send) will never fire. In
# this case we'll just manually add an additional callback to the object which
# will fire in the request_prepare phase, which is
# LWP::UserAgent::prepare_request(). That's earlier on in the request phase,
# but still helpful.
$ua->add_handler(
'request_prepare',
sub { $logger->request_callback(@_) }
);
$ua->get_ok('/');
done_testing();