On Thu, 8 Sep 2022 06:19:10 GMT, Rahul Prabhu <d...@openjdk.org> 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

Reply via email to