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