Data-asXML
view release on metacpan or search on metacpan
t/01_Data-asXML.t view on Meta::CPAN
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
#use Test::More 'no_plan';
use Test::More tests => 62;
use Test::Differences;
use Test::Exception;
binmode(Test::More->builder->$_ => q(encoding(:UTF-8))) for qw(output failure_output todo_output);
BEGIN {
use_ok ( 'Data::asXML' ) or exit;
}
exit main();
sub main {
test_make_relative_xpath();
test_href_key();
my @test_conversions = (
# simple
['123','<VALUE>123</VALUE>','numeric scalar'],
['šĞťľžô', '<VALUE>šĞťľžô</VALUE>', 'utf-8 scalar'],
['è¿ªææ¯', '<VALUE>è¿ªææ¯</VALUE>', 'another utf-8 scalar'],
['Ãsterreich', '<VALUE>Ãsterreich</VALUE>', 'utf-8 Austria'],
[undef, '<VALUE type="undef"/>', 'undef'],
['','<VALUE></VALUE>','empty string'],
# array
[
[ 'a', 'b', 1, 2 ],
'<ARRAY>'."\n".
' <VALUE>a</VALUE>'."\n".
' <VALUE>b</VALUE>'."\n".
' <VALUE>1</VALUE>'."\n".
' <VALUE>2</VALUE>'."\n".
'</ARRAY>',
'simple array',
],
# hash
[
{ 'a' => { 'b' => 'c' } },
'<HASH>'."\n".
' <KEY name="a">'."\n".
' <HASH>'."\n".
' <KEY name="b">'."\n".
' <VALUE>c</VALUE>'."\n".
' </KEY>'."\n".
' </HASH>'."\n".
' </KEY>'."\n".
'</HASH>',
'simple hash',
],
# complex data
[
{
'that' => {
'is' => [
'nested',
'lot',
[ 'of', { 'time' => 's' } ],
{ 'ss' => '...' }
( run in 1.090 second using v1.01-cache-2.11-cpan-d8267643d1d )