1# ----------------------------------------------------------------
2    use strict;
3    use Test::More;
4# ----------------------------------------------------------------
5SKIP: {
6    local $@;
7    eval { require LWP::UserAgent; } unless defined $LWP::UserAgent::VERSION;
8    if ( ! defined $LWP::UserAgent::VERSION ) {
9        plan skip_all => 'LWP::UserAgent is not loaded.';
10    }
11    if ( ! defined $ENV{MORE_TESTS} ) {
12        plan skip_all => 'define $MORE_TESTS to test this.';
13    }
14    plan tests => 7;
15    use_ok('XML::TreePP');
16
17    my $tpp = XML::TreePP->new();
18    my $name = ( $0 =~ m#([^/:\\]+)$# )[0];
19    $tpp->set( user_agent => "$name " );
20
21    &test_http_post( $tpp, $name );     # use LWP::UserAgent
22    eval { require HTTP::Lite; };
23    &test_http_post( $tpp, $name );     # use LWP::UserAgent again not HTTP::Lite
24}
25# ----------------------------------------------------------------
26sub test_http_post {
27    my $tpp = shift;
28    my $name = shift;
29    my $url = "http://www.kawa.net/works/perl/treepp/example/envxml.cgi";
30    my( $tree, $xml ) = $tpp->parsehttp( POST => $url, '' );
31    ok( ref $tree, $url );
32    my $agent = $tree->{env}->{HTTP_USER_AGENT};
33    like( $agent, qr/libwww-perl/, "$agent" );
34    like( $agent, qr/^\Q$name\E/, "User-Agent has '$name'" );
35}
36# ----------------------------------------------------------------
37;1;
38# ----------------------------------------------------------------
39