diff options
Diffstat (limited to 't/06-libxml.t')
-rw-r--r-- | t/06-libxml.t | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/t/06-libxml.t b/t/06-libxml.t new file mode 100644 index 0000000..2377738 --- /dev/null +++ b/t/06-libxml.t @@ -0,0 +1,37 @@ +#!perl +package XmlTransform;{ + 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 'die'; +use strict; +use warnings; +eval 'use XML::LibXML;use XML::LibXML::XPathContext;'; +plan skip_all => 'XML::LibXML and XML::LibXML::XPathContext needed for this test' if $@; +plan tests=>1; + +my $tree=XML::LibXML->new->parse_string(<<'XML'); +<html> + <body> + <p>test</p> + <img src="nothing" /> + <img src="this one" alt="pick" /> + </body> +</html> +XML + +{ +my $trans=XmlTransform->new(engine=>XML::LibXML::XPathContext->new()); +my @results=$trans->transform($tree); +is_deeply \@results,['this one'],'XML example'; +} |