1###########################################
2# Test Suite for LWP debugging with Log4perl
3# Mike Schilli, 2004 (m@perlmeister.com)
4###########################################
5
6use warnings;
7use strict;
8
9use Test::More;
10
11BEGIN {
12    eval {
13        require LWP::UserAgent;
14        die "Skip tests" if $LWP::UserAgent::VERSION <  2.0;
15        die "Skip tests" if $LWP::UserAgent::VERSION >= 5.822;
16    };
17
18    if($@) {
19        plan skip_all => "Only with 2.0 < LWP::UserAgent < 5.822 ";
20    } else {
21        plan tests => 3;
22    }
23}
24
25use Log::Log4perl qw(:easy);
26use Log::Log4perl::Util;
27
28Log::Log4perl->easy_init(
29    { level    => $DEBUG,
30      category => "LWP::UserAgent",
31      file     => 'lwpout.txt'
32    });
33
34Log::Log4perl->infiltrate_lwp();
35
36my $ua = LWP::UserAgent->new();
37
38my $tmpfile = Log::Log4perl::Util::tmpfile_name();
39END { unlink $tmpfile };
40$ua->get("file:$tmpfile");
41
42open LOG, "<lwpout.txt" or die "Cannot open lwpout.txt";
43my $data = join('', <LOG>);
44close LOG;
45
46like($data, qr#\QGET file:$tmpfile\E#);
47
48END { unlink "lwpout.txt" }
49
50####################################
51# Check different category
52####################################
53Log::Log4perl->reset();
54Log::Log4perl->easy_init(
55    { level    => $DEBUG,
56      category => "LWP::SchmoozeAgent",
57      file     => '>lwpout.txt'
58    });
59
60Log::Log4perl->infiltrate_lwp();
61
62$ua = LWP::UserAgent->new();
63$ua->get("file:$tmpfile");
64
65open LOG, "<lwpout.txt" or die "Cannot open lwpout.txt";
66$data = join('', <LOG>);
67close LOG;
68
69is($data, '');
70
71####################################
72# Check layout
73####################################
74Log::Log4perl->reset();
75Log::Log4perl->easy_init(
76    { level    => $DEBUG,
77      category => "LWP::UserAgent",
78      file     => '>lwpout.txt',
79      layout   => '%F-%L: %m%n',
80    });
81
82Log::Log4perl->infiltrate_lwp();
83
84$ua = LWP::UserAgent->new();
85$ua->get("file:$tmpfile");
86
87open LOG, "<lwpout.txt" or die "Cannot open lwpout.txt";
88$data = join('', <LOG>);
89close LOG;
90
91like($data, qr#LWP/UserAgent.pm-\d+#);
92