diff options
Diffstat (limited to 't/16axisprec_sib.t')
-rw-r--r-- | t/16axisprec_sib.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/t/16axisprec_sib.t b/t/16axisprec_sib.t new file mode 100644 index 0000000..b1bbc6e --- /dev/null +++ b/t/16axisprec_sib.t @@ -0,0 +1,44 @@ +use Test; +BEGIN { plan tests => 7 } + +use XML::XPath; +ok(1); + +my $xp = XML::XPath->new(ioref => *DATA); +ok($xp); + +my @nodes; +@nodes = $xp->findnodes('/AAA/XXX/preceding-sibling::*'); +ok(@nodes, 1); +ok($nodes[0]->getName, "BBB"); + +@nodes = $xp->findnodes('//CCC/preceding-sibling::*'); +ok(@nodes, 4); + +@nodes = $xp->findnodes('/AAA/CCC/preceding-sibling::*[1]'); +ok($nodes[0]->getName, "XXX"); + +@nodes = $xp->findnodes('/AAA/CCC/preceding-sibling::*[2]'); +ok($nodes[0]->getName, "BBB"); + +__DATA__ +<AAA> + <BBB> + <CCC/> + <DDD/> + </BBB> + <XXX> + <DDD> + <EEE/> + <DDD/> + <CCC/> + <FFF/> + <FFF> + <GGG/> + </FFF> + </DDD> + </XXX> + <CCC> + <DDD/> + </CCC> +</AAA> |