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