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.
24
# build XML string with UTF8 values
25
my $xmldata = "<data>\n";
26
foreach ( keys %{$data} ) {
27
$xmldata .= " <$_ char=\"" . $data->{$_} . "\" />\n";
29
$xmldata .= "</data>\n";
31
# parse the provided XML
32
my $obj = new XML::Bare( text => $xmldata );
33
my $root = $obj->parse;
35
# convert back to XML from parse
36
my $roundtrip = $obj->xml($root);
38
## this isn't valid as order/spacing not preserved
39
is( $roundtrip, $xmldata, 'Round trip XML identical' );
41
while ( my ( $name, $char ) = each %{$data} ) {
42
my $str = $root->{data}{$name}{char}{value};
43
ok( $root->{data}{$name}{char}{_att}, "$name has char attribute" );
44
ok( utf8::is_utf8($str), "Character $name is correct encoding" )
45
if ( utf8::is_utf8($char) );
46
ok( utf8::valid($str), "Character $name is Valid" );
47
ok( ( length($str) == 1 ), "String returned for $name is 1 char long" );
49
is( $str, $char, "Character $name OK" );
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.
11
use Test::More qw(no_plan);
24
# build XML string with UTF8 values
25
my $xmldata = "<data>\n";
26
foreach ( keys %{$data} ) {
27
$xmldata .= " <$_ char=\"" . $data->{$_} . "\" />\n";
29
$xmldata .= "</data>\n";
31
# parse the provided XML
32
my $obj = new XML::Bare( text => $xmldata );
33
my $root = $obj->parse;
35
# convert back to XML from parse
36
my $roundtrip = $obj->xml($root);
38
## this isn't valid as order/spacing not preserved
39
is( $roundtrip, $xmldata, 'Round trip XML identical' );
41
while ( my ( $name, $char ) = each %{$data} ) {
42
my $str = $root->{data}{$name}{char}{value};
43
ok( $root->{data}{$name}{char}{_att}, "$name has char attribute" );
44
ok( utf8::is_utf8($str), "Character $name is correct encoding" )
45
if ( utf8::is_utf8($char) );
46
ok( utf8::valid($str), "Character $name is Valid" );
47
ok( ( length($str) == 1 ), "String returned for $name is 1 char long" );
49
is( $str, $char, "Character $name OK" );
b'\\ No newline at end of file'