diff --git a/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnChangesCorrectlyRefreshedNativeTest.java b/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnChangesCorrectlyRefreshedNativeTest.java deleted file mode 100644 index 41675ab218b4..000000000000 --- a/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnChangesCorrectlyRefreshedNativeTest.java +++ /dev/null @@ -1,277 +0,0 @@ -// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package org.jetbrains.idea.svn; - -import com.intellij.openapi.fileEditor.impl.LoadTextUtil; -import com.intellij.openapi.vcs.VcsConfiguration; -import com.intellij.openapi.vcs.VcsException; -import com.intellij.openapi.vcs.VcsTestUtil; -import com.intellij.openapi.vcs.changes.Change; -import com.intellij.openapi.vcs.changes.ChangeListManager; -import com.intellij.openapi.vcs.changes.ChangeListManagerImpl; -import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager; -import com.intellij.openapi.vcs.changes.ui.RollbackWorker; -import com.intellij.openapi.vfs.LocalFileSystem; -import com.intellij.openapi.vfs.VfsUtil; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.testFramework.vcs.DuringChangeListManagerUpdateTestScheme; -import org.jetbrains.annotations.Nullable; -import org.junit.Assert; -import org.junit.Test; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -import static com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile; - -public class SvnChangesCorrectlyRefreshedNativeTest extends SvnTestCase { - private ChangeListManager clManager; - - @Override - public void setUp() throws Exception { - super.setUp(); - - clManager = ChangeListManager.getInstance(myProject); - - enableSilentOperation(VcsConfiguration.StandardConfirmation.ADD); - enableSilentOperation(VcsConfiguration.StandardConfirmation.REMOVE); - } - - @Test - public void testModificationAndAfterRevert() throws Exception { - final SvnTestCase.SubTree subTree = new SubTree(myWorkingCopyDir); - checkin(); - sleep(100); - - VcsTestUtil.editFileInCommand(myProject, subTree.myS1File, "new content"); - - final CharSequence text1 = LoadTextUtil.loadText(subTree.myS1File); - Assert.assertEquals("new content", text1.toString()); - - sleep(100); - LocalFileSystem.getInstance().refreshAndFindFileByIoFile(virtualToIoFile(subTree.myS1File)); - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - final VcsException updateException = ((ChangeListManagerImpl)clManager).getUpdateException(); - if (updateException != null) { - updateException.printStackTrace(); - } - Assert.assertNull(updateException == null ? null : updateException.getMessage(), updateException); - - DuringChangeListManagerUpdateTestScheme - .checkFilesAreInList(new VirtualFile[]{subTree.myS1File}, clManager.getDefaultListName(), clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - final CharSequence text = LoadTextUtil.loadText(subTree.myS1File); - Assert.assertEquals(SubTree.ourS1Contents, text.toString()); - - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - } - - @Test - public void testRenameFileAndAfterRevert() throws Throwable { - final SubTree subTree = new SubTree(myWorkingCopyDir); - checkin(); - - final String newName = "newName"; - renameFileInCommand(subTree.myS1File, newName); - - assertVF(subTree.mySourceDir, newName); - - sleep(300); - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(new VirtualFile[] {subTree.myS1File}, clManager.getDefaultListName(), clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - assertVF(subTree.mySourceDir, "s1.txt"); - - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - } - - @Test - public void testMoveFileAndAfterRevert() throws Throwable { - final SubTree subTree = new SubTree(myWorkingCopyDir); - checkin(); - - moveFileInCommand(subTree.myS1File, subTree.myTargetDir); - - assertVF(subTree.myTargetDir, "s1.txt"); - - sleep(300); - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(new VirtualFile[] {subTree.myS1File}, clManager.getDefaultListName(), clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - assertVF(subTree.mySourceDir, "s1.txt"); - - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - } - - @Test - public void testRenameDirAndAfterRevert() throws Throwable { - final SubTree subTree = new SubTree(myWorkingCopyDir); - checkin(); - - final String newName = "newName"; - renameFileInCommand(subTree.mySourceDir, newName); - - assertVF(subTree.myRootDir, newName); - assertVF(subTree.mySourceDir, "s1.txt"); - assertVF(subTree.mySourceDir, "s2.txt"); - - sleep(300); - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(new VirtualFile[] {subTree.mySourceDir, subTree.myS1File, subTree.myS2File}, - clManager.getDefaultListName(), clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - subTree.mySourceDir = assertVF(subTree.myRootDir, "source"); - Assert.assertTrue(subTree.mySourceDir.getPath().endsWith("/root/source")); - assertVF(subTree.mySourceDir, "s1.txt"); - assertVF(subTree.mySourceDir, "s2.txt"); - - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - } - - @Test - public void testMoveDirEditFileAndAfterRevert() throws Throwable { - final SubTree subTree = new SubTree(myWorkingCopyDir); - checkin(); - - moveFileInCommand(subTree.mySourceDir, subTree.myTargetDir); - Assert.assertTrue(subTree.mySourceDir.getPath().endsWith("/target/source")); - assertVF(subTree.myTargetDir, "source"); - - VcsTestUtil.editFileInCommand(myProject, subTree.myS1File, "new"); - final CharSequence text1 = LoadTextUtil.loadText(subTree.myS1File); - Assert.assertEquals("new", text1.toString()); - - sleep(300); - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(new VirtualFile[] {subTree.mySourceDir, subTree.myS1File, subTree.myS2File}, - clManager.getDefaultListName(), clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - subTree.mySourceDir = assertVF(subTree.myRootDir, "source"); - Assert.assertTrue(subTree.mySourceDir.getPath().endsWith("/root/source")); - - subTree.myS1File = assertVF(subTree.mySourceDir, "s1.txt"); - subTree.myS2File = assertVF(subTree.mySourceDir, "s2.txt"); - final CharSequence text = LoadTextUtil.loadText(subTree.myS1File); - Assert.assertEquals(SubTree.ourS1Contents, text.toString()); - - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - } - - @Test - public void testAddDirEditFileAndAfterRevert() { - final SubTree subTree = new SubTree(myWorkingCopyDir); - - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - final List files = getAllFiles(subTree); - - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VfsUtil.toVirtualFileArray(files), clManager.getDefaultListName(), clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - assertVF(subTree.myRootDir, "source"); - assertVF(subTree.mySourceDir, "s1.txt"); - assertVF(subTree.myRootDir, "target"); - - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - - for (VirtualFile file : files) { - Assert.assertTrue(file.getPath(), clManager.isUnversioned(file)); - } - } - - private List getAllFiles(final SubTree subTree) { - final List files = new ArrayList<>(); - files.addAll(Arrays.asList(subTree.myRootDir, subTree.mySourceDir, subTree.myS2File, subTree.myS1File, subTree.myTargetDir)); - files.addAll(subTree.myTargetFiles); - return files; - } - - @Test - public void testDeleteDirEditFileAndAfterRevert() throws Throwable { - final SubTree subTree = new SubTree(myWorkingCopyDir); - checkin(); - - deleteFileInCommand(subTree.myRootDir); - sleep(300); - - VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); - clManager.ensureUpToDate(false); - final List files = getAllFiles(subTree); - DuringChangeListManagerUpdateTestScheme.checkDeletedFilesAreInList(VfsUtil.toVirtualFileArray(files), clManager.getDefaultListName(), - clManager); - - final Collection changes = clManager.getDefaultChangeList().getChanges(); - - final RollbackWorker worker = new RollbackWorker(myProject); - worker.doRollback(changes, false); - - assertVF(subTree.myRootDir, "source"); - assertVF(subTree.mySourceDir, "s1.txt"); - assertVF(subTree.myRootDir, "target"); - - assertVF(subTree.myTargetDir, "t11.txt"); - assertVF(subTree.myTargetDir, "t13.txt"); - assertVF(subTree.myTargetDir, "t14.txt"); - assertVF(subTree.myTargetDir, "t15.txt"); - - clManager.ensureUpToDate(false); - DuringChangeListManagerUpdateTestScheme.checkFilesAreInList(VirtualFile.EMPTY_ARRAY, clManager.getDefaultListName(), clManager); - } - - @Nullable - private static VirtualFile assertVF(final VirtualFile parent, final String name) { - final VirtualFile[] files = parent.getChildren(); - //final StringBuilder sb = new StringBuilder("Files: "); - for (VirtualFile file : files) { - //sb.append(file.getName()).append(' '); - if (name.equals(file.getName())) return file; - } - System.out.println("not found as child"); - Assert.assertNotNull(LocalFileSystem.getInstance().findFileByIoFile(new File(parent.getPath(), name))); - //Assert.assertTrue(sb.toString(), false); - return null; - } -}