Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 57348 invoked from network); 6 May 2009 14:59:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 6 May 2009 14:59:37 -0000 Received: (qmail 22950 invoked by uid 500); 6 May 2009 14:59:37 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 22898 invoked by uid 500); 6 May 2009 14:59:37 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 22889 invoked by uid 99); 6 May 2009 14:59:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 May 2009 14:59:37 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 May 2009 14:59:35 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 5E81A23888A4; Wed, 6 May 2009 14:59:14 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r772293 - /jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java Date: Wed, 06 May 2009 14:59:14 -0000 To: commits@jackrabbit.apache.org From: reschke@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090506145914.5E81A23888A4@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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; /** * GetPredecessorsTest 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