import SOAP-WSDL 1.24 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 1.24 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-1.24.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
7ba2f93e44
commit
9e85f63aa0
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use lib 'lib';
|
||||
use lib '../t/lib';
|
||||
use SOAP::WSDL::SAX::MessageHandler;
|
||||
|
||||
use Benchmark;
|
||||
use SOAP::WSDL::Expat::MessageParser;
|
||||
use XML::Simple;
|
||||
use XML::LibXML;
|
||||
use MyComplexType;
|
||||
use MyElement;
|
||||
use MySimpleType;
|
||||
|
||||
my $xml = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
|
||||
<SOAP-ENV:Body><MyAtomicComplexTypeElement xmlns="urn:Test" >
|
||||
<test>Test</test>
|
||||
<test2 >Test2</test2>
|
||||
</MyAtomicComplexTypeElement></SOAP-ENV:Body></SOAP-ENV:Envelope>};
|
||||
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::MessageParser->new({
|
||||
class_resolver => 'FakeResolver'
|
||||
});
|
||||
|
||||
$XML::Simple::PREFERRED_PARSER = 'XML::Parser';
|
||||
|
||||
my $libxml = XML::LibXML->new();
|
||||
|
||||
timethese 1000,
|
||||
{
|
||||
'SOAP::WSDL' => sub { $parser->parse( $xml ) },
|
||||
#'XML::Simple (Hash)' => sub { XMLin $xml },
|
||||
'XML::LibXML (DOM)' => sub { my $dom = $libxml->parse_string( $xml ) },
|
||||
};
|
||||
|
||||
use Test::More tests => 1;
|
||||
is $parser->get_data(), q{<MyAtomicComplexTypeElement xmlns="urn:Test" >}
|
||||
. q{<test >Test</test><test2 >Test2</test2></MyAtomicComplexTypeElement>}
|
||||
, 'Content comparison';
|
||||
|
||||
$parser->class_resolver( 'FakeResolver2' );
|
||||
|
||||
|
||||
# data classes reside in t/lib/Typelib/
|
||||
BEGIN {
|
||||
package FakeResolver;
|
||||
{
|
||||
my %class_list = (
|
||||
'MyAtomicComplexTypeElement' => 'MyAtomicComplexTypeElement',
|
||||
'MyAtomicComplexTypeElement/test' => 'MyTestElement',
|
||||
'MyAtomicComplexTypeElement/test2' => 'MyTestElement2',
|
||||
);
|
||||
|
||||
sub get_map { return \%class_list };
|
||||
|
||||
sub new { return bless {}, 'FakeResolver' };
|
||||
|
||||
sub get_class {
|
||||
my $name = join('/', @{ $_[1] });
|
||||
return ($class_list{ $name }) ? $class_list{ $name }
|
||||
: warn "no class found for $name";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,21 +0,0 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Benchmark;
|
||||
use lib '../../lib';
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::anyType;
|
||||
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::anyType->new();
|
||||
|
||||
timethese 10000, {
|
||||
'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anyType->new() },
|
||||
'new with params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anyType->new({
|
||||
xmlns => 'urn:Test'
|
||||
}) },
|
||||
'set_FOO' => sub { $obj->set_xmlns('Test') },
|
||||
};
|
||||
|
||||
my $data;
|
||||
timethese 1000000, {
|
||||
'set_FOO' => sub { $obj->set_xmlns('Test') },
|
||||
'get_FOO' => sub { $data = $obj->get_xmlns() },
|
||||
};
|
||||
@@ -1,22 +0,0 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Benchmark;
|
||||
use lib '../../lib';
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
||||
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new();
|
||||
|
||||
timethese 10000, {
|
||||
'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new() },
|
||||
'new + params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new({
|
||||
xmlns => 'urn:Test',
|
||||
value => 'Teststring'
|
||||
}) },
|
||||
'set_FOO' => sub { $obj->set_xmlns('Test') },
|
||||
};
|
||||
|
||||
my $data;
|
||||
timethese 1000000, {
|
||||
'set_FOO' => sub { $obj->set_xmlns('Test') },
|
||||
'get_FOO' => sub { $data = $obj->get_xmlns() },
|
||||
};
|
||||
@@ -1,22 +0,0 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Benchmark;
|
||||
use lib '../../lib';
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::string;
|
||||
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::string->new();
|
||||
|
||||
timethese 10000, {
|
||||
'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::string->new() },
|
||||
'new + params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::string->new({
|
||||
xmlns => 'urn:Test',
|
||||
value => 'Teststring'
|
||||
}) },
|
||||
'set_FOO' => sub { $obj->set_xmlns('Test') },
|
||||
};
|
||||
|
||||
my $data;
|
||||
timethese 1000000, {
|
||||
'set_FOO' => sub { $obj->set_xmlns('Test') },
|
||||
'get_FOO' => sub { $data = $obj->get_xmlns() },
|
||||
};
|
||||
Reference in New Issue
Block a user