diff options
Diffstat (limited to 't')
-rw-r--r-- | t/03-byname.t | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/t/03-byname.t b/t/03-byname.t new file mode 100644 index 0000000..8b67b65 --- /dev/null +++ b/t/03-byname.t @@ -0,0 +1,35 @@ +#!perl +package NameTransform;{ + use Tree::Transform; + use strict; + use warnings; + + default_rules; + + tree_rule match => 'coso3', action => sub { + return $_[0]->call_rule('munge'); + }; + + tree_rule name => 'munge', action => sub { + return 'munged-'.$_[0]->it->name; + }; + +} + +package main; +use Test::Most qw(no_plan die); +use strict; +use warnings; +use Tree::DAG_Node::XPath; + +sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] } + +my $tree=Tree::DAG_Node::XPath->new(); +$tree->name('base'); +$tree->new_daughter->name("coso$_") for 1..5; + +{ +my $trans=NameTransform->new(); +my @results=$trans->transform($tree); +is_deeply \@results,[qw(munged-coso3)]; +} |