File: Hash.t

package info (click to toggle)
libsoap-wsdl-perl 3.003-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,860 kB
  • sloc: perl: 8,431; xml: 1,769; java: 19; makefile: 15
file content (39 lines) | stat: -rw-r--r-- 1,071 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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{<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;

# need 3 elements in array to trigger all branches...
# need ignorable whitespace to trigger removal...
ok $data = $deserializer->deserialize(
q{<a>
    <b><c>1</c></b>
    <b><c>2</c></b>
    <b><c>3</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');

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';