mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
git tests: move some utility method to the root class for future reuse
This caused method conflicts in GitChangeProviderTest, which was adjusted (simplified) accordingly.
This commit is contained in:
@@ -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))
|
||||
}
|
||||
}
|
||||
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
@@ -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} );
|
||||
|
||||
Reference in New Issue
Block a user