From e20aa16c4ad5960c191cbf540758d4a7aec87154 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 29 Dec 2016 19:18:50 +0300 Subject: [PATCH] git tests: move some utility method to the root class for future reuse This caused method conflicts in GitChangeProviderTest, which was adjusted (simplified) accordingly. --- .../tests/git4idea/checkin/GitMoveTest.kt | 31 ---------------- .../tests/git4idea/test/GitSingleRepoTest.kt | 35 +++++++++++++++++++ .../git4idea/tests/GitChangeProviderTest.java | 14 ++------ .../tests/GitChangeProviderVersionedTest.java | 1 + 4 files changed, 38 insertions(+), 43 deletions(-) diff --git a/plugins/git4idea/tests/git4idea/checkin/GitMoveTest.kt b/plugins/git4idea/tests/git4idea/checkin/GitMoveTest.kt index dc30e2eec587..45d1ea88ce5c 100644 --- a/plugins/git4idea/tests/git4idea/checkin/GitMoveTest.kt +++ b/plugins/git4idea/tests/git4idea/checkin/GitMoveTest.kt @@ -17,20 +17,12 @@ package git4idea.checkin import com.intellij.openapi.application.runWriteAction import com.intellij.openapi.command.CommandProcessor -import com.intellij.openapi.vcs.VcsConfiguration import com.intellij.openapi.vcs.VcsConfiguration.StandardConfirmation.ADD -import com.intellij.openapi.vcs.VcsShowConfirmationOption.Value.DO_ACTION_SILENTLY -import com.intellij.openapi.vcs.VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY -import com.intellij.openapi.vcs.VcsTestUtil -import com.intellij.openapi.vcs.VcsTestUtil.renameFileInCommand import com.intellij.openapi.vcs.VcsVFSListener import com.intellij.openapi.vfs.LocalFileSystem -import com.intellij.openapi.vfs.VirtualFile import com.intellij.testFramework.runInEdtAndWait -import com.intellij.testFramework.vcs.AbstractVcsTestCase.setStandardConfirmation import com.intellij.vcsUtil.VcsUtil import git4idea.GitUtil.getLogString -import git4idea.GitVcs import git4idea.test.GitExecutor.* import git4idea.test.GitSingleRepoTest import java.io.File @@ -107,27 +99,4 @@ class GitMoveTest : GitSingleRepoTest() { renameFile(file, "unv-ren.txt") assertUnversioned(file) } - - private fun VcsConfiguration.StandardConfirmation.doSilently() = setStandardConfirmation(myProject, GitVcs.NAME, this, DO_ACTION_SILENTLY) - private fun VcsConfiguration.StandardConfirmation.doNothing() = setStandardConfirmation(myProject, GitVcs.NAME, this, DO_NOTHING_SILENTLY) - - private fun prepareUnversionedFile(fileName: String): VirtualFile { - val file = myProjectRoot.createFile(fileName, "initial\ncontent\n") - updateChangeListManager() - assertUnversioned(file) - return file - } - - private fun VirtualFile.createDir(dir: String) = VcsTestUtil.findOrCreateDir(myProject, this, dir) - private fun VirtualFile.createFile(fileName: String, content: String) = VcsTestUtil.createFile(myProject, this, fileName, content) - - private fun renameFile(file: VirtualFile, newName: String) { - renameFileInCommand(myProject, file, newName) - updateChangeListManager() - } - - private fun assertUnversioned(file: VirtualFile) { - assertTrue("File should be unversioned! All changes: " + getLogString(myProjectPath, changeListManager.allChanges), - changeListManager.isUnversioned(file)) - } } \ No newline at end of file diff --git a/plugins/git4idea/tests/git4idea/test/GitSingleRepoTest.kt b/plugins/git4idea/tests/git4idea/test/GitSingleRepoTest.kt index 4ba3d311d2df..e51216d7452d 100644 --- a/plugins/git4idea/tests/git4idea/test/GitSingleRepoTest.kt +++ b/plugins/git4idea/tests/git4idea/test/GitSingleRepoTest.kt @@ -16,6 +16,14 @@ package git4idea.test import com.intellij.openapi.vcs.Executor.cd +import com.intellij.openapi.vcs.VcsConfiguration +import com.intellij.openapi.vcs.VcsShowConfirmationOption.Value.DO_ACTION_SILENTLY +import com.intellij.openapi.vcs.VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY +import com.intellij.openapi.vcs.VcsTestUtil +import com.intellij.openapi.vfs.VirtualFile +import com.intellij.testFramework.vcs.AbstractVcsTestCase +import git4idea.GitUtil +import git4idea.GitVcs import git4idea.repo.GitRepository abstract class GitSingleRepoTest : GitPlatformTest() { @@ -32,4 +40,31 @@ abstract class GitSingleRepoTest : GitPlatformTest() { protected open fun makeInitialCommit(): Boolean { return true } + + protected fun VcsConfiguration.StandardConfirmation.doSilently() = + AbstractVcsTestCase.setStandardConfirmation(myProject, GitVcs.NAME, this, DO_ACTION_SILENTLY) + + protected fun VcsConfiguration.StandardConfirmation.doNothing() = + AbstractVcsTestCase.setStandardConfirmation(myProject, GitVcs.NAME, this, DO_NOTHING_SILENTLY) + + protected fun prepareUnversionedFile(fileName: String): VirtualFile { + val file = myProjectRoot.createFile(fileName, "initial\ncontent\n") + updateChangeListManager() + assertUnversioned(file) + return file + } + + protected fun VirtualFile.createDir(dir: String) = VcsTestUtil.findOrCreateDir(myProject, this, dir)!! + + protected fun VirtualFile.createFile(fileName: String, content: String) = VcsTestUtil.createFile(myProject, this, fileName, content)!! + + protected fun renameFile(file: VirtualFile, newName: String) { + VcsTestUtil.renameFileInCommand(myProject, file, newName) + updateChangeListManager() + } + + protected fun assertUnversioned(file: VirtualFile) { + assertTrue("File should be unversioned! All changes: " + GitUtil.getLogString(myProjectPath, changeListManager.allChanges), + changeListManager.isUnversioned(file)) + } } diff --git a/plugins/git4idea/tests/git4idea/tests/GitChangeProviderTest.java b/plugins/git4idea/tests/git4idea/tests/GitChangeProviderTest.java index 189235d51d42..e687d1ea24be 100644 --- a/plugins/git4idea/tests/git4idea/tests/GitChangeProviderTest.java +++ b/plugins/git4idea/tests/git4idea/tests/GitChangeProviderTest.java @@ -214,17 +214,7 @@ public abstract class GitChangeProviderTest extends GitSingleRepoTest { } protected VirtualFile create(VirtualFile parent, String name) { - return create(parent, name, false); - } - - protected VirtualFile createDir(VirtualFile parent, String name) { - return create(parent, name, true); - } - - private VirtualFile create(VirtualFile parent, String name, boolean dir) { - final VirtualFile file = dir ? - VcsTestUtil.findOrCreateDir(myProject, parent, name) : - createFile(myProject, parent, name, "content" + Math.random()); + VirtualFile file = createFile(parent, name, "content" + Math.random()); dirty(file); return file; } @@ -252,7 +242,7 @@ public abstract class GitChangeProviderTest extends GitSingleRepoTest { deleteFileInCommand(myProject, file); } - private void dirty(VirtualFile file) { + protected void dirty(VirtualFile file) { myDirtyScope.addDirtyFile(VcsUtil.getFilePath(file)); } diff --git a/plugins/git4idea/tests/git4idea/tests/GitChangeProviderVersionedTest.java b/plugins/git4idea/tests/git4idea/tests/GitChangeProviderVersionedTest.java index 30d32cf263a7..c968028c5c75 100644 --- a/plugins/git4idea/tests/git4idea/tests/GitChangeProviderVersionedTest.java +++ b/plugins/git4idea/tests/git4idea/tests/GitChangeProviderVersionedTest.java @@ -39,6 +39,7 @@ public class GitChangeProviderVersionedTest extends GitChangeProviderTest { @Test public void testCreateFileInDir() throws Exception { VirtualFile dir = createDir(myRootDir, "newdir"); + dirty(dir); VirtualFile bfile = create(dir, "new.txt"); add(bfile.getPath()); assertChanges(new VirtualFile[] {bfile, dir}, new FileStatus[] { ADDED, null} );