You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2009/05/06 16:59:14 UTC
svn commit: r772293 -
/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java
Author: reschke
Date: Wed May 6 14:59:13 2009
New Revision: 772293
URL: http://svn.apache.org/viewvc?rev=772293&view=rev
Log:
JCR-2058: add TCK tests for Version.getLinear{Predecessors|Successors}
Modified:
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java?rev=772293&r1=772292&r2=772293&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java Wed May 6 14:59:13 2009
@@ -18,10 +18,12 @@
import javax.jcr.RepositoryException;
import javax.jcr.version.Version;
+import javax.jcr.version.VersionManager;
/**
* <code>GetPredecessorsTest</code> provides test methods covering {@link
- * javax.jcr.version.Version#getPredecessors()}.
+ * Version#getPredecessors()}, {@link Version#getLinearPredecessor()} and
+ * {@link Version#getLinearSuccessor()}.
*
* @test
* @sources GetPredecessorsTest.java
@@ -43,4 +45,38 @@
assertTrue("Version should have at minimum one predecessor version.", version.getPredecessors().length > 0);
}
+
+ /**
+ * Checks ontaining the linear predecessor.
+ * @since JCR 2.0
+ */
+ public void testGetLinearPredecessorSuccessor() throws RepositoryException {
+
+ String path = versionableNode.getPath();
+
+ VersionManager vm = versionableNode.getSession().getWorkspace().getVersionManager();
+
+ // get the previous version
+ Version pred = vm.getBaseVersion(path);
+
+ // shouldn't have a successor yet
+ assertNull(pred.getLinearSuccessor());
+
+ // check root version
+ Version root = vm.getVersionHistory(path).getRootVersion();
+ assertNull(root.getLinearSuccessor());
+
+ // create a new version
+ vm.checkout(path);
+ Version version = vm.checkin(path);
+
+ // refresh the predecessor
+ pred = (Version)versionableNode.getSession().getNode(pred.getPath());
+
+ assertTrue("linear predecessor of new version should be previous version",
+ version.getLinearPredecessor().isSame(pred));
+ assertTrue("linear successor of previous version should be new version",
+ pred.getLinearSuccessor().isSame(version));
+ }
+
}
\ No newline at end of file