use Test::More tests => 13;
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{123});
is $data->{a}->{b}->[0], 1;
is $data->{a}->{b}->[1], 2;
is $data->{a}->{c}, 3;
# need 3 elements in array to trigger all branches...
# need ignorable whitespace to trigger removal...
ok $data = $deserializer->deserialize(
q{
1
2
3
});
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');
my $fault = $deserializer->generate_fault({
message => 'Foo',
code => 'Bar',
role => 'mine',
});
is $fault->get_faultstring(), 'Foo';
$fault = $deserializer->generate_fault({});
is $fault->get_faultstring(), 'Unknown error';