6
# NB we have use utf8 here, but the source should be 7bit clean
7
# however I need the utf8::is_utf8 and utf8::valid names which
8
# are no longer exposed without the use line.
12
$Test::Harness::verbose=1;
13
use Test::More qw(no_plan);
27
# build XML string with UTF8 values
28
my $xmldata = "<data>\n";
29
foreach ( keys %{$data} ) {
31
$xmldata .= $data->{$_};
32
$xmldata .= "</$_>\n";
34
$xmldata .= "</data>\n";
36
# parse the provided XML
37
my $obj = new XML::Bare( text => $xmldata );
38
my $root = $obj->parse;
40
# convert back to XML from parse
42
my $roundtrip = $obj->xml($root);
44
## this isn't valid as order/spacing not preserved
45
is( $roundtrip, $xmldata, 'Round trip XML identical' );
47
while ( my ( $name, $char ) = each %{$data} ) {
48
my $str = $root->{data}{$name}{value};
49
ok( utf8::is_utf8($str), "Character $name is correct encoding" )
50
if ( utf8::is_utf8($char) );
51
ok( utf8::valid($str), "Character $name is Valid" );
52
ok( ( length($str) == 1 ), "String returned for $name is 1 char long" );
54
is( $str, $char, "Character $name OK" );
b'\\ No newline at end of file'