You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2009/10/23 14:21:39 UTC

svn commit: r829019 - /jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/GQLTest.java

Author: mreutegg
Date: Fri Oct 23 12:21:39 2009
New Revision: 829019

URL: http://svn.apache.org/viewvc?rev=829019&view=rev
Log:
JCR-2361: Add parser callback to GQL
- add test case for order by with relative path

Modified:
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/GQLTest.java

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/GQLTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/GQLTest.java?rev=829019&r1=829018&r2=829019&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/GQLTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/GQLTest.java Fri Oct 23 12:21:39 2009
@@ -16,17 +16,17 @@
  */
 package org.apache.jackrabbit.core.integration;
 
-import org.apache.jackrabbit.core.query.AbstractQueryTest;
-import org.apache.jackrabbit.commons.query.GQL;
+import java.io.ByteArrayInputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.Calendar;
 
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
-import javax.jcr.query.RowIterator;
 import javax.jcr.query.Row;
+import javax.jcr.query.RowIterator;
 
-import java.util.Calendar;
-import java.io.ByteArrayInputStream;
-import java.io.UnsupportedEncodingException;
+import org.apache.jackrabbit.commons.query.GQL;
+import org.apache.jackrabbit.core.query.AbstractQueryTest;
 
 import junit.framework.AssertionFailedError;
 
@@ -68,6 +68,31 @@
         checkResultSequence(rows, new Node[]{n3, n2, n1});
     }
 
+    public void testOrderDeep() throws RepositoryException {
+        Node n1 = testRootNode.addNode("node1");
+        n1.setProperty("prop", "value");
+        n1.addNode("sub").setProperty("p", 1);
+        Node n2 = testRootNode.addNode("node2");
+        n2.setProperty("prop", "value");
+        n2.addNode("sub").setProperty("p", 2);
+        Node n3 = testRootNode.addNode("node3");
+        n3.setProperty("prop", "value");
+        n3.addNode("sub").setProperty("p", 3);
+        superuser.save();
+        // default: ascending
+        String stmt = createStatement("prop:value order:sub/p");
+        RowIterator rows = GQL.execute(stmt, superuser);
+        checkResultSequence(rows, new Node[]{n1, n2, n3});
+        // explicit ascending
+        stmt = createStatement("prop:value order:+sub/p");
+        rows = GQL.execute(stmt, superuser);
+        checkResultSequence(rows, new Node[]{n1, n2, n3});
+        // explicit descending
+        stmt = createStatement("prop:value order:-sub/p");
+        rows = GQL.execute(stmt, superuser);
+        checkResultSequence(rows, new Node[]{n3, n2, n1});
+    }
+
     public void testLimit() throws RepositoryException {
         Node n1 = testRootNode.addNode("node1");
         n1.setProperty("p", 1);