On Thu, 8 Sep 2022 06:19:10 GMT, Rahul Prabhu <[email protected]> wrote:
> Created two files for testing XPath Axes: XPathAncestors.java tests the
> ancestor and ancestor-or-self axes, while XPathPrecedingTest.java tests the
> preceding and preceding-sibling axes.
It would be nice to cover some of the assertions made in the spec, e.g.:
2.2 Axes
... if the context node is an attribute node or namespace node, the
preceding-sibling axis is empty
3.3 Node-sets
...
NOTE: The meaning of a Predicate depends crucially on which axis
applies.
For example, preceding::foo[1] returns the first foo element in
reverse document order, because the axis that applies to the [1] predicate is
the preceding axis; by contrast, (preceding::foo)[1] returns the first foo
element in document order, because the axis that applies to the [1] predicate
is the child axis.
5.7 Text Nodes
... a text node never has an immediately following or preceding sibling
that is a text node
test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAncestorsTest.java line 79:
> 77:
> 78: /*
> 79: * DataProvider:provides XPath expression using
> ancestor/ancestor-or-self and the expected node(s) from the expression
We still like to limit to about 80 characters (slightly longer is ok), easier
for people who like the Sdiffs.
test/jaxp/javax/xml/jaxp/unittest/xpath/XPathPrecedingTest.java line 90:
> 88:
> 89: // abbreviated text
> 90: {"//author/preceding::title", "//title"},
Note that both expressions return nodeset while the test calls for the 1st
node. When performing node comparison, it would be good to select unique node.
-------------
PR: https://git.openjdk.org/jdk/pull/10211