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." ); }