Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java')
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java184
1 files changed, 0 insertions, 184 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java
deleted file mode 100644
index 22731aab6..000000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolder;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.ui.operations.RemoteCompareOperation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class CompareOperationTests extends CVSOperationTest {
-
- public class TestRemoteCompareOperation extends RemoteCompareOperation {
- private ICVSRemoteFolder leftTree, rightTree;
-
- public TestRemoteCompareOperation(IWorkbenchPart part, ICVSRemoteResource resource, CVSTag tag) {
- super(part, resource, tag);
- }
-
- /*
- * Override to prevent compare editor from opening and to capture the results
- */
- protected void openCompareEditor(CompareTreeBuilder builder) {
- this.leftTree = builder.getLeftTree();
- this.rightTree = builder.getRightTree();
- }
-
- public ICVSRemoteFolder getLeftTree() {
- return leftTree;
- }
-
- public ICVSRemoteFolder getRightTree() {
- return rightTree;
- }
-
- }
-
- public CompareOperationTests() {
- super();
- }
-
- public CompareOperationTests(String name) {
- super(name);
- }
-
- public static Test suite() {
- String testName = System.getProperty("eclipse.cvs.testName");
- if (testName == null) {
- TestSuite suite = new TestSuite(CompareOperationTests.class);
- return new CVSTestSetup(suite);
- } else {
- return new CVSTestSetup(new CompareOperationTests(testName));
- }
- }
-
-
- /**
- * Assert that the revisions of any files in the remote tree match the revisions in the local tree
- */
-
- private void assertRevisionsMatch(ICVSRemoteFolder folder, IProject project, String[] filePathsWithRevisions, String[] filePathsWithoutRevisions) throws CoreException {
- if (filePathsWithRevisions == null) filePathsWithRevisions = new String[0];
- if (filePathsWithoutRevisions == null) filePathsWithoutRevisions = new String[0];
- IResource[] filesWithRevisions = getResources(project, filePathsWithRevisions);
- IResource[] filesWithoutRevisions = getResources(project, filePathsWithoutRevisions);
- ICVSRemoteFile[] files= getAllFiles(folder);
- assertTrue("The number of remote files with differences does not match the expected number", files.length == (filePathsWithoutRevisions.length + filePathsWithRevisions.length));
- for (int i = 0; i < files.length; i++) {
- ICVSRemoteFile remoteFile = files[i];
- for (int j = 0; j < filesWithRevisions.length; j++) {
- IResource local = filesWithRevisions[j];
- ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)local);
- if (cvsFile.getRepositoryRelativePath().equals(remoteFile.getRepositoryRelativePath())) {
- ResourceSyncInfo info = cvsFile.getSyncInfo();
- assertNotNull(info);
- String localRevision = info.getRevision();
- assertNotNull(localRevision);
- String remoteRevision = files[i].getRevision();
- assertNotNull(remoteRevision);
- assertEquals("Revisions do not match for " + local.getProjectRelativePath(), localRevision, remoteRevision);
- }
- }
- for (int j = 0; j < filesWithoutRevisions.length; j++) {
- IResource local = filesWithoutRevisions[j];
- ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)local);
- if (cvsFile.getRepositoryRelativePath().equals(remoteFile.getRepositoryRelativePath())) {
- ResourceSyncInfo info = cvsFile.getSyncInfo();
- assertNotNull(info);
- String localRevision = info.getRevision();
- assertNotNull(localRevision);
- // Cannot assert anything about the remote revision
- }
- }
- }
- }
-
- private ICVSRemoteFile[] getAllFiles(ICVSRemoteFolder folder) {
- List result = new ArrayList();
- ICVSRemoteResource[] children = ((RemoteFolder)folder).getChildren();
- if (children != null) {
- for (int i = 0; i < children.length; i++) {
- ICVSRemoteResource resource = children[i];
- if (resource.isContainer()) {
- result.addAll(Arrays.asList(getAllFiles((ICVSRemoteFolder)resource)));
- } else {
- result.add(resource);
- }
- }
- }
- return (ICVSRemoteFile[]) result.toArray(new ICVSRemoteFile[result.size()]);
- }
-
- public void testCompareWithLatest() throws TeamException, CoreException {
- // Create a test project
- IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
- CVSTag v1 = new CVSTag("v1", CVSTag.VERSION);
- tagProject(project, v1, false);
-
- // Checkout and modify a copy (and commit the changes)
- IProject copy = checkoutCopy(project, "-copy");
- setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
- addResources(copy, new String[] { "folder1/newFile", "folder2/folder3/add.txt" }, false);
- deleteResources(copy, new String[] {"folder1/b.txt"}, false);
- commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-
- // Run the compare operation of the project folder
- ICVSRemoteResource remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(project);
- TestRemoteCompareOperation op = new TestRemoteCompareOperation(null, remoteResource, v1);
- run(op);
- assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt", "folder1/b.txt"}, null);
- assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt" }, new String[] {"folder1/newFile", "folder2/folder3/add.txt" } /* files with no revision */);
-
-
- // Run the compare operation of the project folder the other way
- remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(project);
- remoteResource = ((ICVSRemoteFolder)remoteResource).forTag(v1);
- op = new TestRemoteCompareOperation(null, remoteResource, CVSTag.DEFAULT);
- run(op);
- assertRevisionsMatch(op.getLeftTree(), project, new String[] {"folder1/a.txt"}, new String[] {"folder1/b.txt"});
- assertRevisionsMatch(op.getRightTree(), copy, new String[] {"folder1/a.txt", "folder1/newFile", "folder2/folder3/add.txt" }, null /* files with no revision */);
-
- // Run the compare operation of a subfolder
- remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(project.getFolder("folder1"));
- op = new TestRemoteCompareOperation(null, remoteResource, v1);
- run(op);
- assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt", "folder1/b.txt"}, null);
- assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt"}, new String[] {"folder1/newFile" } /* files with no revision */);
-
- // Run the operation on a single file
- remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(copy.getFile("folder1/a.txt"));
- op = new TestRemoteCompareOperation(null, remoteResource, v1);
- run(op);
- assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt"}, null);
- assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt" }, null /* files with no revision */);
-
- // Run the operation on a single file using RemoteCompareOperation.getTag
- // to determine the tag
- remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(copy.getFile("folder1/a.txt"));
- op = new TestRemoteCompareOperation(null, remoteResource, RemoteCompareOperation.getTag(CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("folder1/a.txt"))));
- run(op);
- assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt"}, null);
- assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt" }, null /* files with no revision */);
-
- }
-
-}

Back to the top