import SOAP-WSDL 2.00_17 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 2.00_17 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_17.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
c6a48ba84b
commit
008d06b72a
@@ -0,0 +1,7 @@
|
||||
use Test::More tests => 3;
|
||||
use lib '../lib';
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
ok( SOAP::WSDL->new(), 'Instantiated object' );
|
||||
|
||||
eval { SOAP::WSDL->new( grzlmpfh => 'unknown')};
|
||||
ok $@, 'die on illegal parameter';
|
||||
@@ -0,0 +1,25 @@
|
||||
use Test::More tests => 7;
|
||||
use strict;
|
||||
use warnings;
|
||||
use diagnostics;
|
||||
use Cwd;
|
||||
use File::Basename;
|
||||
use File::Spec;
|
||||
use lib '../lib';
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
my $soap;
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/02_port.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
ok( ($soap->servicename('testService') ), 'set service' );
|
||||
ok( ($soap->portname('testPort2') ) ,'set portname');
|
||||
ok( $soap->wsdlinit(), 'parsed WSDL' );
|
||||
|
||||
ok( $soap->wsdlinit( servicename => 'testService', portname => 'testPort'), 'parsed WSDL' );
|
||||
|
||||
ok( ($soap->portname() eq 'testPort' ), 'found port passed to wsdlinit');
|
||||
@@ -0,0 +1,80 @@
|
||||
use Test::More tests => 7;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use lib 'lib';
|
||||
use File::Basename;
|
||||
use File::Spec;
|
||||
our $SKIP;
|
||||
eval "use Test::SOAPMessage";
|
||||
if ($@)
|
||||
{
|
||||
$SKIP = "Test::Differences required for testing. ";
|
||||
}
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
print "# SOAP::WSDL Version: $SOAP::WSDL::VERSION\n";
|
||||
|
||||
my $xml;
|
||||
my $soap;
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-all.wsdl',
|
||||
readable =>1,
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
ok $soap->wsdlinit(
|
||||
checkoccurs => 1,
|
||||
servicename => 'testService',
|
||||
), 'parse WSDL';
|
||||
ok $soap->no_dispatch(1), 'set no dispatch';
|
||||
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
ok ($xml = $soap->call('test',
|
||||
testAll => {
|
||||
Test1 => 'Test 1',
|
||||
Test2 => [ 'Test 2', 'Test 3' ]
|
||||
}
|
||||
), 'Serialized complexType' );
|
||||
|
||||
|
||||
# print $xml;
|
||||
|
||||
# $soap->wsdl_checkoccurs(1);
|
||||
|
||||
TODO: {
|
||||
local $TODO = "not implemented yet";
|
||||
|
||||
eval
|
||||
{
|
||||
$xml = $soap->call('test',
|
||||
testAll => {
|
||||
Test1 => 'Test 1',
|
||||
Test2 => [ 'Test 2', 'Test 3' ]
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
ok( ($@ =~m/illegal\snumber\sof\selements/),
|
||||
"Died on illegal number of elements (too many)"
|
||||
);
|
||||
|
||||
eval {
|
||||
$xml = $soap->call('test',
|
||||
testAll => {
|
||||
Test1 => 'Test 1',
|
||||
}
|
||||
);
|
||||
};
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 2;
|
||||
use lib '../lib';
|
||||
|
||||
use_ok qw/SOAP::WSDL/;
|
||||
|
||||
my $soap = SOAP::WSDL->new();
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement <choice> support";
|
||||
fail "serialize choice element";
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
use Test::More tests => 2;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use lib 'lib';
|
||||
use Cwd;
|
||||
use File::Basename;
|
||||
|
||||
our $SKIP;
|
||||
eval "use Test::SOAPMessage";
|
||||
if ($@) {
|
||||
$SKIP = "Test::Differences required for testing. $@";
|
||||
}
|
||||
|
||||
use_ok qw/SOAP::WSDL/;
|
||||
|
||||
my $soap = SOAP::WSDL->new();
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement <complexContent> support";
|
||||
fail "serialize complexContent element";
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use lib 'lib';
|
||||
use File::Basename;
|
||||
use File::Spec
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
print "# SOAP::WSDL Version: $SOAP::WSDL::VERSION\n";
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
|
||||
my $xml;
|
||||
my $soap;
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-element-ref.wsdl',
|
||||
readable => 1,
|
||||
no_dispatch => 1,
|
||||
), 'Instantiated object' );
|
||||
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
ok ($xml = $soap->call('test',
|
||||
testAll => {
|
||||
Test2 => 'Test2',
|
||||
TestRef => 'TestRef'
|
||||
}
|
||||
), 'Serialized complexType' );
|
||||
|
||||
is $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><testAll><TestRef>TestRef</TestRef><Test2>Test2</Test2></testAll></SOAP-ENV:Body></SOAP-ENV:Envelope>}
|
||||
, 'element ref="" serialization';
|
||||
@@ -0,0 +1,22 @@
|
||||
use Test::More tests => 2;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use lib 'lib';
|
||||
use Cwd;
|
||||
use File::Basename;
|
||||
|
||||
our $SKIP;
|
||||
eval "use Test::SOAPMessage";
|
||||
if ($@) {
|
||||
$SKIP = "Test::Differences required for testing. $@";
|
||||
}
|
||||
|
||||
use_ok qw/SOAP::WSDL/;
|
||||
|
||||
my $soap = SOAP::WSDL->new();
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement <group> support";
|
||||
fail "serialize group element";
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
BEGIN {
|
||||
use Test::More tests => 6;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use lib 'lib';
|
||||
use Cwd;
|
||||
use File::Basename;
|
||||
|
||||
our $SKIP;
|
||||
eval "use Test::SOAPMessage";
|
||||
if ($@)
|
||||
{
|
||||
$SKIP = "Test::Differences required for testing. $@";
|
||||
}
|
||||
}
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my $xml;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-sequence.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
ok( $soap->wsdlinit(
|
||||
checkoccurs => 1,
|
||||
servicename => 'testService',
|
||||
), 'parsed WSDL' );
|
||||
$soap->no_dispatch(1);
|
||||
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
|
||||
#4
|
||||
ok $xml = $soap->call('test',
|
||||
testSequence => {
|
||||
Test1 => 'Test 1',
|
||||
Test2 => 'Test 2',
|
||||
}
|
||||
), 'Serialized complexType';
|
||||
|
||||
TODO: {
|
||||
local $TODO = "not implemented yet";
|
||||
#5
|
||||
eval
|
||||
{
|
||||
$xml = $soap->call('test',
|
||||
testSequence => {
|
||||
Test1 => 'Test 1',
|
||||
}
|
||||
);
|
||||
};
|
||||
ok( ($@),
|
||||
"Died on illegal number of elements"
|
||||
);
|
||||
|
||||
#6
|
||||
eval
|
||||
{
|
||||
$xml = $soap->call('test',
|
||||
testSequence => {
|
||||
Test1 => 'Test 1',
|
||||
Test2 => [ 1, 2, 3, ]
|
||||
}
|
||||
);
|
||||
};
|
||||
ok( ($@),
|
||||
"Died on illegal number of elements"
|
||||
);
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
use Test::More tests => 2;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use lib 'lib';
|
||||
use Cwd;
|
||||
use File::Basename;
|
||||
|
||||
our $SKIP;
|
||||
eval "use Test::SOAPMessage";
|
||||
if ($@) {
|
||||
$SKIP = "Test::Differences required for testing. $@";
|
||||
}
|
||||
|
||||
use_ok qw/SOAP::WSDL/;
|
||||
|
||||
my $soap = SOAP::WSDL->new();
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement <simpleContent> support";
|
||||
fail "serialize simpleContent element";
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
use Test::More skip_all => 'TODO: implement tests';
|
||||
use lib '../lib';
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
|
||||
use File::Basename;
|
||||
use File::Spec;
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my $xml;
|
||||
|
||||
my $soap = undef;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/04_element-simpleType.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
ok( $soap->wsdlinit(
|
||||
servicename => 'testService',
|
||||
), 'parsed WSDL' );
|
||||
$soap->no_dispatch(1);
|
||||
|
||||
ok ( $xml = $soap->call('test', testElement1 => 1 ) ,
|
||||
'Serialized (simpler) element' );
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement min/maxOccurs checks";
|
||||
|
||||
eval { $soap->call('test', testAll => [ 2, 3 ] ); };
|
||||
|
||||
like $@, qr{illegal\snumber\sof\selements}, "Died on illegal number of elements (too many)";
|
||||
|
||||
eval { $soap->call('test', testAll => undef ) };
|
||||
ok $@, 'Died on illegal number of elements (not enough)';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
use Test::More tests => 8;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
|
||||
our $SKIP;
|
||||
eval "use Test::SOAPMessage";
|
||||
if ($@) {
|
||||
$SKIP = "Test::Differences required for testing.";
|
||||
}
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my $soap;
|
||||
my $xml;
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/04_element.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
$soap->outputxml(1);
|
||||
|
||||
ok( $soap->wsdlinit(
|
||||
servicename => 'testService',
|
||||
), 'parsed WSDL' );
|
||||
$soap->no_dispatch(1);
|
||||
|
||||
ok ($xml = $soap->call('test',
|
||||
testElement1 => 'Test'
|
||||
), 'Serialized (simple) element' );
|
||||
|
||||
ok ($xml = $soap->call('testRef',
|
||||
testElementRef => 'Test'
|
||||
), 'Serialized (simple) element' );
|
||||
|
||||
is $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><testElementRef xmlns="urn:Test">Test</testElementRef></SOAP-ENV:Body></SOAP-ENV:Envelope>}
|
||||
, 'element ref serialization result'
|
||||
;
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement min/maxOccurs checks";
|
||||
|
||||
eval {
|
||||
$xml = $soap->call('test',
|
||||
testAll => [ 'Test 2', 'Test 3' ]
|
||||
);
|
||||
};
|
||||
|
||||
ok( ($@ =~m/illegal\snumber\sof\selements/),
|
||||
"Died on illegal number of elements (too many)"
|
||||
);
|
||||
|
||||
eval {
|
||||
$xml = $soap->call('test', testAll => undef );
|
||||
};
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
use Test::More tests => 8;
|
||||
use strict;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my ($soap, $xml, $xml2);
|
||||
|
||||
# chdir to my location
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/05_simpleType-list.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
$soap->readable(1);
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
#3
|
||||
ok( $soap->wsdlinit(
|
||||
servicename => 'testService',
|
||||
), 'parsed WSDL' );
|
||||
$soap->no_dispatch(1);
|
||||
|
||||
#4
|
||||
ok $xml = $soap->call('test', testAll => [ 1, 2 ] ), 'Serialize list call';
|
||||
|
||||
#5
|
||||
ok ( $xml2 = $soap->call('test', testAll => "1 2" ) , 'Serialized scalar call' );
|
||||
#6
|
||||
ok( $xml eq $xml2, 'Got expected result');
|
||||
|
||||
#7
|
||||
TODO: {
|
||||
local $TODO = "implement minLength check";
|
||||
eval { $xml = $soap->call('test', testAll => undef ) };
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
}
|
||||
|
||||
#8
|
||||
TODO: {
|
||||
local $TODO = "maxLength test not implemented";
|
||||
eval { $xml = $soap->call('test', testAll => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ] ) };
|
||||
ok($@, 'Died on illegal number of elements (more than maxLength)');
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
use Test::More tests => 8;
|
||||
use strict;
|
||||
use warnings;
|
||||
use diagnostics;
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
use lib '../lib';
|
||||
use lib 't/lib';
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my $xml;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
my $soap;
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/05_simpleType-restriction.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
ok( $soap->wsdlinit(
|
||||
servicename => 'testService',
|
||||
), 'parsed WSDL' );
|
||||
$soap->no_dispatch(1);
|
||||
$soap->autotype(0);
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
#4
|
||||
ok $xml = $soap->call('test', testAll => [ 1, 2 ] ) , 'Serialize list call';
|
||||
|
||||
# print $xml, "\n";
|
||||
|
||||
TODO: {
|
||||
local $TODO = "implement minLength/maxLength checks";
|
||||
eval { $soap->call('test', testAll => [ 1, 2, 3 ] ) };
|
||||
ok($@, 'Died on illegal number of elements (too many)');
|
||||
|
||||
eval { $soap->call('test', testAll => [] ) };
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
}
|
||||
|
||||
TODO: {
|
||||
local $TODO = "minValue check not implemented ";
|
||||
eval { $xml = $soap->call('test', testAll => 0 ) };
|
||||
ok($@, 'Died on illegal value');
|
||||
}
|
||||
|
||||
TODO: {
|
||||
local $TODO = "maxValue check not implemented ";
|
||||
eval { $xml = $soap->call('test', testAll => 100 ) };
|
||||
ok($@, 'Died on illegal value');
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
use Test::More skip_all => 'Not supported yet';
|
||||
use strict;
|
||||
use warnings;
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
|
||||
use_ok qw/SOAP::WSDL/;
|
||||
|
||||
my $xml;
|
||||
my $soap = undef;
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
#2
|
||||
ok $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/t/acceptance/wsdl/05_simpleType-union.wsdl'
|
||||
), 'Instantiated object';
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
ok $soap->wsdlinit(), 'parsed WSDL';
|
||||
$soap->no_dispatch(1);
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
#4
|
||||
ok $xml = $soap->call('test', testAll => 1 ) , 'Serialized call';
|
||||
|
||||
# 6
|
||||
eval {
|
||||
$xml = $soap->serializer->method(
|
||||
$soap->call('test',
|
||||
testAll => [ 1 , 'union']
|
||||
)
|
||||
)
|
||||
};
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
|
||||
eval {
|
||||
$xml = $soap->serializer->method(
|
||||
$soap->call('test',
|
||||
testAll => undef
|
||||
)
|
||||
)
|
||||
};
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
|
||||
#8
|
||||
ok ( $xml = $soap->serializer->method( $soap->call('test2',
|
||||
testAll => 1 )
|
||||
),
|
||||
'Serialized (simple) call (list)' );
|
||||
|
||||
#9
|
||||
eval {
|
||||
$xml = $soap->serializer->method(
|
||||
$soap->call('test',
|
||||
testAll => [ 1 , 'union']
|
||||
)
|
||||
)
|
||||
};
|
||||
ok($@, 'Died on illegal number of elements (not enough)');
|
||||
@@ -0,0 +1,30 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use diagnostics;
|
||||
use Cwd;
|
||||
use File::Basename;
|
||||
use File::Spec;
|
||||
use lib '../lib';
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
my $soap;
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/02_port.wsdl',
|
||||
keep_alive => 1,
|
||||
), 'Instantiated object' );
|
||||
|
||||
ok( ($soap->servicename('testService') ), 'set service' );
|
||||
ok( ($soap->portname('testPort2') ) ,'set portname');
|
||||
ok( $soap->wsdlinit(), 'parsed WSDL' );
|
||||
|
||||
eval {
|
||||
$soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/FOOBAR',
|
||||
keep_alive => 1,
|
||||
);
|
||||
};
|
||||
like $@, qr{ does \s not \s exist }x, 'error on non-existant WSDL';
|
||||
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/perl -w
|
||||
#######################################################################################
|
||||
#
|
||||
# 2_helloworld.t
|
||||
#
|
||||
# Acceptance test for message encoding, based on .NET wsdl and example code.
|
||||
# SOAP::WSDL's encoding doesn't I<exactly> match the .NET example, because
|
||||
# .NET doesn't always specify types (SOAP::WSDL does), and the namespace
|
||||
# prefixes chosen are different (maybe the encoding style, too ? this would be a bug !)
|
||||
#
|
||||
########################################################################################
|
||||
|
||||
use strict;
|
||||
use Test::More tests => 4;
|
||||
use lib '../../../lib/';
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
|
||||
|
||||
use_ok q/SOAP::WSDL/;
|
||||
|
||||
### test vars END
|
||||
print "# Testing SOAP::WSDL ". $SOAP::WSDL::VERSION."\n";
|
||||
print "# Acceptance test against sample output with simple WSDL\n";
|
||||
|
||||
|
||||
|
||||
my $data = {
|
||||
name => 'test',
|
||||
givenName => 'test',
|
||||
};
|
||||
|
||||
my $soap = undef;
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
ok $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///'.$path.'/../../acceptance/wsdl/11_helloworld.wsdl',
|
||||
no_dispatch => 1
|
||||
), 'Create SOAP::WSDL object';
|
||||
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
$soap->proxy('http://helloworld/helloworld.asmx');
|
||||
|
||||
ok $soap->wsdlinit(
|
||||
servicename => 'Service1',
|
||||
), 'wsdlinit';
|
||||
|
||||
|
||||
ok $soap->call('sayHello', 'sayHello' => $data), 'soap call';
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
use strict;
|
||||
use lib '../../../lib';
|
||||
use Test::More tests => 4;
|
||||
use SOAP::WSDL;
|
||||
use File::Spec;
|
||||
use Data::Dumper;
|
||||
use File::Basename;
|
||||
|
||||
print "# Using SOAP::WSDL Version $SOAP::WSDL::VERSION\n";
|
||||
|
||||
# chdir to my location
|
||||
my $soap = undef;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
my $url = 'http://127.0.0.1/testPort';
|
||||
|
||||
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/02_port.wsdl'
|
||||
) );
|
||||
|
||||
ok $soap->wsdlinit( url => $url );
|
||||
ok $soap->servicename('testService');
|
||||
ok $soap->portname('testPort');
|
||||
@@ -0,0 +1,21 @@
|
||||
use Test::More tests => 11;
|
||||
use lib '../../../lib';
|
||||
use_ok qw(SOAP::WSDL::Deserializer::Hash);
|
||||
|
||||
# Try all instanciation variants
|
||||
ok my $deserializer = SOAP::WSDL::Deserializer::Hash->new();
|
||||
ok $deserializer = SOAP::WSDL::Deserializer::Hash->new({
|
||||
class_resolver => 'SomeFunkyClass',
|
||||
});
|
||||
|
||||
ok my $data = $deserializer->deserialize(q{<a><b>1</b><b>2</b><c>3</c></a>});
|
||||
is $data->{a}->{b}->[0], 1;
|
||||
is $data->{a}->{b}->[1], 2;
|
||||
is $data->{a}->{c}, 3;
|
||||
|
||||
ok $data = $deserializer->deserialize(q{<a><b><c>1</c></b><b><c>2</c></b></a>});
|
||||
is $data->{a}->{b}->[0]->{c}, 1;
|
||||
is $data->{a}->{b}->[1]->{c}, 2;
|
||||
|
||||
eval { $deserializer->deserialize('grzlmpfh') };
|
||||
ok $@->isa('SOAP::WSDL::SOAP::Typelib::Fault11');
|
||||
@@ -0,0 +1,30 @@
|
||||
use Test::More;
|
||||
eval { require SOAP::Lite } or do {
|
||||
plan skip_all => 'SOAP::Lite not available';
|
||||
exit 0;
|
||||
};
|
||||
|
||||
use lib '../../../lib';
|
||||
plan tests => 10;
|
||||
use_ok qw(SOAP::WSDL::Deserializer::SOM);
|
||||
|
||||
ok my $deserializer = SOAP::WSDL::Deserializer::SOM->new();
|
||||
|
||||
ok my $som = $deserializer->deserialize(q{<a><b>1</b><b>2</b><c>3</c></a>});
|
||||
my $data = $som->match('/a')->valueof;
|
||||
|
||||
is $data->{ c } , 3;
|
||||
is $data->{ b }->[0] , 1;
|
||||
is $data->{ b }->[1] , 2;
|
||||
|
||||
eval { $deserializer->generate_fault({
|
||||
role => 'soap:Server',
|
||||
code => 'Test',
|
||||
message => 'Teststring'
|
||||
});
|
||||
};
|
||||
ok $@->isa('SOAP::Fault');
|
||||
|
||||
is $@->faultcode(), 'Test';
|
||||
is $@->faultactor(), 'soap:Server';
|
||||
is $@->faultstring(), 'Teststring';
|
||||
@@ -0,0 +1,19 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 5;
|
||||
|
||||
use SOAP::WSDL::Deserializer::SOAP11;
|
||||
|
||||
my $obj;
|
||||
|
||||
ok $obj = SOAP::WSDL::Deserializer::SOAP11->new();
|
||||
ok $obj = SOAP::WSDL::Deserializer::SOAP11->new({
|
||||
class_resolver => 'TestResolver',
|
||||
some_other_option => 'ignored',
|
||||
});
|
||||
|
||||
my $fault = $obj->generate_fault();
|
||||
|
||||
is $fault->get_faultstring(), 'Unknown error';
|
||||
is $fault->get_faultactor(), 'urn:localhost';
|
||||
is $fault->get_faultcode(), 'soap:Client';
|
||||
@@ -0,0 +1,21 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 3;
|
||||
|
||||
use SOAP::WSDL::Factory::Serializer;
|
||||
|
||||
eval { SOAP::WSDL::Factory::Serializer->get_serializer({
|
||||
soap_version => 'zumsl'
|
||||
}) };
|
||||
like $@, qr{^no serializer};
|
||||
|
||||
ok my $serializer = SOAP::WSDL::Factory::Serializer->get_serializer({
|
||||
soap_version => '1.1'
|
||||
});
|
||||
|
||||
SOAP::WSDL::Factory::Serializer->register('1.1', 'Hope_You_Have_No_Such_Package_Installed');
|
||||
|
||||
eval { SOAP::WSDL::Factory::Serializer->get_serializer({
|
||||
soap_version => '1.1'
|
||||
}) };
|
||||
like $@, qr{^Cannot load};
|
||||
@@ -0,0 +1,21 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 3;
|
||||
|
||||
use SOAP::WSDL::Factory::Deserializer;
|
||||
|
||||
eval { SOAP::WSDL::Factory::Deserializer->get_deserializer({
|
||||
soap_version => 'zumsl'
|
||||
}) };
|
||||
like $@, qr{^no deserializer};
|
||||
|
||||
ok my $serializer = SOAP::WSDL::Factory::Deserializer->get_deserializer({
|
||||
soap_version => '1.1'
|
||||
});
|
||||
|
||||
SOAP::WSDL::Factory::Deserializer->register('1.1', 'Hope_You_Have_No_Such_Package_Installed');
|
||||
|
||||
eval { SOAP::WSDL::Factory::Deserializer->get_deserializer({
|
||||
soap_version => '1.1'
|
||||
}) };
|
||||
like $@, qr{^Cannot load};
|
||||
@@ -0,0 +1,16 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 4;
|
||||
use Scalar::Util qw(blessed);
|
||||
use SOAP::WSDL::Factory::Transport;
|
||||
|
||||
eval { SOAP::WSDL::Factory::Transport->get_transport('zumsl') };
|
||||
like $@, qr{^no transport};
|
||||
|
||||
ok my $obj = SOAP::WSDL::Factory::Transport->get_transport('http');
|
||||
ok blessed $obj;
|
||||
|
||||
SOAP::WSDL::Factory::Transport->register('zumsl', 'Hope_You_Have_No_Such_Package_Installed');
|
||||
|
||||
eval { SOAP::WSDL::Factory::Transport->get_transport('zumsl') };
|
||||
like $@, qr{^Cannot load};
|
||||
@@ -0,0 +1,63 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More qw(no_plan);
|
||||
use Template;
|
||||
use File::Basename;
|
||||
use File::Spec;
|
||||
use SOAP::WSDL::Expat::WSDLParser;
|
||||
use SOAP::WSDL::Generator::Template::XSD;
|
||||
|
||||
my $path = dirname __FILE__;
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
|
||||
$parser->parse_file("$path/../../../acceptance/wsdl/006_sax_client.wsdl");
|
||||
#"$path/../../../../example/wsdl/globalweather.xml");
|
||||
my $definitions = $parser->get_data();
|
||||
|
||||
my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
||||
definitions => $definitions,
|
||||
});
|
||||
my $output = q{};
|
||||
$generator->generate_interface({
|
||||
NO_POD => 1,
|
||||
output => \$output,
|
||||
});
|
||||
|
||||
ok eval $output;
|
||||
|
||||
$output = q{};
|
||||
$generator->generate_typemap({
|
||||
NO_POD => 1,
|
||||
output => \$output,
|
||||
});
|
||||
|
||||
ok eval $output;
|
||||
print $@ if $@;
|
||||
|
||||
print $output;
|
||||
__END__
|
||||
|
||||
my $tt = Template->new(
|
||||
DEBUG => 1,
|
||||
EVAL_PERL => 1,
|
||||
RECURSION => 1,
|
||||
INCLUDE_PATH => "$path/../../../../lib/SOAP/WSDL/Template",
|
||||
);
|
||||
|
||||
foreach my $service (@{ $definitions->get_service }) {
|
||||
my $output;
|
||||
$tt->process( 'Interface.tt', {
|
||||
definitions => $definitions,
|
||||
service => $service,
|
||||
interface_prefix => 'MyInterface',
|
||||
type_prefix => 'MyTypes',
|
||||
TYPE_PREFIX => 'MyTypes',
|
||||
element_prefix => 'MyElement',
|
||||
}, \$output);
|
||||
die $tt->error if $tt->error();
|
||||
|
||||
ok eval $output, 'eval output';
|
||||
|
||||
print $output;
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
use Test::More tests => 15;;
|
||||
use SOAP::WSDL::Generator::Visitor;
|
||||
|
||||
my $visitor = SOAP::WSDL::Generator::Visitor->new();
|
||||
|
||||
is undef, $visitor->visit_Definitions();
|
||||
is undef, $visitor->visit_Binding();
|
||||
is undef, $visitor->visit_Message();
|
||||
is undef, $visitor->visit_Operation();
|
||||
is undef, $visitor->visit_OpMessage();
|
||||
is undef, $visitor->visit_Part();
|
||||
is undef, $visitor->visit_Port();
|
||||
is undef, $visitor->visit_PortType();
|
||||
is undef, $visitor->visit_Service();
|
||||
is undef, $visitor->visit_SoapOperation();
|
||||
is undef, $visitor->visit_Types();
|
||||
|
||||
# XML Schema stuff
|
||||
is undef, $visitor->visit_XSD_Schema();
|
||||
is undef, $visitor->visit_XSD_ComplexType();
|
||||
is undef, $visitor->visit_XSD_Element();
|
||||
is undef, $visitor->visit_XSD_SimpleType();
|
||||
@@ -0,0 +1,144 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 5;
|
||||
use File::Basename;
|
||||
use File::Spec;
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
use_ok qw(SOAP::WSDL::Generator::Visitor::Typemap);
|
||||
|
||||
my $visitor;
|
||||
ok $visitor = SOAP::WSDL::Generator::Visitor::Typemap->new(), 'constructor';
|
||||
|
||||
use SOAP::WSDL::Expat::WSDLParser;
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
|
||||
$parser->parse_file(
|
||||
$path . '/../../../../acceptance/wsdl/'
|
||||
#. '04_element.wsdl'
|
||||
#. '11_helloworld.wsdl'
|
||||
#. '008_complexType.wsdl'
|
||||
. '006_sax_client.wsdl'
|
||||
);
|
||||
|
||||
my $definitions = $parser->get_data();
|
||||
|
||||
$definitions->_accept( $visitor );
|
||||
|
||||
#use Data::Dumper;
|
||||
#print Dumper $visitor->get_typemap();
|
||||
|
||||
my $typemap = $visitor->get_typemap();
|
||||
is $typemap->{'EnqueueMessage/MMessage/MKeepalive'}, 'MyTypes::TKeepalive', 'content';
|
||||
is $typemap->{'EnqueueMessageResponse'}, 'MyTypes::TMessageID', 'content';
|
||||
is $typemap->{'KeepaliveMessageResponse'}, 'MyTypes::TMessageID', 'content';
|
||||
|
||||
|
||||
sub wsdl {
|
||||
q{<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:s0="urn:HelloWorld"
|
||||
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="urn:HelloWorld"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<s:schema elementFormDefault="qualified"
|
||||
targetNamespace="urn:HelloWorld">
|
||||
<s:element name="sayHello">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="givenName"
|
||||
type="s:string" nillable="1"/>
|
||||
|
||||
<!-- <s:element minOccurs="0" maxOccurs="1" name="test"
|
||||
type="s0:test2" /> //-->
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayHelloResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1"
|
||||
name="sayHelloResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:complexType name="test2">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="givenName"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
|
||||
<s:complexType name="testExtended">
|
||||
<s:extension base="s0:test2">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="extend"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:extension>
|
||||
</s:complexType>
|
||||
</s:schema>
|
||||
</types>
|
||||
|
||||
<message name="sayHelloSoapIn">
|
||||
<part name="parameters" element="s0:sayHello" />
|
||||
|
||||
<!-- <part name="test1" type="s0:testExtended" />
|
||||
|
||||
<part name="test2" type="s0:test2"
|
||||
targetNamespace="urn:test2" /> //-->
|
||||
</message>
|
||||
|
||||
<message name="sayHelloSoapOut">
|
||||
<part name="parameters" element="s0:sayHelloResponse" />
|
||||
</message>
|
||||
|
||||
<portType name="Service1Soap">
|
||||
<operation name="sayHello">
|
||||
<input message="s0:sayHelloSoapIn" />
|
||||
|
||||
<output message="s0:sayHelloSoapOut" />
|
||||
</operation>
|
||||
</portType>
|
||||
|
||||
<binding name="Service1Soap" type="s0:Service1Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
|
||||
style="document" />
|
||||
|
||||
<operation name="sayHello">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayHello"
|
||||
style="document" />
|
||||
|
||||
<input>
|
||||
<soap:body use="literal" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" />
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
|
||||
<service name="Service1">
|
||||
<port name="Service1Soap" binding="s0:Service1Soap">
|
||||
<soap:address
|
||||
location="http://helloworld/helloworld.asmx" />
|
||||
</port>
|
||||
</service>
|
||||
</definitions>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
use Test::More tests => 26;
|
||||
use File::Basename qw(dirname);
|
||||
use File::Spec;
|
||||
use File::Path;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
use_ok qw(SOAP::WSDL::Generator::Visitor::Typelib);
|
||||
use_ok qw(SOAP::WSDL::Generator::Template::XSD);
|
||||
|
||||
use SOAP::WSDL::Expat::WSDLParser;
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
my $definitions = $parser->parse_file(
|
||||
"$path/../../../acceptance/wsdl/generator_test.wsdl"
|
||||
#"$path/../../../acceptance/wsdl/elementAtomicComplexType.xml"
|
||||
);
|
||||
|
||||
my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
||||
definitions => $definitions,
|
||||
type_prefix => 'Foo',
|
||||
element_prefix => 'Foo',
|
||||
typemap_prefix => 'Foo',
|
||||
OUTPUT_PATH => "$path/testlib",
|
||||
});
|
||||
|
||||
my $code = "";
|
||||
$generator->set_output(\$code);
|
||||
$generator->generate_typelib();
|
||||
{
|
||||
eval $code;
|
||||
ok !$@;
|
||||
print $@ if $@;
|
||||
}
|
||||
# print $code;
|
||||
|
||||
$generator->set_type_prefix('MyTypes');
|
||||
$generator->set_element_prefix('MyElements');
|
||||
$generator->set_typemap_prefix('MyTypemaps');
|
||||
$generator->set_interface_prefix('MyInterfaces');
|
||||
|
||||
$generator->set_output(undef);
|
||||
$generator->generate_typelib();
|
||||
$generator->generate_typemap();
|
||||
$generator->generate_interface();
|
||||
|
||||
eval "use lib '$path/testlib'";
|
||||
use_ok qw( MyInterfaces::testService::testPort );
|
||||
|
||||
my $interface;
|
||||
|
||||
ok $interface = MyInterfaces::testService::testPort->new(), 'instanciate interface';
|
||||
$interface->set_no_dispatch(1);
|
||||
|
||||
my $message;
|
||||
|
||||
ok $message = $interface->testHeader( { Test1 => 'Test1', Test2 => 'Test2'}
|
||||
, { Test1 => 'Header1', Test2 => 'Header2'}), 'call soap method (no_dispatch)';
|
||||
|
||||
use_ok qw(SOAP::WSDL::Expat::MessageParser);
|
||||
use_ok qw(MyTypemaps::testService);
|
||||
|
||||
$parser = SOAP::WSDL::Expat::MessageParser->new({
|
||||
class_resolver => 'MyTypemaps::testService'
|
||||
});
|
||||
|
||||
ok $parser->parse_string($message), 'parse message with header';
|
||||
ok $parser->get_header()->get_Test1(), 'Header1';ok $message = $interface->testChoice( { Test1 => 'Test1' } ), 'call soap method (no_dispatch)';
|
||||
ok $parser->get_header()->get_Test2(), 'Header2';
|
||||
|
||||
ok $parser->get_data()->get_Test1(), 'Test1';
|
||||
ok $parser->get_data()->get_Test2(), 'Test2';
|
||||
|
||||
use_ok qw(SOAP::WSDL::Transport::Loopback);
|
||||
|
||||
$interface->set_no_dispatch(undef);
|
||||
$interface->set_transport(undef);
|
||||
$interface->set_proxy('http://127.0.0.1/Test');
|
||||
|
||||
for (1..2) {
|
||||
my ($body, $header) = $interface->testHeader( { Test1 => 'Test1', Test2 => 'Test2'} , { Test1 => 'Header1', Test2 => 'Header2'});
|
||||
is $header->get_Test1(), 'Header1', 'Header content';
|
||||
is $header->get_Test2(), 'Header2', 'Header content';
|
||||
}
|
||||
|
||||
|
||||
# complexType choice test
|
||||
ok $message = $interface->testChoice( { Test1 => 'Test1' } ), 'call soap method (no_dispatch)';
|
||||
ok $message = $interface->testChoice( { Test2 => 'Test2' } ), 'call soap method (no_dispatch)';
|
||||
|
||||
TODO: {
|
||||
local $TODO = 'implement content check';
|
||||
eval { $interface->testChoice( { Test1 => 'Test1', Test2 => 'Test2' } ) };
|
||||
ok $@, 'fail on both choice options';
|
||||
}
|
||||
#
|
||||
|
||||
ok eval { require MyTypes::testComplexTypeRestriction };
|
||||
my $complexRestriction = MyTypes::testComplexTypeRestriction->new();
|
||||
$complexRestriction->set_Test1('Test');
|
||||
is $complexRestriction->get_Test1(), 'Test';
|
||||
|
||||
$complexRestriction = MyTypes::testComplexTypeRestriction->new({
|
||||
Test1 => 'test1',
|
||||
Test2 => 'test2',
|
||||
});
|
||||
is $complexRestriction->get_Test1(), 'test1';
|
||||
is $complexRestriction->get_Test2(), 'test2';
|
||||
|
||||
|
||||
rmtree "$path/testlib";
|
||||
@@ -0,0 +1,24 @@
|
||||
use Test::More tests => 3;
|
||||
use File::Basename qw(dirname);
|
||||
use File::Spec;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
use_ok qw(SOAP::WSDL::Generator::Visitor::Typelib);
|
||||
use_ok qw(SOAP::WSDL::Generator::Template::XSD);
|
||||
|
||||
use SOAP::WSDL::Expat::WSDLParser;
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
my $definitions = $parser->parse_file(
|
||||
"$path/../../../acceptance/wsdl/generator_unsupported_test.wsdl"
|
||||
);
|
||||
|
||||
my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
||||
definitions => $definitions,
|
||||
});
|
||||
|
||||
{
|
||||
eval { $generator->generate_typelib() };
|
||||
}
|
||||
ok $@;
|
||||
@@ -0,0 +1,47 @@
|
||||
use Test::More tests => 9;
|
||||
use strict;
|
||||
use warnings;
|
||||
use File::Basename;
|
||||
use SOAP::WSDL::Client;
|
||||
|
||||
my $soap;
|
||||
my $base_dir = dirname( __FILE__ );
|
||||
use_ok(qw/SOAP::WSDL::Transport::Test/);
|
||||
|
||||
$soap = SOAP::WSDL::Client->new();
|
||||
$soap->set_proxy('http://somewhere.over.the.rainbow');
|
||||
|
||||
ok( $soap->get_transport->set_base_dir( join '/', $base_dir, 'acceptance' ) );
|
||||
|
||||
{
|
||||
local $SIG{__WARN__} = sub {};
|
||||
my $response = $soap->call({ operation => 'test', soap_action => 'http://test' }, {});
|
||||
ok ! $response, 'Returned fault on error';
|
||||
is $response->get_faultcode(), 'soap:Server', 'faultcode';
|
||||
is $response->get_faultactor(), 'urn:localhost', 'faultactor';
|
||||
|
||||
$soap->outputxml(1);
|
||||
$response = $soap->call({ operation => 'test', soap_action => 'http://test2' }, {});
|
||||
is $response, 'test2', 'Returned file content';
|
||||
}
|
||||
|
||||
SKIP: {
|
||||
eval { require SOAP::WSDL::Deserializer::SOM; }
|
||||
or skip 'SOAP::WSDL::Deserializer::SOM required', 3;
|
||||
# requre SOAP::WSDL::Factory::Deserializer;
|
||||
SOAP::WSDL::Factory::Deserializer->register('1.1', 'SOAP::WSDL::Deserializer::SOM');
|
||||
|
||||
my $soap_som = SOAP::WSDL::Client->new();
|
||||
$soap_som->set_proxy('http://somewhere.over.the.rainbow');
|
||||
$soap_som->get_transport->set_base_dir( join '/', $base_dir, 'acceptance' );
|
||||
|
||||
my $som;
|
||||
ok $som = $soap_som->call({ operation => 'test', soap_action => 'http://test3' }, {})
|
||||
, 'Call with SOAP::WSDL::Deserializer::SOM';
|
||||
|
||||
# In the somewhat weird logic of SOAP::Lite, the first node inside the root element
|
||||
# is the reault, all others are output parameters (and may be accessed via "paramsout")
|
||||
is $som->result(), 'Munich', 'Result match';
|
||||
is $som->paramsout(), 'Germany' , 'Output parameter match';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use utf8;
|
||||
|
||||
use SOAP::WSDL::Transport::HTTP;
|
||||
|
||||
my $transport = SOAP::WSDL::Transport::HTTP->new();
|
||||
|
||||
ok $transport->is_success(1);
|
||||
ok $transport->code(200);
|
||||
ok $transport->status('200 OK');
|
||||
ok $transport->message('OK');
|
||||
|
||||
$transport->send_receive(envelope => 'Test', action => 'foo');
|
||||
|
||||
ok ! $transport->is_success();
|
||||
|
||||
$transport->send_receive(encoding => 'utf8', envelope => 'ÄÖÜ',
|
||||
action => 'foo');
|
||||
ok ! $transport->is_success();
|
||||
@@ -0,0 +1 @@
|
||||
test2
|
||||
@@ -0,0 +1 @@
|
||||
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ><SOAP-ENV:Body><GetWeatherResponse xmlns="http://www.webserviceX.NET"><CityName>Munich</CityName><CountryName>Germany</CountryName></GetWeatherResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
|
||||
@@ -0,0 +1,22 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# use_ok fails to trigger Class::Std's overloading attributes
|
||||
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
||||
|
||||
my $fault = SOAP::WSDL::SOAP::Typelib::Fault11->new({
|
||||
faultcode => 'soap:Server',
|
||||
faultstring => 'Fault message',
|
||||
});
|
||||
|
||||
ok "$fault", 'stringification';
|
||||
|
||||
if ($fault) { fail 'boolify' } else { pass 'boolify' }
|
||||
|
||||
ok ! $fault->as_bool() , 'as_bool';
|
||||
|
||||
is $fault->get_xmlns(), 'http://schemas.xmlsoap.org/soap/envelope/';
|
||||
|
||||
is $fault->get_faultcode(), 'soap:Server', 'content';
|
||||
is $fault->get_faultstring(), 'Fault message', 'content';
|
||||
@@ -0,0 +1,104 @@
|
||||
use Test::More tests => 176;
|
||||
use Scalar::Util qw(blessed);
|
||||
|
||||
# use SOAP::WSDL::XSD::Typelib::Builtin::anyType;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::anyURI;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::base64Binary;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::boolean;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::byte;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::date;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::dateTime;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::decimal;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::double;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::duration;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::ENTITY;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::float;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gDay;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gMonth;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gYear;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::hexBinary;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::ID;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::IDREF;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::IDREFS;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::int;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::integer;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::language;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::long;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::Name;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NCName;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::normalizedString;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NOTATION;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::QName;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::short;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::string;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::time;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::token;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort;
|
||||
|
||||
|
||||
for (
|
||||
qw(
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anyURI
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::base64Binary
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::boolean
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::byte
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::date
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::dateTime
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::decimal
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::double
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::duration
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::ENTITY
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::float
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gDay
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gMonth
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gYear
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::hexBinary
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::ID
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREF
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREFS
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::int
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::integer
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::language
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::long
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::Name
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NCName
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::normalizedString
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NOTATION
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::QName
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::short
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::time
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::token
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort
|
||||
) ) {
|
||||
my $obj = $_->new();
|
||||
ok blessed $obj;
|
||||
is $obj->get_value(), undef;
|
||||
$obj = $_->new({});
|
||||
ok blessed $obj;
|
||||
is $obj->get_value(), undef;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::ENTITY;
|
||||
my $ENTITY = SOAP::WSDL::XSD::Typelib::Builtin::ENTITY->new();
|
||||
is $ENTITY->get_value(), undef;
|
||||
$ENTITY = SOAP::WSDL::XSD::Typelib::Builtin::ENTITY->new({});
|
||||
is $ENTITY->get_value(), undef;
|
||||
ok $ENTITY = SOAP::WSDL::XSD::Typelib::Builtin::ENTITY->new({ value => 127 });
|
||||
is "$ENTITY", "127", 'stringification';
|
||||
|
||||
ok $ENTITY->isa('SOAP::WSDL::XSD::Typelib::Builtin::NCName'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::ID;
|
||||
my $ID = SOAP::WSDL::XSD::Typelib::Builtin::ID->new();
|
||||
is $ID->get_value(), undef;
|
||||
$ID = SOAP::WSDL::XSD::Typelib::Builtin::ID->new({});
|
||||
is $ID->get_value(), undef;
|
||||
ok $ID = SOAP::WSDL::XSD::Typelib::Builtin::ID->new({ value => 'Test' });
|
||||
is "$ID", 'Test', 'stringification';
|
||||
|
||||
ok $ID->isa('SOAP::WSDL::XSD::Typelib::Builtin::NCName'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::IDREF;
|
||||
my $IDREF = SOAP::WSDL::XSD::Typelib::Builtin::IDREF->new();
|
||||
is $IDREF->get_value(), undef;
|
||||
$IDREF = SOAP::WSDL::XSD::Typelib::Builtin::IDREF->new({});
|
||||
is $IDREF->get_value(), undef;
|
||||
ok $IDREF = SOAP::WSDL::XSD::Typelib::Builtin::IDREF->new({ value => 127 });
|
||||
is "$IDREF", "127", 'stringification';
|
||||
|
||||
ok $IDREF->isa('SOAP::WSDL::XSD::Typelib::Builtin::NCName'), 'inheritance';
|
||||
@@ -0,0 +1,16 @@
|
||||
use Test::More tests => 8;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::IDREFS;
|
||||
my $IDREFS = SOAP::WSDL::XSD::Typelib::Builtin::IDREFS->new();
|
||||
is $IDREFS->get_value(), undef;
|
||||
$IDREFS = SOAP::WSDL::XSD::Typelib::Builtin::IDREFS->new({});
|
||||
is $IDREFS->get_value(), undef;
|
||||
ok $IDREFS = SOAP::WSDL::XSD::Typelib::Builtin::IDREFS->new({ value => [ 127 , 'Test' ] });
|
||||
is "$IDREFS", "127 Test", 'stringification';
|
||||
|
||||
ok $IDREFS = SOAP::WSDL::XSD::Typelib::Builtin::IDREFS->new({ value => 'Test' });
|
||||
is "$IDREFS", "Test", 'stringification';
|
||||
|
||||
ok $IDREFS->isa('SOAP::WSDL::XSD::Typelib::Builtin::IDREF'), 'inheritance';
|
||||
ok $IDREFS->isa('SOAP::WSDL::XSD::Typelib::Builtin::list'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NCName;
|
||||
my $NCName = SOAP::WSDL::XSD::Typelib::Builtin::NCName->new();
|
||||
is $NCName->get_value(), undef;
|
||||
$NCName = SOAP::WSDL::XSD::Typelib::Builtin::NCName->new({});
|
||||
is $NCName->get_value(), undef;
|
||||
ok $NCName = SOAP::WSDL::XSD::Typelib::Builtin::NCName->new({ value => 'Test' });
|
||||
is "$NCName", "Test", 'stringification';
|
||||
|
||||
ok $NCName->isa('SOAP::WSDL::XSD::Typelib::Builtin::Name'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::token;
|
||||
my $token = SOAP::WSDL::XSD::Typelib::Builtin::token->new();
|
||||
is $token->get_value(), undef;
|
||||
$token = SOAP::WSDL::XSD::Typelib::Builtin::token->new({});
|
||||
is $token->get_value(), undef;
|
||||
ok $token = SOAP::WSDL::XSD::Typelib::Builtin::token->new({ value => 127 });
|
||||
is "$token", "127", 'stringification';
|
||||
|
||||
ok $token->isa('SOAP::WSDL::XSD::Typelib::Builtin::normalizedString'), 'inheritance';
|
||||
@@ -0,0 +1,21 @@
|
||||
use Test::More tests => 9;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS;
|
||||
my $NMTOKENS = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS->new();
|
||||
is $NMTOKENS->get_value(), undef;
|
||||
$NMTOKENS = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS->new({});
|
||||
is $NMTOKENS->get_value(), undef;
|
||||
ok $NMTOKENS = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS->new({ value => [ 127 , 'Test' ] });
|
||||
|
||||
is "$NMTOKENS", '127 Test', 'stringification';
|
||||
|
||||
ok $NMTOKENS = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS->new({ value => 'Test' });
|
||||
is "$NMTOKENS", "Test", 'stringification';
|
||||
|
||||
$NMTOKENS = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS->new({ value => undef });
|
||||
is "$NMTOKENS", q{}, 'stringification';
|
||||
|
||||
|
||||
ok $NMTOKENS->isa('SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN'), 'inheritance';
|
||||
ok $NMTOKENS->isa('SOAP::WSDL::XSD::Typelib::Builtin::list'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NOTATION;
|
||||
my $NOTATION = SOAP::WSDL::XSD::Typelib::Builtin::NOTATION->new();
|
||||
is $NOTATION->get_value(), undef;
|
||||
$NOTATION = SOAP::WSDL::XSD::Typelib::Builtin::NOTATION->new({});
|
||||
is $NOTATION->get_value(), undef;
|
||||
ok $NOTATION = SOAP::WSDL::XSD::Typelib::Builtin::NOTATION->new({ value => 'Test' });
|
||||
is "$NOTATION", "Test", 'stringification';
|
||||
|
||||
ok $NOTATION->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::Name;
|
||||
my $Name = SOAP::WSDL::XSD::Typelib::Builtin::Name->new();
|
||||
is $Name->get_value(), undef;
|
||||
$Name = SOAP::WSDL::XSD::Typelib::Builtin::Name->new({});
|
||||
is $Name->get_value(), undef;
|
||||
ok $Name = SOAP::WSDL::XSD::Typelib::Builtin::Name->new({ value => 'xsd:Test' });
|
||||
is "$Name", "xsd:Test", 'stringification';
|
||||
|
||||
ok $Name->isa('SOAP::WSDL::XSD::Typelib::Builtin::normalizedString'), 'inheritance';
|
||||
@@ -0,0 +1,50 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 20;
|
||||
use Scalar::Util qw(blessed);
|
||||
use lib '../../../../../../lib';
|
||||
use_ok qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
|
||||
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new();
|
||||
|
||||
ok blessed $obj, 'constructor returned blessed reference';
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new({ value => 'test1' });
|
||||
|
||||
ok blessed $obj, 'constructor returned blessed reference';
|
||||
is $obj->get_value(), 'test1', 'get_value';
|
||||
|
||||
is $obj->get_xmlns(), 'http://www.w3.org/2001/XMLSchema', 'get_xmlns';
|
||||
|
||||
|
||||
is $obj->start_tag({ name => 'test' }), '<test >', 'start_tag';
|
||||
is $obj->end_tag({ name => 'test' }), '</test >', 'end_tag';
|
||||
|
||||
ok $obj->set_value('test'), 'set_value';
|
||||
is $obj->get_value(), 'test', 'get_value';
|
||||
|
||||
is "$obj", q{test}, 'serialize overloading';
|
||||
|
||||
ok ($obj)
|
||||
? pass 'boolean overloading'
|
||||
: fail 'boolean overloading';
|
||||
|
||||
ok ! $obj->set_value(undef), 'set_value with explicit undef';
|
||||
is $obj->get_value(), undef, 'get_value';
|
||||
|
||||
is "$obj", q{}, 'stringification overloading';
|
||||
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new({
|
||||
value => 'test2',
|
||||
});
|
||||
|
||||
is $obj->get_value(), 'test2', 'get_value on attr value';
|
||||
|
||||
$obj->set_value(undef);
|
||||
|
||||
is $obj->serialize({ name => 'foo' }), '<foo ></foo >'
|
||||
, 'serialize undef value with name';
|
||||
is $obj->serialize(), q{}, 'serialize undef value without name';
|
||||
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anyType'), 'inheritance';
|
||||
@@ -0,0 +1,23 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 7;
|
||||
use Scalar::Util qw(blessed);
|
||||
use lib '../../../../../../lib';
|
||||
use_ok qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
|
||||
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::anyType->new();
|
||||
|
||||
ok blessed $obj, 'constructor returned blessed reference';
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::anyType->new({
|
||||
xmlns => 'urn:Siemens.mosaic'
|
||||
});
|
||||
|
||||
ok blessed $obj, 'constructor returned blessed reference';
|
||||
|
||||
is $obj->get_xmlns(), 'http://www.w3.org/2001/XMLSchema', 'get_xmlns';
|
||||
|
||||
is $obj->start_tag({ name => 'test' }), '<test >', 'start_tag';
|
||||
is $obj->end_tag({ name => 'test' }), '</test >', 'end_tag';
|
||||
|
||||
is "$obj", q{}, 'serialize overloading';
|
||||
@@ -0,0 +1,14 @@
|
||||
use Test::More tests => 7;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::anyURI;
|
||||
my $anyURI = SOAP::WSDL::XSD::Typelib::Builtin::anyURI->new();
|
||||
is $anyURI->get_value(), undef;
|
||||
$anyURI = SOAP::WSDL::XSD::Typelib::Builtin::anyURI->new({});
|
||||
is $anyURI->get_value(), undef;
|
||||
ok $anyURI = SOAP::WSDL::XSD::Typelib::Builtin::anyURI->new({ value => 'isbn:1234567' });
|
||||
is "$anyURI", "isbn:1234567", 'stringification';
|
||||
ok $anyURI->set_value('http://example.org');
|
||||
is "$anyURI", 'http://example.org', 'stringification';
|
||||
$anyURI = SOAP::WSDL::XSD::Typelib::Builtin::anyURI->new();
|
||||
ok $anyURI->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::base64Binary;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::base64Binary->new();
|
||||
is "$obj", '', 'stringification';
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('AAAA==');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::base64Binary->new({ value => 'AAAA==' });
|
||||
is "$obj", 'AAAA==', 'stringification';
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -0,0 +1,51 @@
|
||||
use Test::More tests => 18;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::boolean;
|
||||
|
||||
my $bool;
|
||||
$bool = SOAP::WSDL::XSD::Typelib::Builtin::boolean->new();
|
||||
ok defined $bool;
|
||||
|
||||
is "$bool", '', 'serialized undef to empty string';
|
||||
|
||||
$bool = SOAP::WSDL::XSD::Typelib::Builtin::boolean->new({});
|
||||
ok defined $bool;
|
||||
|
||||
ok $bool = SOAP::WSDL::XSD::Typelib::Builtin::boolean->new({ value => 'true' });
|
||||
|
||||
is $bool * 1 , 1, 'numerification';
|
||||
ok $bool, 'boolification';
|
||||
|
||||
is "$bool", 'true', 'stringification';
|
||||
|
||||
$bool->set_value('1');
|
||||
is $bool, 'true';
|
||||
$bool ? pass 'boolification' : fail 'boolification';
|
||||
|
||||
$bool->set_value('0');
|
||||
is $bool, 'false';
|
||||
! $bool ? pass 'boolification' : fail 'boolification';
|
||||
|
||||
$bool->set_value(undef);
|
||||
is $bool, 'false';
|
||||
! $bool ? pass 'boolification' : fail 'boolification';
|
||||
|
||||
|
||||
$bool->set_value('false');
|
||||
|
||||
if ($bool) {
|
||||
fail 'boolification';
|
||||
}
|
||||
else {
|
||||
pass 'boolification';
|
||||
}
|
||||
|
||||
is "$bool", 'false', 'stringification';
|
||||
|
||||
ok $bool->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
|
||||
is $bool->serialize({ name => 'test'}), '<test >false</test >';
|
||||
|
||||
$bool->delete_value();
|
||||
is "$bool", '', 'serialized undef to empty string';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::byte;
|
||||
my $byte = SOAP::WSDL::XSD::Typelib::Builtin::byte->new();
|
||||
ok defined $byte;
|
||||
ok $byte->set_value('127');
|
||||
ok $byte = SOAP::WSDL::XSD::Typelib::Builtin::byte->new({ value => 127 });
|
||||
is $byte * 1, 127, 'numerification';
|
||||
is "$byte", "127", 'stringification';
|
||||
|
||||
ok $byte->isa('SOAP::WSDL::XSD::Typelib::Builtin::short'), 'inheritance';
|
||||
@@ -0,0 +1,74 @@
|
||||
use Test::More tests => 30;
|
||||
use strict;
|
||||
use Carp qw(cluck);
|
||||
|
||||
$SIG{__WARN__} = sub { cluck @_ };
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use Date::Format;
|
||||
use Date::Parse;
|
||||
use_ok('SOAP::WSDL::XSD::Typelib::Builtin::date');
|
||||
my $obj;
|
||||
|
||||
sub timezone {
|
||||
my @time = map { defined $_ ? $_ : 0 } strptime shift;
|
||||
my $tz = strftime('%z', @time);
|
||||
substr $tz, -2, 0, ':';
|
||||
return $tz;
|
||||
}
|
||||
|
||||
my %dates = (
|
||||
'2007/12/31' => '2007-12-31',
|
||||
'2007:08:31' => '2007-08-31',
|
||||
'30 Aug 2007' => '2007-08-30',
|
||||
);
|
||||
|
||||
my %localized_date_of = (
|
||||
'2007-12-31T00:00:00.0000000+0000' => '2007-12-31+00:00',
|
||||
'2007-12-31T00:00:00.0000000+0130' => '2007-12-31+01:30',
|
||||
'2007-12-31T00:00:00.0000000+0200' => '2007-12-31+02:00',
|
||||
'2007-12-31T00:00:00.0000000+0300' => '2007-12-31+03:00',
|
||||
'2007-12-31T00:00:00.0000000+0400' => '2007-12-31+04:00',
|
||||
'2007-12-31T00:00:00.0000000+0500' => '2007-12-31+05:00',
|
||||
'2007-12-31T00:00:00.0000000+0600' => '2007-12-31+06:00',
|
||||
'2007-12-31T00:00:00.0000000+0700' => '2007-12-31+07:00',
|
||||
'2007-12-31T00:00:00.0000000+0800' => '2007-12-31+08:00',
|
||||
'2007-12-31T00:00:00.0000000+0900' => '2007-12-31+09:00',
|
||||
'2007-12-31T00:00:00.0000000+1000' => '2007-12-31+10:00',
|
||||
'2007-12-31T00:00:00.0000000+1100' => '2007-12-31+11:00',
|
||||
'2007-12-31T00:00:00.0000000+1200' => '2007-12-31+12:00',
|
||||
'2007-12-31T00:00:00.0000000-0100' => '2007-12-31-01:00',
|
||||
'2007-12-31T00:00:00.0000000-0200' => '2007-12-31-02:00',
|
||||
'2007-12-31T00:00:00.0000000-0300' => '2007-12-31-03:00',
|
||||
'2007-12-31T00:00:00.0000000-0400' => '2007-12-31-04:00',
|
||||
'2007-12-31T00:00:00.0000000-0500' => '2007-12-31-05:00',
|
||||
'2007-12-31T00:00:00.0000000-0600' => '2007-12-31-06:00',
|
||||
'2007-12-31T00:00:00.0000000-0700' => '2007-12-31-07:00',
|
||||
'2007-12-31T00:00:00.0000000-0800' => '2007-12-31-08:00',
|
||||
'2007-12-31T00:00:00.0000000-0900' => '2007-12-31-09:00',
|
||||
'2007-12-31T00:00:00.0000000-1000' => '2007-12-31-10:00',
|
||||
'2007-12-31T00:00:00.0000000-1100' => '2007-12-31-11:00',
|
||||
'2007-12-31T00:00:00.0000000-1200' => '2007-12-31-12:00',
|
||||
|
||||
|
||||
);
|
||||
|
||||
while (my ($date, $converted) = each %localized_date_of ) {
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::date->new();
|
||||
$obj->set_value( $date );
|
||||
|
||||
is $obj->get_value() , $converted , 'conversion';
|
||||
}
|
||||
|
||||
while (my ($date, $converted) = each %dates ) {
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::date->new();
|
||||
$obj->set_value( $date );
|
||||
|
||||
is $obj->get_value() , $converted . timezone($date), 'conversion';
|
||||
}
|
||||
|
||||
$obj->set_value( '2037-12-31+12:00' );
|
||||
is $obj->get_value() , '2037-12-31+12:00', 'no conversion on match';
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use Date::Parse;
|
||||
use Date::Format;
|
||||
|
||||
sub timezone {
|
||||
my @time = strptime shift;
|
||||
my $tz = strftime('%z', @time);
|
||||
substr $tz, -2, 0, ':';
|
||||
return $tz;
|
||||
}
|
||||
|
||||
use_ok('SOAP::WSDL::XSD::Typelib::Builtin::dateTime');
|
||||
|
||||
print "# timezone is " . timezone( scalar localtime(time) ) . "\n";
|
||||
my $obj;
|
||||
my %dates = (
|
||||
'2007-12-31 12:32' => '2007-12-31T12:32:00',
|
||||
'2007-08-31 00:32' => '2007-08-31T00:32:00',
|
||||
'30 Aug 2007' => '2007-08-30T00:00:00',
|
||||
);
|
||||
|
||||
while (my ($date, $converted) = each %dates ) {
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::dateTime->new();
|
||||
$obj->set_value( $date );
|
||||
|
||||
is $obj->get_value() , $converted . timezone($date), 'conversion with timezone';
|
||||
}
|
||||
$obj->set_value('2007-12-31T00:00:00.0000000+01:00');
|
||||
@@ -0,0 +1,15 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Scalar::Util qw(blessed);
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::decimal;
|
||||
my $decimal = SOAP::WSDL::XSD::Typelib::Builtin::decimal->new();
|
||||
ok blessed $decimal;
|
||||
is $decimal->get_value(), undef;
|
||||
ok $decimal = SOAP::WSDL::XSD::Typelib::Builtin::decimal->new({ value => 127 });
|
||||
is $decimal * 1, 127, 'numerification';
|
||||
is "$decimal", "127", 'stringification';
|
||||
|
||||
ok $decimal->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
|
||||
# TODO: test range (bigint)
|
||||
@@ -0,0 +1,13 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::double;
|
||||
my $double = SOAP::WSDL::XSD::Typelib::Builtin::double->new();
|
||||
|
||||
ok $double = SOAP::WSDL::XSD::Typelib::Builtin::double->new({ value => 127.23 });
|
||||
is $double * 1, 127.23, 'numerification';
|
||||
is "$double", "127.23", 'stringification';
|
||||
|
||||
ok $double->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
|
||||
# TODO test range
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::float;
|
||||
my $float = SOAP::WSDL::XSD::Typelib::Builtin::float->new();
|
||||
ok $float = SOAP::WSDL::XSD::Typelib::Builtin::float->new({ value => 127.23 });
|
||||
is $float * 1, 127.23, 'numerification';
|
||||
is "$float", "127.23", 'stringification';
|
||||
|
||||
ok $float->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
|
||||
# TODO test range
|
||||
@@ -0,0 +1,11 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::hexBinary;
|
||||
my $hexBinary = SOAP::WSDL::XSD::Typelib::Builtin::hexBinary->new();
|
||||
is $hexBinary->get_value(), undef;
|
||||
$hexBinary = SOAP::WSDL::XSD::Typelib::Builtin::hexBinary->new({});
|
||||
is $hexBinary->get_value(), undef;
|
||||
ok $hexBinary = SOAP::WSDL::XSD::Typelib::Builtin::hexBinary->new({ value => 'a1b2c3d4' });
|
||||
is "$hexBinary", "a1b2c3d4", 'stringification';
|
||||
ok $hexBinary->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::int;
|
||||
my $int = SOAP::WSDL::XSD::Typelib::Builtin::int->new();
|
||||
ok defined $int;
|
||||
ok $int->set_value('127');
|
||||
ok $int = SOAP::WSDL::XSD::Typelib::Builtin::int->new({ value => 127 });
|
||||
is $int * 1, 127, 'numerification';
|
||||
is "$int", "127", 'stringification';
|
||||
|
||||
ok $int->isa('SOAP::WSDL::XSD::Typelib::Builtin::long'), 'inheritance';
|
||||
@@ -0,0 +1,13 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::integer;
|
||||
my $integer = SOAP::WSDL::XSD::Typelib::Builtin::integer->new();
|
||||
is $integer->get_value(), undef;
|
||||
$integer = SOAP::WSDL::XSD::Typelib::Builtin::integer->new({});
|
||||
is $integer->get_value(), undef;
|
||||
ok $integer = SOAP::WSDL::XSD::Typelib::Builtin::integer->new({ value => 127 });
|
||||
is $integer * 1, 127, 'numerification';
|
||||
is "$integer", "127", 'stringification';
|
||||
|
||||
ok $integer->isa('SOAP::WSDL::XSD::Typelib::Builtin::decimal'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::long;
|
||||
my $long = SOAP::WSDL::XSD::Typelib::Builtin::long->new();
|
||||
ok defined $long;
|
||||
ok $long->set_value('127');
|
||||
ok $long = SOAP::WSDL::XSD::Typelib::Builtin::long->new({ value => 127 });
|
||||
is $long * 1, 127, 'numerification';
|
||||
is "$long", "127", 'stringification';
|
||||
|
||||
ok $long->isa('SOAP::WSDL::XSD::Typelib::Builtin::decimal'), 'inheritance';
|
||||
@@ -0,0 +1,10 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger;
|
||||
my $negativeInteger = SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger->new();
|
||||
ok $negativeInteger = SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger->new({ value => 127 });
|
||||
is $negativeInteger * 1, 127, 'numerification';
|
||||
is "$negativeInteger", "127", 'stringification';
|
||||
|
||||
ok $negativeInteger->isa('SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger'), 'inheritance';
|
||||
@@ -0,0 +1,10 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger;
|
||||
my $nonNegativeInteger = SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger->new();
|
||||
ok $nonNegativeInteger = SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger->new({ value => 127 });
|
||||
is $nonNegativeInteger * 1, 127, 'numerification';
|
||||
is "$nonNegativeInteger", "127", 'stringification';
|
||||
|
||||
ok $nonNegativeInteger->isa('SOAP::WSDL::XSD::Typelib::Builtin::integer'), 'inheritance';
|
||||
@@ -0,0 +1,10 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger;
|
||||
my $nonPositiveInteger = SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger->new();
|
||||
ok $nonPositiveInteger = SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger->new({ value => 127 });
|
||||
is $nonPositiveInteger * 1, 127, 'numerification';
|
||||
is "$nonPositiveInteger", "127", 'stringification';
|
||||
|
||||
ok $nonPositiveInteger->isa('SOAP::WSDL::XSD::Typelib::Builtin::integer'), 'inheritance';
|
||||
@@ -0,0 +1,22 @@
|
||||
use Test::More tests => 8;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::normalizedString;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::normalizedString->new();
|
||||
is $obj->get_value(), undef;
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::normalizedString->new({});
|
||||
is $obj->get_value(), undef;
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::normalizedString->new({ value => 'Test' });
|
||||
is "$obj", 'Test', 'stringification';
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::string'), 'inheritance';
|
||||
|
||||
$obj->set_value( "&\t\"Aber\"\n\r<test>");
|
||||
is $obj->get_value() , '& "Aber" <test>';
|
||||
|
||||
is $obj, '& &qout;Aber&qout; <test>'
|
||||
, 'escape text on serialization';
|
||||
|
||||
is $obj->serialize({ name => 'test'})
|
||||
, '<test >& &qout;Aber&qout; <test></test >'
|
||||
, 'Serialization with name';
|
||||
@@ -0,0 +1,10 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger;
|
||||
my $positiveInteger = SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger->new();
|
||||
ok $positiveInteger = SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger->new({ value => 127 });
|
||||
is $positiveInteger * 1, 127, 'numerification';
|
||||
is "$positiveInteger", "127", 'stringification';
|
||||
|
||||
ok $positiveInteger->isa('SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::short;
|
||||
my $short = SOAP::WSDL::XSD::Typelib::Builtin::short->new();
|
||||
ok defined $short;
|
||||
ok $short->set_value('127');
|
||||
ok $short = SOAP::WSDL::XSD::Typelib::Builtin::short->new({ value => 127 });
|
||||
is $short * 1, 127, 'numerification';
|
||||
is "$short", "127", 'stringification';
|
||||
|
||||
ok $short->isa('SOAP::WSDL::XSD::Typelib::Builtin::int'), 'inheritance';
|
||||
@@ -0,0 +1,23 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
|
||||
use_ok('SOAP::WSDL::XSD::Typelib::Builtin::string');
|
||||
my $obj;
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::string->new({ value => '& "Aber" <test>'});
|
||||
|
||||
is $obj, '& &qout;Aber&qout; <test>'
|
||||
, 'escape text on serialization';
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::string->new();
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::string->new({});
|
||||
$obj->set_value( '& "Aber" <test>');
|
||||
is $obj->get_value() , '& "Aber" <test>';
|
||||
|
||||
is $obj, '& &qout;Aber&qout; <test>'
|
||||
, 'escape text on serialization';
|
||||
|
||||
is $obj->serialize({ name => 'test'})
|
||||
, '<test >& &qout;Aber&qout; <test></test >'
|
||||
, 'Serialization with name';
|
||||
@@ -0,0 +1,25 @@
|
||||
use Test::More tests => 3;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
|
||||
use_ok('SOAP::WSDL::XSD::Typelib::Builtin::time');
|
||||
my $obj;
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::time->new();
|
||||
|
||||
$obj->set_value( '12:23:03' );
|
||||
is $obj->get_value() , '12:23:03+01:00', 'conversion';
|
||||
|
||||
$obj->set_value( '12:23:03.12345+01:00' ), ;
|
||||
is $obj->get_value() , '12:23:03.12345+01:00', 'no conversion';
|
||||
|
||||
|
||||
|
||||
# exit;
|
||||
|
||||
#~ use Benchmark;
|
||||
#~ timethese 10000, {
|
||||
#~ xml => sub { $obj->set_value('2037-12-31T00:00:00.0000000+01:00') },
|
||||
#~ string => sub { $obj->set_value('2037-12-31') },
|
||||
#~ }
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN;
|
||||
my $NMTOKEN = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN->new();
|
||||
is $NMTOKEN->get_value(), undef;
|
||||
$NMTOKEN = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN->new({});
|
||||
is $NMTOKEN->get_value(), undef;
|
||||
ok $NMTOKEN = SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN->new({ value => 127 });
|
||||
is "$NMTOKEN", "127", 'stringification';
|
||||
|
||||
ok $NMTOKEN->isa('SOAP::WSDL::XSD::Typelib::Builtin::token'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte;
|
||||
my $unsignedByte = SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte->new();
|
||||
ok defined $unsignedByte;
|
||||
ok $unsignedByte->set_value('127');
|
||||
ok $unsignedByte = SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte->new({ value => 127 });
|
||||
is $unsignedByte * 1, 127, 'numerification';
|
||||
is "$unsignedByte", "127", 'stringification';
|
||||
|
||||
ok $unsignedByte->isa('SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt;
|
||||
my $unsignedInt = SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt->new();
|
||||
ok defined $unsignedInt;
|
||||
ok $unsignedInt->set_value('127');
|
||||
ok $unsignedInt = SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt->new({ value => 127 });
|
||||
is $unsignedInt * 1, 127, 'numerification';
|
||||
is "$unsignedInt", "127", 'stringification';
|
||||
|
||||
ok $unsignedInt->isa('SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong;
|
||||
my $unsignedLong = SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong->new();
|
||||
ok defined $unsignedLong;
|
||||
ok $unsignedLong->set_value('127');
|
||||
ok $unsignedLong = SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong->new({ value => 127 });
|
||||
is $unsignedLong * 1, 127, 'numerification';
|
||||
is "$unsignedLong", "127", 'stringification';
|
||||
|
||||
ok $unsignedLong->isa('SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger'), 'inheritance';
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 6;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort;
|
||||
my $unsignedShort = SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort->new();
|
||||
ok defined $unsignedShort;
|
||||
ok $unsignedShort->set_value('127');
|
||||
ok $unsignedShort = SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort->new({ value => 127 });
|
||||
is $unsignedShort * 1, 127, 'numerification';
|
||||
is "$unsignedShort", "127", 'stringification';
|
||||
|
||||
ok $unsignedShort->isa('SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger'), 'inheritance';
|
||||
Reference in New Issue
Block a user