use Test::More tests => 45;
use strict;
use warnings;
use Data::Plist::XMLWriter;
my $out;
# Dict
one_way(
{ "kitteh" => "Angleton" }, '
kitteh
Angleton
'
);
# Array
one_way(
[ "Cthulhu", 42, "a" ], '
Cthulhu
42
a
'
);
# UID
preserialize(
[ UID => 1 ], '
CF$UID
1
'
);
# Miscs
preserialize(
[ false => 0 ], '
'
);
preserialize(
[ true => 1 ], '
'
);
preserialize(
[ fill => 15 ], '
'
);
preserialize(
[ null => 0 ], '
'
);
# Data
preserialize(
[ data => "stu\x00ff" ], '
c3R1AGZm
'
);
# Not one of the prescribes structures
preserialize(
[ random => 17 ], '
'
);
sub one_way {
my $write = Data::Plist::XMLWriter->new( serialize => 1 );
test( $write, @_ );
}
sub preserialize {
my $write = Data::Plist::XMLWriter->new( serialize => 0 );
test( $write, @_ );
}
sub test {
my ( $write, $input, $output ) = @_;
ok( $write, "Created XML writer." );
isa_ok( $write, "Data::Plist::XMLWriter" );
$out = $write->write($input);
ok( $out, "Created xml." );
is( "$@", '' );
is( $out, $output, "XML output is correct." );
}