/XML-TreePP/t/07_attr_prefix.t
http://xml-treepp.googlecode.com/ · Raku · 33 lines · 23 code · 6 blank · 4 comment · 1 complexity · eafcf201497ba90553810204fd21ea93 MD5 · raw file
- # ----------------------------------------------------------------
- use strict;
- use Test::More tests => 15;
- BEGIN { use_ok('XML::TreePP') };
- # ----------------------------------------------------------------
- my $source = '<root><foo bar="hoge" /></root>';
- my $tpp = XML::TreePP->new();
- my $tree1 = $tpp->parse( $source );
- is( $tree1->{root}->{foo}->{'-bar'}, 'hoge', "parse: default" );
- my $test = $source;
- $test =~ s/\s+//sg;
- foreach my $prefix ( '-', '@', '__', '?}{][)(', '$*@^%+&', '0' ) {
- my $vprefix = defined $prefix ? ( length($prefix) ? $prefix : '""' ) : 'undef';
- $tpp->set( attr_prefix => $prefix );
- my $tree = $tpp->parse( $source );
- is( $tree->{root}->{foo}->{$prefix.'bar'}, 'hoge', "parse: $vprefix" );
- my $back = $tpp->write( $tree );
- $back =~ s/\s+//sg;
- $back =~ s/<\?.*?\?>//s;
- is( $test, $back, "write: $vprefix" );
- }
- $tpp->set( "attr_prefix" ); # remove attr_prefix
- my $tree2 = $tpp->parse( $source );
- is( $tree2->{root}->{foo}->{'-bar'}, 'hoge', "parse: default (again)" );
- # ----------------------------------------------------------------
- ;1;
- # ----------------------------------------------------------------