summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@dechirico.(none)>2009-03-20 15:13:59 +0100
committerGianni Ceccarelli <dakkar@dechirico.(none)>2009-03-20 15:13:59 +0100
commit92f310bf8712f12dbc3717b2529df4694a073310 (patch)
tree0fb10a2e6bd7a3919395a6b66a4b6a883e6bdf14 /t
parentrenaming merge (diff)
downloadTree-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')
-rw-r--r--t/01-basic.t1
-rw-r--r--t/02-inherit.t1
-rw-r--r--t/03-byname.t1
-rw-r--r--t/04-errors.t1
-rw-r--r--t/05-html-tree.t38
5 files changed, 42 insertions, 0 deletions
diff --git a/t/01-basic.t b/t/01-basic.t
index 7c622e8..a6670a5 100644
--- a/t/01-basic.t
+++ b/t/01-basic.t
@@ -38,6 +38,7 @@ use warnings;
use Tree::DAG_Node::XPath;
sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] }
+sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return }
my $tree=Tree::DAG_Node::XPath->new();
$tree->name('base');
diff --git a/t/02-inherit.t b/t/02-inherit.t
index 1b1b90a..fb8e238 100644
--- a/t/02-inherit.t
+++ b/t/02-inherit.t
@@ -35,6 +35,7 @@ use warnings;
use Tree::DAG_Node::XPath;
sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] }
+sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return }
my $tree=Tree::DAG_Node::XPath->new();
$tree->name('base');
diff --git a/t/03-byname.t b/t/03-byname.t
index 3c801fa..784138b 100644
--- a/t/03-byname.t
+++ b/t/03-byname.t
@@ -23,6 +23,7 @@ use warnings;
use Tree::DAG_Node::XPath;
sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] }
+sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return }
my $tree=Tree::DAG_Node::XPath->new();
$tree->name('base');
diff --git a/t/04-errors.t b/t/04-errors.t
index 9e2903a..107c1bd 100644
--- a/t/04-errors.t
+++ b/t/04-errors.t
@@ -6,6 +6,7 @@ use warnings;
use Tree::DAG_Node::XPath;
sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] }
+sub Tree::DAG_Node::XPath::Root::xpath_get_parent_node { return }
my $tree=Tree::DAG_Node::XPath->new();
$tree->name('base');
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';
+}