import SOAP-WSDL 2.00.04 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 2.00.04 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.04.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
e58a27e2ad
commit
c3e3d1908e
+15
-14
@@ -1,6 +1,6 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 12;
|
||||
use Test::More tests => 13;
|
||||
use File::Spec;
|
||||
use File::Basename qw(dirname);
|
||||
use_ok qw(SOAP::WSDL);
|
||||
@@ -30,7 +30,7 @@ like $@, qr{ unable \s to \s extract \s schema \s from \s WSDL }x, 'empty defini
|
||||
$soap = SOAP::WSDL->new();
|
||||
$soap->wsdl( "file://$path/WSDL_NO_MESSAGE.wsdl");
|
||||
eval { $soap->wsdlinit() };
|
||||
eval { $soap->call('NewOperation', 'value'); };
|
||||
# eval { $soap->call('NewOperation', 'value'); };
|
||||
like $@, qr{ Message \s \{http://www.example.org/WSDL_1/\}NewOperationRequest \s not \s found }x, 'empty definition';
|
||||
|
||||
$soap = SOAP::WSDL->new();
|
||||
@@ -41,6 +41,9 @@ $soap->no_dispatch(1);
|
||||
like $soap->call('NewOperation', NewOperation => { in => 'test' }), qr{ <in>test</in> }x;
|
||||
like $soap->call('NewOperation', { NewOperation => { in => 'test' } }), qr{ <in>test</in> }x;
|
||||
|
||||
$soap->set_proxy('http://foo.de', timeout => 256);
|
||||
is $soap->get_client->get_transport()->timeout(), 256, 'timeout';
|
||||
|
||||
$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_1.wsdl",
|
||||
servicename => 'NewService',
|
||||
portname => 'NewPort',
|
||||
@@ -52,22 +55,20 @@ like $soap->call('NewOperation', NewOperation => { in => 'test' }), qr{ <in>test
|
||||
like $soap->call('NewOperation', { NewOperation => { in => 'test' } }), qr{ <in>test</in> }x;
|
||||
|
||||
|
||||
$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_BINDING.wsdl",
|
||||
servicename => 'NewService',
|
||||
portname => 'NewPort',
|
||||
no_dispatch => 1,
|
||||
);
|
||||
eval {
|
||||
$soap->call('NewOperation', { NewOperation => { in => 'test' } });
|
||||
$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_BINDING.wsdl",
|
||||
servicename => 'NewService',
|
||||
portname => 'NewPort',
|
||||
no_dispatch => 1,
|
||||
);
|
||||
};
|
||||
like $@, qr{ no \s binding }x, 'No binding error';
|
||||
|
||||
$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_PORTTYPE.wsdl",
|
||||
servicename => 'NewService',
|
||||
portname => 'NewPort',
|
||||
no_dispatch => 1,
|
||||
);
|
||||
eval {
|
||||
$soap->call('NewOperation', { NewOperation => { in => 'test' } });
|
||||
$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_PORTTYPE.wsdl",
|
||||
servicename => 'NewService',
|
||||
portname => 'NewPort',
|
||||
no_dispatch => 1,
|
||||
);
|
||||
};
|
||||
like $@, qr{ cannot \s find \s portType }x, 'No porttype error';
|
||||
|
||||
@@ -22,7 +22,7 @@ my $proxy = 'http://127.0.0.1/testPort';
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $url . '/../../acceptance/wsdl/02_port.wsdl'
|
||||
) );
|
||||
|
||||
ok $soap->wsdlinit( url => $proxy );
|
||||
ok $soap->servicename('testService');
|
||||
ok $soap->portname('testPort');
|
||||
|
||||
ok $soap->wsdlinit( url => $proxy );
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
use Test::More tests => 3;
|
||||
use File::Basename qw(dirname);
|
||||
use File::Spec;
|
||||
use File::Path;
|
||||
use diagnostics;
|
||||
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_uri(
|
||||
"file://$path/../../../../../acceptance/wsdl/WSDLParser-import.wsdl"
|
||||
);
|
||||
|
||||
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 $@;
|
||||
}
|
||||
|
||||
rmtree "$path/testlib";
|
||||
@@ -1,4 +1,4 @@
|
||||
use Test::More tests => 61;
|
||||
use Test::More tests => 68;
|
||||
use File::Basename qw(dirname);
|
||||
use File::Spec;
|
||||
use File::Path;
|
||||
@@ -12,12 +12,34 @@ use SOAP::WSDL::Expat::WSDLParser;
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
|
||||
my $definitions = $parser->parse_file(
|
||||
"$path/../../../acceptance/wsdl/generator_test.wsdl"
|
||||
);
|
||||
#
|
||||
# the next test is a bit odd: on parsing the WSDL, we test whether the
|
||||
# parser can cope with unknown (anyAttribute) attributes.
|
||||
# The default is to issue a warning.
|
||||
#
|
||||
# But if Test::Warn isn't there, we have to skip the test, but parse the
|
||||
# file, too, so in this case we skip a zero-length block, set no warnings
|
||||
# and parse the WSDL...
|
||||
#
|
||||
|
||||
#my $type = $definitions->first_types()->find_type('urn:Test', 'elementRefComplexType');
|
||||
#die $type->get_element()->[0]->_DUMP;
|
||||
my $definitions;
|
||||
if (eval "require Test::Warn; 1") {
|
||||
Test::Warn::warning_is( sub {
|
||||
$definitions = $parser->parse_file(
|
||||
"$path/../../../acceptance/wsdl/generator_test.wsdl"
|
||||
);
|
||||
}, 'found unrecognised attribute {http://foo.bar}Action (ignored)'
|
||||
, 'warning on unrecognized attribute');
|
||||
}
|
||||
else {
|
||||
SKIP: {
|
||||
skip "cannot test warnings without Test::Warn", 1
|
||||
}
|
||||
no warnings;
|
||||
$definitions = $parser->parse_file(
|
||||
"$path/../../../acceptance/wsdl/generator_test.wsdl"
|
||||
);
|
||||
}
|
||||
|
||||
my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
||||
definitions => $definitions,
|
||||
@@ -96,7 +118,6 @@ for (1..2) {
|
||||
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)';
|
||||
@@ -191,6 +212,18 @@ is $obj->serialize({ name => 'baz'}), q{<baz testAttr="bar">foo</baz>};
|
||||
use_ok qw(MyAttributes::TestAttribute);
|
||||
ok $obj = MyAttributes::TestAttribute->new({ value => 'foo' });
|
||||
|
||||
use_ok qw(MyElements::testRef);
|
||||
ok $obj = MyElements::testRef->new({ testElementString => 'foo'});
|
||||
is q{<testRef xmlns="urn:Test"><testElementString>foo</testElementString></testRef>}
|
||||
, $obj->serialize_qualified()
|
||||
, 'serialize element ref';
|
||||
|
||||
use_ok qw(MyElements::testAtomicRef);
|
||||
ok $obj = MyElements::testAtomicRef->new({ in => 'foo'});
|
||||
is q{<testAtomicRef xmlns="urn:Test"><in>foo</in></testAtomicRef>}
|
||||
, $obj->serialize_qualified()
|
||||
, 'serialize element with atomic complexType / all with element ref';
|
||||
|
||||
|
||||
SKIP: {
|
||||
eval { require Test::Pod::Content; }
|
||||
|
||||
@@ -25,17 +25,39 @@ my %DIR_CONFIG_OF = (
|
||||
|
||||
);
|
||||
|
||||
|
||||
# Ouch, testing mod_perl without mod_perl is pain in the arse.
|
||||
#
|
||||
# This is what we have to mock
|
||||
#
|
||||
#use Apache2::RequestIO (); # $r->read()
|
||||
#use Apache2::RequestRec (); # $r->headers_in
|
||||
#use Apache2::RequestUtil(); # $r->dir_config()
|
||||
#use APR::Table (); # $r->headers_in->get()
|
||||
#use Apache2::Log (); # $r->log
|
||||
#use Apache2::Const -compile => qw(
|
||||
# OK
|
||||
# SERVER_ERROR
|
||||
# HTTP_LENGTH_REQUIRED
|
||||
# );
|
||||
|
||||
my $mock = Test::MockObject->new();
|
||||
$mock->fake_module('APR::Table');
|
||||
$mock->fake_module('Apache2::Log' =>
|
||||
new => sub { return bless {}, 'Apache2::Log' },
|
||||
error => sub { shift; push @ERROR_FROM, @_ },
|
||||
warn => sub { shift; push @ERROR_FROM, @_ },
|
||||
$mock->fake_module('Apache2::Const' =>
|
||||
OK => sub { 1 },
|
||||
SERVER_ERROR => sub { 500 },
|
||||
HTTP_LENGTH_REQUIRED => sub { 411 },
|
||||
import => sub {},
|
||||
);
|
||||
$mock->fake_module('Apache2::Headers' =>
|
||||
new => sub { my $class = shift; return bless { @_ }, $class },
|
||||
get => sub { return $_[0]->{ $_[1] } },
|
||||
);
|
||||
$mock->fake_module('Apache2::Log' =>
|
||||
new => sub { return bless {}, 'Apache2::Log' },
|
||||
error => sub { shift; push @ERROR_FROM, @_ },
|
||||
warn => sub { shift; push @ERROR_FROM, @_ },
|
||||
);
|
||||
$mock->fake_module('Apache2::RequestIO');
|
||||
$mock->fake_module('Apache2::RequestRec' =>
|
||||
new => sub { return bless {}, 'Apache2::RequestRec' },
|
||||
log => sub { return Apache2::Log->new() },
|
||||
@@ -51,7 +73,8 @@ $mock->fake_module('Apache2::RequestRec' =>
|
||||
content_type => sub {},
|
||||
'print' => sub { shift; $RESPONSE .= join(q{}, @_) },
|
||||
);
|
||||
|
||||
$mock->fake_module('Apache2::RequestUtil');
|
||||
$mock->fake_module('APR::Table');
|
||||
|
||||
use_ok qw(SOAP::WSDL::Server::Mod_Perl2);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 1; #qw(no_plan);
|
||||
use Test::More tests => 2; #qw(no_plan);
|
||||
|
||||
use_ok qw(SOAP::WSDL::XSD::AttributeGroup);
|
||||
|
||||
ok my $group = SOAP::WSDL::XSD::AttributeGroup->new();
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
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,10 @@
|
||||
use Test::More tests => 4;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::QName;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::QName->new();
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('wsdl:foo');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::QName->new({ value => 'wsdl:foo' });
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -1,7 +1,8 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 24;
|
||||
use Test::More tests => 26;
|
||||
use Scalar::Util qw(blessed);
|
||||
use Storable;
|
||||
use lib '../../../../../../lib';
|
||||
use_ok qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
|
||||
|
||||
@@ -11,8 +12,7 @@ my $id = ${ $obj };
|
||||
undef $obj;
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new();
|
||||
|
||||
is ${ $obj }, $id;
|
||||
is ${ $obj }, $id, 'object cache';
|
||||
|
||||
ok blessed $obj, 'constructor returned blessed reference';
|
||||
|
||||
@@ -30,6 +30,12 @@ is $obj->end_tag({ name => 'test' }), '</test>', 'end_tag';
|
||||
ok $obj->set_value('test'), 'set_value';
|
||||
is $obj->get_value(), 'test', 'get_value';
|
||||
|
||||
is Storable::thaw(Storable::freeze($obj))->get_value, $obj->get_value(),
|
||||
'frozen/thawed object keeps value';
|
||||
|
||||
is Storable::thaw(Storable::freeze($obj))->serialize, $obj->serialize(),
|
||||
'frozen/thawed object serialize is same as original (overload works)';
|
||||
|
||||
ok ! $obj->attr(), 'attr';
|
||||
|
||||
is "$obj", q{test}, 'stringification overloading';
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::duration;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::duration->new();
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('27');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::duration->new({ value => 'P1347Y'});
|
||||
|
||||
is "$obj", 'P1347Y', 'stringification';
|
||||
|
||||
ok $obj->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::gDay;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gDay->new();
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('27');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gDay->new({ value => 27 });
|
||||
is $obj * 1, 27, 'numerification';
|
||||
is "$obj", "27", 'stringification';
|
||||
|
||||
ok $obj->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::gMonth;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gMonth->new();
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('12');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gMonth->new({ value => 12 });
|
||||
is $obj * 1, 12, 'numerification';
|
||||
is "$obj", "12", 'stringification';
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -0,0 +1,11 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay;
|
||||
my $gMonthDay = SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay->new();
|
||||
ok defined $gMonthDay;
|
||||
ok $gMonthDay->set_value('12-27');
|
||||
ok $gMonthDay = SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay->new({ value => '12-27' });
|
||||
is "$gMonthDay", "12-27", 'stringification';
|
||||
|
||||
ok $gMonthDay->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::gYear;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYear->new();
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('1271');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYear->new({ value => 1271 });
|
||||
is $obj * 1, 1271, 'numerification';
|
||||
is "$obj", "1271", 'stringification';
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -0,0 +1,11 @@
|
||||
use Test::More tests => 5;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth;
|
||||
my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth->new();
|
||||
ok defined $obj;
|
||||
ok $obj->set_value('1271');
|
||||
ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth->new({ value => '1271-12' });
|
||||
is "$obj", "1271-12", 'stringification';
|
||||
|
||||
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance';
|
||||
@@ -337,8 +337,12 @@ ok ! UNIVERSAL::can('MyType', 'set_FOO'), 'UNIVERSAL::can("MyTypes", "set_FOO")'
|
||||
eval { MyType->new({ FOO => 42 }) };
|
||||
like $@, qr{unknown \s field \s}xm, 'error passing unknown field to constructor';
|
||||
|
||||
eval { SOAP::WSDL::XSD::Typelib::ComplexType::AUTOMETHOD() };
|
||||
like $@, qr{Cannot \s call}xm;
|
||||
eval {
|
||||
# catch warning -
|
||||
local $SIG{__WARN__} = sub {};
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType::AUTOMETHOD()
|
||||
};
|
||||
like $@, qr{Cannot \s call}xm, 'error calling AUTOMETHOD as function';
|
||||
|
||||
eval { SOAP::WSDL::XSD::Typelib::ComplexType->_factory([], { test => {} }, {}) };
|
||||
like $@, qr{ No \s class \s given \s for \s }xms;
|
||||
|
||||
Reference in New Issue
Block a user