# ---------------------------------------------------------------- use strict; use Test::More; # ---------------------------------------------------------------- { plan tests => 14; use_ok('XML::TreePP'); &test_elem_class( force_array => [qw( six )], elem_class => 'Element' ); } # ---------------------------------------------------------------- sub test_elem_class { my $tpp = XML::TreePP->new(@_); my $xml = <<"EOT"; 1 2 4 5 5 7 8 9 EOT my $tree = $tpp->parse( $xml ); is( ref $tree, 'Element', '/root' ); is( ref $tree->{root}, 'Element::root', '/root' ); is( ref $tree->{root}->{two}, 'Element::two', '/root/two' ); is( ref $tree->{root}->{three}, 'Element::three', '/root/three' ); is( ref $tree->{root}->{three}->{five}, 'Element::five', '/root/three/five' ); is( ref $tree->{root}->{six}, 'ARRAY', '/root/six (ARRAY)' ); is( ref $tree->{root}->{six}->[0], 'Element::six', '/root/six' ); is( ref $tree->{root}->{six}->[0]->{seven}, 'Element::seven', '/root/six/seven' ); is( ref $tree->{root}->{eight}, 'ARRAY', '/root/eight (ARRAY)' ); is( ref $tree->{root}->{eight}->[1], 'Element::eight', '/root/eight' ); # 2007/08/07 added is( ref $tree->{root}->{foo}, 'Element::foo', '/root/foo' ); is( ref $tree->{root}->{foo}->{bar}, 'ARRAY', '/root/foo/bar (ARRAY)' ); is( ref $tree->{root}->{foo}->{bar}->[0], 'Element::bar', '/root/foo/bar' ); } # ---------------------------------------------------------------- ;1; # ----------------------------------------------------------------