diff options
author | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-18 16:38:54 +0100 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-18 16:38:54 +0100 |
commit | 521c79b58c41d08ca6d4db39b877d069867fb62d (patch) | |
tree | 0300019b0a13a81159381b1319f9698a409e4eb7 /t | |
parent | inheritance (diff) | |
download | Tree-Transform-XSLTish-521c79b58c41d08ca6d4db39b877d069867fb62d.tar.gz Tree-Transform-XSLTish-521c79b58c41d08ca6d4db39b877d069867fb62d.tar.bz2 Tree-Transform-XSLTish-521c79b58c41d08ca6d4db39b877d069867fb62d.zip |
call by name
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)]; +} |