You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/04/26 12:25:39 UTC
svn commit: r1330758 - in
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core:
RootImplFuzzIT.java RootImplTest.java
Author: mduerig
Date: Thu Apr 26 10:25:38 2012
New Revision: 1330758
URL: http://svn.apache.org/viewvc?rev=1330758&view=rev
Log:
Adding tests and changes to tests which went amiss in revision 1330745
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java?rev=1330758&r1=1330757&r2=1330758&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java Thu Apr 26 10:25:38 2012
@@ -75,13 +75,13 @@ public class RootImplFuzzIT {
public void setup() {
counter = 0;
- MicroKernel mk1 = new MicroKernelImpl("./target/mk1");
+ MicroKernel mk1 = new MicroKernelImpl("./target/mk1/" + random.nextInt());
vf = new CoreValueFactoryImpl(mk1);
store1 = new KernelNodeStore(mk1, vf);
mk1.commit("", "+\"/test\":{} +\"/test/root\":{}", mk1.getHeadRevision(), "");
root1 = new RootImpl(store1, "test");
- MicroKernel mk2 = new MicroKernelImpl("./target/mk2");
+ MicroKernel mk2 = new MicroKernelImpl("./target/mk2/" + random.nextInt());
store2 = new KernelNodeStore(mk2, vf);
mk2.commit("", "+\"/test\":{} +\"/test/root\":{}", mk2.getHeadRevision(), "");
root2 = new RootImpl(store2, "test");
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java?rev=1330758&r1=1330757&r2=1330758&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java Thu Apr 26 10:25:38 2012
@@ -22,6 +22,7 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.api.Tree.Status;
import org.apache.jackrabbit.oak.kernel.KernelNodeStore;
import org.apache.jackrabbit.oak.kernel.NodeState;
import org.apache.jackrabbit.oak.kernel.NodeStore;
@@ -337,6 +338,78 @@ public class RootImplTest extends Abstra
}
@Test
+ public void addAndRemoveProperty() throws CommitFailedException {
+ RootImpl root = new RootImpl(store, "test");
+ Tree tree = root.getTree("/");
+
+ tree.setProperty("P0", valueFactory.createValue("V1"));
+ root.commit();
+ tree = root.getTree("/");
+ assertTrue(tree.hasProperty("P0"));
+
+ tree.removeProperty("P0");
+ root.commit();
+ tree = root.getTree("/");
+ assertFalse(tree.hasProperty("P0"));
+ }
+
+ @Test
+ public void nodeStatus() throws CommitFailedException {
+ RootImpl root = new RootImpl(store, "test");
+ Tree tree = root.getTree("/");
+
+ tree.addChild("new");
+ assertEquals(Status.NEW, tree.getChildStatus("new"));
+ root.commit();
+
+ tree = root.getTree("/");
+ assertEquals(Status.EXISTING, tree.getChildStatus("new"));
+ Tree added = tree.getChild("new");
+ added.addChild("another");
+ assertEquals(Status.MODIFIED, tree.getChildStatus("new"));
+ root.commit();
+
+ tree = root.getTree("/");
+ assertEquals(Status.EXISTING, tree.getChildStatus("new"));
+ tree.getChild("new").removeChild("another");
+ assertEquals(Status.MODIFIED, tree.getChildStatus("new"));
+ assertEquals(Status.REMOVED, tree.getChild("new").getChildStatus("another"));
+ root.commit();
+
+ tree = root.getTree("/");
+ assertEquals(Status.EXISTING, tree.getChildStatus("new"));
+ assertNull(tree.getChild("new").getChild("another"));
+ assertNull(tree.getChild("new").getChildStatus("another"));
+ }
+
+ @Test
+ public void propertyStatus() throws CommitFailedException {
+ RootImpl root = new RootImpl(store, "test");
+ Tree tree = root.getTree("/");
+ CoreValue value1 = valueFactory.createValue("V1");
+ CoreValue value2 = valueFactory.createValue("V2");
+
+ tree.setProperty("new", value1);
+ assertEquals(Status.NEW, tree.getPropertyStatus("new"));
+ root.commit();
+
+ tree = root.getTree("/");
+ assertEquals(Status.EXISTING, tree.getPropertyStatus("new"));
+ tree.setProperty("new", value2);
+ assertEquals(Status.MODIFIED, tree.getPropertyStatus("new"));
+ root.commit();
+
+ tree = root.getTree("/");
+ assertEquals(Status.EXISTING, tree.getPropertyStatus("new"));
+ tree.removeProperty("new");
+ assertEquals(Status.REMOVED, tree.getPropertyStatus("new"));
+ root.commit();
+
+ tree = root.getTree("/");
+ assertNull(tree.getPropertyStatus("new"));
+ }
+
+ @Test
@Ignore("WIP") // FIXME: causes OOME since the branch/merge feature from OAK-45 is used
public void largeChildList() throws CommitFailedException {
RootImpl root = new RootImpl(store, "test");