summaryrefslogtreecommitdiff
path: root/t/21allnodes.t
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2003-01-26 19:35:03 +0000
committer <>2015-02-23 10:18:26 +0000
commita2d12bc84fb2af87dd1c0c6e5bc854554902cd67 (patch)
tree7665979c7c281b21971de576d93246a022bff649 /t/21allnodes.t
downloadperl-xml-xpath-master.tar.gz
Imported from /home/lorry/working-area/delta_perl-xml-xpath/XML-XPath-1.13.tar.gz.HEADXML-XPath-1.13master
Diffstat (limited to 't/21allnodes.t')
-rw-r--r--t/21allnodes.t60
1 files changed, 60 insertions, 0 deletions
diff --git a/t/21allnodes.t b/t/21allnodes.t
new file mode 100644
index 0000000..1010538
--- /dev/null
+++ b/t/21allnodes.t
@@ -0,0 +1,60 @@
+use Test;
+BEGIN { plan tests => 11 }
+
+use XML::XPath;
+ok(1);
+
+my $xp = XML::XPath->new(ioref => *DATA);
+ok($xp);
+
+my @nodes;
+@nodes = $xp->findnodes('//GGG/ancestor::*');
+ok(@nodes, 4);
+
+@nodes = $xp->findnodes('//GGG/descendant::*');
+ok(@nodes, 3);
+
+@nodes = $xp->findnodes('//GGG/following::*');
+ok(@nodes, 3);
+ok($nodes[0]->getName, "VVV");
+
+@nodes = $xp->findnodes('//GGG/preceding::*');
+ok(@nodes, 5);
+ok($nodes[0]->getName, "BBB"); # document order, not HHH
+
+@nodes = $xp->findnodes('//GGG/self::*');
+ok(@nodes, 1);
+ok($nodes[0]->getName, "GGG");
+
+@nodes = $xp->findnodes('//GGG/ancestor::* |
+ //GGG/descendant::* |
+ //GGG/following::* |
+ //GGG/preceding::* |
+ //GGG/self::*');
+ok(@nodes, 16);
+
+__DATA__
+<AAA>
+ <BBB>
+ <CCC/>
+ <ZZZ/>
+ </BBB>
+ <XXX>
+ <DDD>
+ <EEE/>
+ <FFF>
+ <HHH/>
+ <GGG> <!-- Watch this node -->
+ <JJJ>
+ <QQQ/>
+ </JJJ>
+ <JJJ/>
+ </GGG>
+ <VVV/>
+ </FFF>
+ </DDD>
+ </XXX>
+ <CCC>
+ <DDD/>
+ </CCC>
+</AAA>