You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2011/07/27 14:16:26 UTC

svn commit: r1151440 - in /jackrabbit/sandbox/microkernel/src: main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java test/java/org/apache/jackrabbit/mk/MoveNodeTest.java

Author: thomasm
Date: Wed Jul 27 12:16:25 2011
New Revision: 1151440

URL: http://svn.apache.org/viewvc?rev=1151440&view=rev
Log:
Simplify tests.

Modified:
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
    jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/MoveNodeTest.java

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java?rev=1151440&r1=1151439&r2=1151440&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java Wed Jul 27 12:16:25 2011
@@ -180,7 +180,11 @@ public class MemoryKernelImpl implements
                 } else {
                     throw new AssertionError("position: " + position);
                 }
-                to = PathUtils.concat(fromRoot, target);
+                if (PathUtils.isAbsolute(target)) {
+                    to = PathUtils.relativize("/", target);
+                } else {
+                    to = PathUtils.concat(fromRoot, target);
+                }
                 boolean inPlaceRename = false;
                 if (rename) {
                     if (PathUtils.getParentPath(from).equals(PathUtils.getParentPath(to))) {
@@ -198,7 +202,7 @@ public class MemoryKernelImpl implements
                 }
                 break;
             default:
-                throw new AssertionError("token type: " + t.getTokenType());
+                throw new AssertionError("token: " + (char) t.getTokenType());
             }
         }
         return w.toString();

Modified: jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/MoveNodeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/MoveNodeTest.java?rev=1151440&r1=1151439&r2=1151440&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/MoveNodeTest.java (original)
+++ jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/MoveNodeTest.java Wed Jul 27 12:16:25 2011
@@ -29,86 +29,129 @@ public class MoveNodeTest extends TestCa
 
     private MicroKernel mk;
 
+    private String head;
+
     public void setUp() throws Exception {
         mk = MicroKernelFactory.getInstance(URL);
+        head = mk.getHeadRevision();
+        commit("/", "+ \"test\": {\"a\":{}, \"b\":{}, \"c\":{}}");
+        commit("/", "+ \"test2\": {}");
+
+        int todoTestJournal;
+
     }
 
     public void tearDown() throws InterruptedException {
         mk.dispose();
     }
 
-    public void test() {
-
-        String head = mk.getHeadRevision();
-
-        head = mk.commit("/", "+ \"test\" : {\"a\":{}, \"b\":{}, \"c\":{}}", head, null);
-        head = mk.commit("/", "+ \"test2\" : {}", head, null);
-        head = mk.commit("/", "+ \"test3\" : {}", head, null);
-        String s;
-
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,a:{},b:{},c:{}}", s);
-        System.out.println(s);
+    public void testOrder() {
+        assertEquals("{a,b,c}", getNode("/test"));
+    }
 
-        // rename /test/b to /test/b1 and back
-        head = mk.commit("/", "> \"test/b\" : \"test/b1\"", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,a:{},b1:{},c:{}}", s);
-        head = mk.commit("/", "> \"test/b1\" : \"test/b\"", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,a:{},b:{},c:{}}", s);
+    public void testRename() {
+        // rename /test/b
+        commit("/", "> \"test/b\": \"test/b1\"");
+        assertEquals("{a,b1,c}", getNode("/test"));
+        // and back
+        commit("/", "> \"test/b1\": \"test/b\"");
+        assertEquals("{a,b,c}", getNode("/test"));
+    }
 
+    public void testReorderBefore() {
         // order c before b
-        head = mk.commit("/", "> \"test/c\" : {\"before\": \"test/b\"}", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,a:{},c:{},b:{}}", s);
+        commit("/", "> \"test/c\": {\"before\": \"test/b\"}");
+        assertEquals("{a,c,b}", getNode("/test"));
+        // and now b before a
+        commit("/", "> \"test/b\": {\"before\": \"test/a\"}");
+        assertEquals("{b,a,c}", getNode("/test"));
+    }
 
-        // order a after c
-        head = mk.commit("/", "> \"test/a\" : {\"after\": \"test/c\"}", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,c:{},a:{},b:{}}", s);
+    public void testReorderAfter() {
+        // order a after b
+        commit("/", "> \"test/a\": {\"after\": \"test/b\"}");
+        assertEquals("{b,a,c}", getNode("/test"));
+        // and now a after c
+        commit("/", "> \"test/a\": {\"after\": \"test/c\"}");
+        assertEquals("{b,c,a}", getNode("/test"));
+        // and now a after a (a no-op)
+        commit("/", "> \"test/a\": {\"after\": \"test/a\"}");
+        assertEquals("{b,c,a}", getNode("/test"));
+    }
 
+    public void testMoveFirst() {
         // move /test/a to /test2/a (rename is not supported in this way)
-        head = mk.commit("/", "> \"test/a\" : {\"first\": \"test2\"}", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,c:{},b:{}}", s);
-        s = mk.getNodes("/test2", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,a:{}}", s);
+        commit("/", "> \"test/a\": {\"first\": \"test2\"}");
+        assertEquals("{b,c}", getNode("/test"));
+        assertEquals("{a}", getNode("/test2"));
+        // move /test/c to /test2
+        commit("/", "> \"test/c\": {\"first\": \"test2\"}");
+        assertEquals("{b}", getNode("/test"));
+        assertEquals("{c,a}", getNode("/test2"));
+    }
 
+    public void testMoveBefore() {
         // move /test/b to /test2/b, before any other nodes in /test2
-        head = mk.commit("/", "> \"test/b\" : {\"first\": \"test2\"}", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,c:{}}", s);
-        s = mk.getNodes("/test2", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,b:{},a:{}}", s);
+        commit("/", "> \"test/b\": {\"first\": \"test2\"}");
+        assertEquals("{a,c}", getNode("/test"));
+        assertEquals("{b}", getNode("/test2"));
+        // move /test/c to /test2, before b
+        commit("/", "> \"test/c\": {\"before\": \"test2/b\"}");
+        assertEquals("{a}", getNode("/test"));
+        assertEquals("{c,b}", getNode("/test2"));
+    }
 
-        // move /test/c to /test2, after b
-        head = mk.commit("/", "> \"test/c\" : {\"after\": \"test2/b\"}", head, null);
-        s = mk.getNodes("/test", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{}", s);
-        s = mk.getNodes("/test2", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,b:{},c:{},a:{}}", s);
+    public void testMoveAfter() {
+        // move /test/c to /test2
+        commit("/", "> \"test/c\": \"test2/c\"");
+        assertEquals("{a,b}", getNode("/test"));
+        assertEquals("{c}", getNode("/test2"));
+        // move /test/a to /test2, after c
+        commit("/", "> \"test/a\": {\"after\": \"test2/c\"}");
+        assertEquals("{b}", getNode("/test"));
+        assertEquals("{c,a}", getNode("/test2"));
+        // move /test/b to /test2, after c
+        commit("/", "> \"test/b\": {\"after\": \"test2/c\"}");
+        assertEquals("{}", getNode("/test"));
+        assertEquals("{c,b,a}", getNode("/test2"));
+    }
 
-        // move /test2/a to /test2, as last
-        head = mk.commit("/", "> \"test2/b\" : {\"last\": \"test2\"}", head, null);
-        s = mk.getNodes("/test2", head);
-        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
-        assertEquals("{,c:{},a:{},b:{}}", s);
+    public void testMoveLast() {
+        // move /test/a to /test2, as last
+        commit("/", "> \"test/b\": {\"last\": \"test2\"}");
+        assertEquals("{a,c}", getNode("/test"));
+        assertEquals("{b}", getNode("/test2"));
+        // move /test/c to /test2, as last
+        commit("/", "> \"test/c\": {\"last\": \"test2\"}");
+        assertEquals("{a}", getNode("/test"));
+        assertEquals("{b,c}", getNode("/test2"));
+    }
 
-        mk.dispose();
+    public void testMove() {
+        // move /test/b to /test2
+        commit("/", "> \"test/b\": \"/test2/b\"");
+        assertEquals("{a,c}", getNode("/test"));
+        assertEquals("{b}", getNode("/test2"));
+        // move /test/a to /test2
+        commit("/", "> \"test/a\": \"test2/a1\"");
+        assertEquals("{c}", getNode("/test"));
+        assertEquals("{b,a1}", getNode("/test2"));
+        // move /test/c to /test2
+        commit("/", "> \"test/c\": \"test2/c\"");
+        assertEquals("{}", getNode("/test"));
+        assertEquals("{b,a1,c}", getNode("/test2"));
+    }
 
-        System.out.println("");
+    private void commit(String root, String diff) {
+        head = mk.commit(root, diff, head, null);
+    }
+
+    private String getNode(String node) {
+        String s = mk.getNodes(node, mk.getHeadRevision());
+        s = s.replaceAll("\"", "").replaceAll(":childNodeCount:.", "");
+        s = s.replaceAll("\\{\\,", "\\{").replaceAll("\\,\\}", "\\}");
+        s = s.replaceAll("\\:\\{\\}", "");
+        return s;
     }
 
 }
\ No newline at end of file