summaryrefslogtreecommitdiff
path: root/t/06-libxml.t
diff options
context:
space:
mode:
Diffstat (limited to 't/06-libxml.t')
-rw-r--r--t/06-libxml.t37
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';
+}