Author: thomasm
Date: Thu Jan 16 13:52:47 2014
New Revision: 1558795
URL: http://svn.apache.org/r1558795
Log:
OAK-1215 Relative property paths don't work in XPath search expressions (Test
case)
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java?rev=1558795&r1=1558794&r2=1558795&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
Thu Jan 16 13:52:47 2014
@@ -45,6 +45,7 @@ import javax.jcr.query.RowIterator;
import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.jackrabbit.oak.jcr.AbstractRepositoryTest;
import org.apache.jackrabbit.oak.jcr.NodeStoreFixture;
+import org.junit.Ignore;
import org.junit.Test;
/**
@@ -84,6 +85,34 @@ public class QueryTest extends AbstractR
}
@Test
+ @Ignore("OAK-1215")
+ public void anyChildNodeProperty() throws Exception {
+ Session session = getAdminSession();
+ Node content = session.getRootNode().addNode("test");
+ content.addNode("one").addNode("child").setProperty("prop", "hello");
+ content.addNode("two").addNode("child").setProperty("prop", "hi");
+ session.save();
+ String query = "//*[*/@prop = 'hello']";
+ QueryResult r = session.getWorkspace().getQueryManager().createQuery(
+ query, "xpath").execute();
+ NodeIterator it = r.getNodes();
+ assertTrue(it.hasNext());
+ String path = it.nextNode().getPath();
+ assertEquals("/test/one", path);
+ assertFalse(it.hasNext());
+
+ query = "//*[*/*/@prop = 'hello']";
+ r = session.getWorkspace().getQueryManager().createQuery(
+ query, "xpath").execute();
+ it = r.getNodes();
+ assertTrue(it.hasNext());
+ path = it.nextNode().getPath();
+ assertEquals("/test", path);
+ assertFalse(it.hasNext());
+
+ }
+
+ @Test
public void relativeNotExistsProperty() throws Exception {
Session session = getAdminSession();
Node content = session.getRootNode().addNode("test");