diff options
author | Kevin Sawicki | 2011-04-23 00:29:48 +0000 |
---|---|---|
committer | Chris Aniszczyk | 2011-04-28 17:06:27 +0000 |
commit | bfc867ee6ee0ae1c9b9c6fa24db09eec141919eb (patch) | |
tree | bb30dd4644829d578868b767958a748edd3c18f1 /org.eclipse.egit.ui.test/src/org | |
parent | c3d63bf11eb61968623865806057493b7dc3ad0a (diff) | |
download | egit-bfc867ee6ee0ae1c9b9c6fa24db09eec141919eb.tar.gz egit-bfc867ee6ee0ae1c9b9c6fa24db09eec141919eb.tar.xz egit-bfc867ee6ee0ae1c9b9c6fa24db09eec141919eb.zip |
Add persistence support for commit editor input
Bug: 343000
Change-Id: I32ee9168d500edfd7c038e954f1c4c9c49804617
Signed-off-by: Kevin Sawicki <kevin@github.com>
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
Diffstat (limited to 'org.eclipse.egit.ui.test/src/org')
2 files changed, 78 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputFactoryTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputFactoryTest.java new file mode 100644 index 0000000000..9419d399b9 --- /dev/null +++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputFactoryTest.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2011 GitHub Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Kevin Sawicki (GitHub Inc.) - initial API and implementation + *******************************************************************************/ +package org.eclipse.egit.ui.test.commit; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.File; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.egit.core.Activator; +import org.eclipse.egit.ui.common.LocalRepositoryTestCase; +import org.eclipse.egit.ui.internal.commit.CommitEditorInput; +import org.eclipse.egit.ui.internal.commit.CommitEditorInputFactory; +import org.eclipse.egit.ui.internal.commit.RepositoryCommit; +import org.eclipse.jgit.lib.Constants; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.revwalk.RevWalk; +import org.eclipse.ui.XMLMemento; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Unit tests of {@link CommitEditorInputFactory} + */ +public class CommitEditorInputFactoryTest extends LocalRepositoryTestCase { + + private static Repository repository; + + private static RevCommit commit; + + @BeforeClass + public static void setup() throws Exception { + File repoFile = createProjectAndCommitToRepository(); + assertNotNull(repoFile); + repository = Activator.getDefault().getRepositoryCache() + .lookupRepository(repoFile); + assertNotNull(repository); + + RevWalk walk = new RevWalk(repository); + try { + commit = walk.parseCommit(repository.resolve(Constants.HEAD)); + assertNotNull(commit); + } finally { + walk.release(); + } + } + + @Test + public void testPersistable() { + CommitEditorInput input = new CommitEditorInput(new RepositoryCommit( + repository, commit)); + XMLMemento memento = XMLMemento.createWriteRoot("test"); + input.getPersistable().saveState(memento); + CommitEditorInputFactory factory = new CommitEditorInputFactory(); + IAdaptable created = factory.createElement(memento); + assertNotNull(created); + assertTrue(created instanceof CommitEditorInput); + CommitEditorInput createdInput = (CommitEditorInput) created; + assertEquals(input.getCommit().getRevCommit().name(), createdInput + .getCommit().getRevCommit().name()); + assertEquals(input.getCommit().getRepository().getDirectory(), + createdInput.getCommit().getRepository().getDirectory()); + } + +} diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputTest.java index 4d72360d04..199773bfad 100644 --- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputTest.java +++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/commit/CommitEditorInputTest.java @@ -79,6 +79,8 @@ public class CommitEditorInputTest extends LocalRepositoryTestCase { assertNotNull(input.getImageDescriptor()); assertNotNull(input.getToolTipText()); assertNotNull(input.getName()); + assertEquals(repoCommit, input.getCommit()); + assertNotNull(input.getPersistable()); } } |