diff options
Diffstat (limited to 't')
-rw-r--r-- | t/05-html-tree.t | 6 | ||||
-rw-r--r-- | t/06-libxml.t | 37 |
2 files changed, 41 insertions, 2 deletions
diff --git a/t/05-html-tree.t b/t/05-html-tree.t index a562aba..c025251 100644 --- a/t/05-html-tree.t +++ b/t/05-html-tree.t @@ -13,10 +13,12 @@ package HtmlTransform;{ } package main; -use Test::Most qw(no_plan die); +use Test::Most 'die'; use strict; use warnings; -use HTML::TreeBuilder::XPath; +eval 'use XML::XPathEngine;use HTML::TreeBuilder::XPath;'; +plan skip_all => 'XML::XPathEngine and HTML::TreeBuilder::XPath needed for this test' if $@; +plan tests=> 1; sub HTML::TreeBuilder::XPath::Root::getRootNode { return $_[0] } 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'; +} |