#!/bin/env perl BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; unshift @INC, '../lib' if -d '../lib'; } } use strict; use Test; BEGIN { plan tests => 8 } use XMLRPC::Lite; my($a, $s, $r, $serialized, $deserialized); { print "XML-RPC deserialization test(s)...\n"; $deserialized = XMLRPC::Deserializer->deserialize(' SOAP.Lite.Bug.Report ThisWorks ')->root; ok($deserialized->{params}->[0]->{This} eq 'Works'); $serialized = XMLRPC::Serializer->serialize({param1 => 'value1', param2 => undef, param3 => 0}); ok($serialized =~ m!param2!); ok($serialized =~ m!param30!); $deserialized = XMLRPC::Deserializer->deserialize($serialized)->root; ok($deserialized->{param2} eq ''); ok($deserialized->{param3} == 0); $serialized = XMLRPC::Serializer->method(a => {param1 => 'value1', param2 => undef, param3 => 'value3'}); ok($serialized =~ m!a(param1value1|param2|param3value3){3}!); $serialized = XMLRPC::Serializer->method(a => {param1 => 'value1'}); ok($serialized eq 'aparam1value1'); eval { XMLRPC::Serializer->serialize(XMLRPC::Data->type(base63 => 1)) }; ok($@ =~ /unsupported datatype/); }