diff options
author | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-20 15:13:59 +0100 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-20 15:13:59 +0100 |
commit | 92f310bf8712f12dbc3717b2529df4694a073310 (patch) | |
tree | 0fb10a2e6bd7a3919395a6b66a4b6a883e6bdf14 /t/05-html-tree.t | |
parent | renaming merge (diff) | |
download | Tree-Transform-XSLTish-92f310bf8712f12dbc3717b2529df4694a073310.tar.gz Tree-Transform-XSLTish-92f310bf8712f12dbc3717b2529df4694a073310.tar.bz2 Tree-Transform-XSLTish-92f310bf8712f12dbc3717b2529df4694a073310.zip |
it's now possible to change the XPath engine for each transformer
added a test that uses XML::XPathEngine and HTML::TreeBuilder::XPath
Diffstat (limited to 't/05-html-tree.t')
-rw-r--r-- | t/05-html-tree.t | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/t/05-html-tree.t b/t/05-html-tree.t new file mode 100644 index 0000000..a562aba --- /dev/null +++ b/t/05-html-tree.t @@ -0,0 +1,38 @@ +#!perl +package HtmlTransform;{ + use Tree::Transform::XSLTish; + use strict; + use warnings; + + default_rules; + + tree_rule match => 'img[@alt="pick"]', action => sub { + return $_[0]->it->findvalue('@src'); + }; + +} + +package main; +use Test::Most qw(no_plan die); +use strict; +use warnings; +use HTML::TreeBuilder::XPath; + +sub HTML::TreeBuilder::XPath::Root::getRootNode { return $_[0] } + +my $tree=HTML::TreeBuilder::XPath->new(); +$tree->parse(<<'HTML');$tree->eof; +<html> + <body> + <p>test</p> + <img src="nothing" /> + <img src="this one" alt="pick" /> + </body> +</html> +HTML + +{ +my $trans=HtmlTransform->new(engine=>XML::XPathEngine->new()); +my @results=$trans->transform($tree); +is_deeply \@results,['this one'],'HTML example'; +} |