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/06/12 14:17:54 UTC

svn commit: r784090 - in /jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom: AbstractQOMTest.java QueryObjectModelFactoryTest.java

Author: mreutegg
Date: Fri Jun 12 12:17:54 2009
New Revision: 784090

URL: http://svn.apache.org/viewvc?rev=784090&view=rev
Log:
JCR-2085: test case (TCK) maintenance for JCR 2.0
- include test for QOM Literal

Modified:
    jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/AbstractQOMTest.java
    jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/QueryObjectModelFactoryTest.java

Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/AbstractQOMTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/AbstractQOMTest.java?rev=784090&r1=784089&r2=784090&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/AbstractQOMTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/AbstractQOMTest.java Fri Jun 12 12:17:54 2009
@@ -19,6 +19,8 @@
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
+import java.util.List;
+import java.util.ArrayList;
 
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
@@ -33,7 +35,7 @@
 /**
  * <code>AbstractQOMTest</code> is a base class for test cases on the JQOM.
  */
-public class AbstractQOMTest extends AbstractQueryTest {
+public abstract class AbstractQOMTest extends AbstractQueryTest {
 
     /**
      * Binds the given <code>value</code> to the variable named
@@ -51,6 +53,39 @@
         q.bindValue(var, value);
     }
 
+    protected void checkResultOrder(QueryResult result,
+                                    String[] selectorNames,
+                                    Node[][] nodes)
+            throws RepositoryException {
+        // collect rows
+        List expectedPaths = new ArrayList();
+        log.println("expected:");
+        for (int i = 0; i < nodes.length; i++) {
+            StringBuffer aggregatedPaths = new StringBuffer();
+            for (int j = 0; j < nodes[i].length; j++) {
+                aggregatedPaths.append(getPath(nodes[i][j]));
+                aggregatedPaths.append("|");
+            }
+            expectedPaths.add(aggregatedPaths.toString());
+            log.println(aggregatedPaths.toString());
+        }
+
+        List resultPaths = new ArrayList();
+        log.println("result:");
+        for (RowIterator it = result.getRows(); it.hasNext();) {
+            Row r = it.nextRow();
+            StringBuffer aggregatedPaths = new StringBuffer();
+            for (int i = 0; i < selectorNames.length; i++) {
+                aggregatedPaths.append(getPath(r.getNode(selectorNames[i])));
+                aggregatedPaths.append("|");
+            }
+            resultPaths.add(aggregatedPaths.toString());
+            log.println(aggregatedPaths.toString());
+        }
+
+        assertEquals("wrong result order", expectedPaths, resultPaths);
+    }
+
     protected void checkResult(QueryResult result,
                                String[] selectorNames,
                                Node[][] nodes)

Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/QueryObjectModelFactoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/QueryObjectModelFactoryTest.java?rev=784090&r1=784089&r2=784090&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/QueryObjectModelFactoryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/qom/QueryObjectModelFactoryTest.java Fri Jun 12 12:17:54 2009
@@ -21,6 +21,7 @@
 import java.util.Set;
 
 import javax.jcr.RepositoryException;
+import javax.jcr.Value;
 import javax.jcr.query.qom.And;
 import javax.jcr.query.qom.BindVariableValue;
 import javax.jcr.query.qom.ChildNode;
@@ -54,6 +55,7 @@
 import javax.jcr.query.qom.Source;
 import javax.jcr.query.qom.StaticOperand;
 import javax.jcr.query.qom.UpperCase;
+import javax.jcr.query.qom.Literal;
 
 /**
  * <code>QueryObjectModelFactoryTest</code> tests all methods on the
@@ -425,7 +427,7 @@
             Join join = qf.join(s1, s2, joinType, cond);
             assertTrue("Not a selector source", join.getLeft() instanceof Selector);
             assertTrue("Not a selector source", join.getRight() instanceof Selector);
-            assertEquals("Wrong join type", joinType.toString(), join.getJoinType());
+            assertEquals("Wrong join type", joinType, join.getJoinType());
             assertTrue("Not an EquiJoinCondition", join.getJoinCondition() instanceof EquiJoinCondition);
         }
     }
@@ -440,6 +442,16 @@
     }
 
     /**
+     * Test case for {@link QueryObjectModelFactory#literal(Value)}
+     */
+    public void testLiteral() throws RepositoryException {
+        Value v = superuser.getValueFactory().createValue("test");
+        Literal literal = qf.literal(v);
+        assertEquals("Wrong literal value", v.getString(),
+                literal.getLiteralValue().getString());
+    }
+
+    /**
      * Test case for {@link QueryObjectModelFactory#lowerCase(DynamicOperand)}
      */
     public void testLowerCase() throws RepositoryException {