# ---------------------------------------------------------------- use strict; use Test::More tests => 9; BEGIN { use_ok('XML::TreePP') }; # ---------------------------------------------------------------- my $tpp = XML::TreePP->new(); my $space0 = ' '; my $space1 = ' '; my $entref0 = '&quot;&apos;&lt;&gt;&amp;'; my $entref1 = '"'<>&'; my $charref0 = "\x21\x22"; my $charref1 = '!"'; my $invalid0 = '&#32&#x20&#foo;&#ZZ&#&32;&x20;&bar'; my $invalid1 = ' &#foo;&#ZZ&#&32;&x20;&bar'; my $tree = { root => { space => $space1, entref => $entref1, charref => $charref1, invalid => $invalid1, }, }; my $write = $tpp->write( $tree ); my $space2 = ( $write =~ m#(.*)# )[0]; # through is( $space2, $space1, 'write space' ); my $entref2 = ( $write =~ m#(.*)# )[0]; # escaped is( $entref2, $entref0, 'write entref' ); my $charref2 = ( $write =~ m#(.*)# )[0]; # through is( $charref2, $charref1, 'write charref' ); my $invalid2 = ( $write =~ m#(.*)# )[0]; # escaped is( $invalid2, $invalid0, 'write invalid' ); my $parse = $tpp->parse( $write ); is( $parse->{root}->{space}, $space0, 'write space' ); # unescaped is( $parse->{root}->{entref}, $entref1, 'write entref' ); # unescaped is( $parse->{root}->{charref}, $charref0, 'write charref' ); # unescaped is( $parse->{root}->{invalid}, $invalid1, 'write invalid' ); # ---------------------------------------------------------------- ;1; # ----------------------------------------------------------------