1#!/usr/bin/perl -w 2package Pod::WSDL; 3use Test::More tests => 4; 4BEGIN {use_ok('Pod::WSDL');} 5use lib length $0 > 11 ? substr $0, 0, length($0) - 17 : '.'; 6use strict; 7use warnings; 8use XML::XPath; 9 10my $p = new Pod::WSDL(source => 'My::ServiceTest', 11 location => 'http://localhost/My/Test', 12 pretty => 1, 13 withDocumentation => 1); 14 15my $xmlOutput = $p->WSDL; 16my $xp = XML::XPath->new(xml => $xmlOutput); 17 18#print $xmlOutput; 19#print XML::XPath::XMLParser::as_string(($xp->find('/wsdl:definitions/wsdl:service')->get_nodelist())[0]) 20# test general structure 21ok($xp->exists('/wsdl:definitions/wsdl:service[@name="MyServiceTestHandlerService"]'), 'Found wsdl:service element in xml output.'); 22ok($xp->exists('/wsdl:definitions/wsdl:service[@name="MyServiceTestHandlerService"]/wsdl:port[@binding="impl:MyServiceTestSoapBinding" and @name="MyServiceTest"]'), 'Found wsdl:port in wsdl:service element.'); 23ok($xp->exists('/wsdl:definitions/wsdl:service[@name="MyServiceTestHandlerService"]/wsdl:port[@binding="impl:MyServiceTestSoapBinding" and @name="MyServiceTest"]/wsdlsoap:address[@location="http://localhost/My/Test"]'), 'Found wsdlsoap:address in wsdl:port element.'); 24 25__END__ 26 27<wsdl:service name="MyServiceTestHandlerService"> 28 <wsdl:port binding="impl:MyServiceTestSoapBinding" name="MyServiceTest"> 29 <wsdlsoap:address location="http://localhost/My/Test" /> 30 </wsdl:port> 31</wsdl:service> 32