diff options
Diffstat (limited to 'tests/org.eclipse.team.tests.core/src')
18 files changed, 0 insertions, 1771 deletions
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java deleted file mode 100644 index 1738eead5..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import junit.framework.Test; -import junit.framework.TestSuite; -import org.eclipse.core.tests.harness.EclipseWorkspaceTest; - -public class AllTeamTests extends EclipseWorkspaceTest { - - /** - * Constructor for CVSClientTest. - */ - public AllTeamTests() { - super(); - } - - /** - * Constructor for CVSClientTest. - * @param name - */ - public AllTeamTests(String name) { - super(name); - } - - public static Test suite() { - TestSuite suite = new TestSuite(); - suite.addTest(RepositoryProviderTests.suite()); - suite.addTest(StreamTests.suite()); - return suite; - } -} - diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java deleted file mode 100644 index 6d5afc53f..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import org.eclipse.core.resources.IFileModificationValidator; -import org.eclipse.core.resources.team.IMoveDeleteHook; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.team.core.RepositoryProvider; - -public class RepositoryProviderBic extends RepositoryProvider { - - final public static String NATURE_ID = "org.eclipse.team.tests.core.bic-provider"; - - private IMoveDeleteHook mdh; - private IFileModificationValidator mv; - - /* - * @see RepositoryProvider#configureProject() - */ - public void configureProject() throws CoreException { - } - - /* - * @see RepositoryProvider#getID() - */ - public String getID() { - return NATURE_ID; - } - /* - * @see IProjectNature#deconfigure() - */ - public void deconfigure() throws CoreException { - } - - /* - * @see RepositoryProvider#getFileModificationValidator() - */ - public IFileModificationValidator getFileModificationValidator() { - return mv; - } - - /* - * @see RepositoryProvider#getMoveDeleteHook() - */ - public IMoveDeleteHook getMoveDeleteHook() { - return mdh; - } - - public void setModificationValidator(IFileModificationValidator mv) { - this.mv = mv; - } - - public void setMoveDeleteHook(IMoveDeleteHook mdh) { - this.mdh = mdh; - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java deleted file mode 100644 index c116ebec6..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import org.eclipse.core.resources.IFileModificationValidator; -import org.eclipse.core.resources.team.IMoveDeleteHook; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.team.core.RepositoryProvider; - -public class RepositoryProviderNaish extends RepositoryProvider { - - final public static String NATURE_ID = "org.eclipse.team.tests.core.naish-provider"; - private IMoveDeleteHook mdh; - private IFileModificationValidator mv; - /* - * @see RepositoryProvider#configureProject() - */ - public void configureProject() throws CoreException { - } - - /* - * @see RepositoryProvider#getID() - */ - public String getID() { - return NATURE_ID; - } - /* - * @see IProjectNature#deconfigure() - */ - public void deconfigure() throws CoreException { - } - - public void setModificationValidator(IFileModificationValidator mv) { - this.mv = mv; - } - - public void setMoveDeleteHook(IMoveDeleteHook mdh) { - this.mdh = mdh; - } - /* - * @see RepositoryProvider#getFileModificationValidator() - */ - public IFileModificationValidator getFileModificationValidator() { - return mv; - } - - /* - * @see RepositoryProvider#getMoveDeleteHook() - */ - public IMoveDeleteHook getMoveDeleteHook() { - return mdh; - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java deleted file mode 100644 index 772fadc12..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.team.core.RepositoryProvider; - -public class RepositoryProviderOtherSport extends RepositoryProvider { - - final public static String NATURE_ID = "org.eclipse.team.tests.core.other"; - - /* - * @see RepositoryProvider#configureProject() - */ - public void configureProject() throws CoreException { - } - - /* - * @see RepositoryProvider#getID() - */ - public String getID() { - return NATURE_ID; - } - /* - * @see IProjectNature#deconfigure() - */ - public void deconfigure() throws CoreException { - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java deleted file mode 100644 index baa5a6327..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java +++ /dev/null @@ -1,382 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import java.io.ByteArrayInputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import junit.extensions.TestSetup; -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFileModificationValidator; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceStatus; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.resources.team.IMoveDeleteHook; -import org.eclipse.core.resources.team.IResourceTree; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.team.core.RepositoryProvider; -import org.eclipse.team.core.TeamException; - -public class RepositoryProviderTests extends TeamTest { - public RepositoryProviderTests() { - super(); - } - - public RepositoryProviderTests(String name) { - super(name); - } - - public static Test suite() { - TestSuite suite = new TestSuite(RepositoryProviderTests.class); - return new TestSetup(suite); - //return new testSetup(new RepositoryProviderTests("test")); - } - - public void testProvidersRegistered() throws CoreException, TeamException { - List repoProviderIds = new ArrayList(Arrays.asList(RepositoryProvider.getAllProviderTypeIds())); - assertEquals(true, repoProviderIds.contains(RepositoryProviderBic.NATURE_ID)); - assertEquals(true, repoProviderIds.contains(RepositoryProviderNaish.NATURE_ID)); - assertEquals(false, repoProviderIds.contains(RepositoryProviderOtherSport.NATURE_ID)); - } - - public void testGetProviderGeneric() throws CoreException, TeamException { - IProject project = getUniqueTestProject("testGetProviderGeneric1"); - IProject project2 = getUniqueTestProject("testGetProviderGeneric2"); - - // test that adding a non registered provider doesn't work - boolean good = false; - try { - RepositoryProvider.map(project, RepositoryProviderOtherSport.NATURE_ID); - } catch (TeamException e) { - good = true; - } - assertTrue(good); - - // adding a valid team provider should be fine - RepositoryProvider.map(project, RepositoryProviderNaish.NATURE_ID); - RepositoryProvider.map(project2, RepositoryProviderNaish.NATURE_ID); - RepositoryProvider provider1 = RepositoryProvider.getProvider(project); - RepositoryProvider provider2 = RepositoryProvider.getProvider(project2); - assertTrue(provider1 != null && provider1.getID().equals(RepositoryProviderNaish.NATURE_ID)); - assertTrue(provider2 != null && provider2.getID().equals(RepositoryProviderNaish.NATURE_ID)); - assertTrue(provider1.getProject().equals(project) && provider2.getProject().equals(project2)); - - // remapping a provider is allowed - RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID); - provider1 = RepositoryProvider.getProvider(project); - assertTrue(provider1 != null && provider1.getID().equals(RepositoryProviderBic.NATURE_ID)); - - // closed or non-existant projects cannot be associated with a provider - IProject closedProject = getUniqueTestProject("testGetProviderGenericClosed"); - IProject nonExistantProject = ResourcesPlugin.getWorkspace().getRoot().getProject("nonExistant"); - closedProject.close(null); - assertTrue(RepositoryProvider.getProvider(closedProject) == null); - assertTrue(RepositoryProvider.getProvider(nonExistantProject) == null); - - // removing the nature removes the provider association - RepositoryProvider.unmap(project); - RepositoryProvider.unmap(project2); - assertTrue(RepositoryProvider.getProvider(project)==null); - assertTrue(RepositoryProvider.getProvider(project2)==null); - } - - public void testGetProviderById() throws CoreException, TeamException { - IProject project1 = getUniqueTestProject("testGetProviderById_1"); - IProject project2 = getUniqueTestProject("testGetProviderById_2"); - - // adding a valid team provider should be fine - RepositoryProvider.map(project1, RepositoryProviderBic.NATURE_ID); - RepositoryProvider.map(project2, RepositoryProviderNaish.NATURE_ID); - assertTrue(RepositoryProvider.getProvider(project1, RepositoryProviderBic.NATURE_ID)!=null); - assertTrue(RepositoryProvider.getProvider(project2, RepositoryProviderNaish.NATURE_ID)!=null); - - // closed or non-existant projects cannot be associated with a provider - IProject closedProject = getUniqueTestProject("testGetProviderGenericClosed"); - IProject nonExistantProject = ResourcesPlugin.getWorkspace().getRoot().getProject("nonExistant"); - closedProject.close(null); - assertTrue(RepositoryProvider.getProvider(closedProject, "id") == null); - assertTrue(RepositoryProvider.getProvider(nonExistantProject, "id") == null); - - // removing the nature removes the provider association - RepositoryProvider.unmap(project1); - RepositoryProvider.unmap(project2); - assertTrue(RepositoryProvider.getProvider(project1, RepositoryProviderBic.NATURE_ID)==null); - assertTrue(RepositoryProvider.getProvider(project2, RepositoryProviderNaish.NATURE_ID)==null); - } - - public void testFileModificationValidator() throws CoreException, TeamException { - IProject project = getUniqueTestProject("testFileModificationValidator"); - - // adding a valid team provider should be fine - RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID); - RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(project, RepositoryProviderBic.NATURE_ID); - assertTrue(bicProvider!=null); - - // test that validator gets called by team core dispatching - final boolean[] called = new boolean[] {false}; - bicProvider.setModificationValidator(new IFileModificationValidator() { - // can't test validate edit here because it is only called from editors - public IStatus validateEdit(IFile[] files, Object context) { - return null; - } - public IStatus validateSave(IFile file) { - called[0] = true; - return getTeamTestStatus(IStatus.OK); - } - }); - IFile file = project.getFile("test.txt"); - file.create(new ByteArrayInputStream("test".getBytes()), true, null); - file.setContents(new ByteArrayInputStream("test2".getBytes()), true, false, null); - assertTrue(called[0] == true); - - // test that validator can veto a setContents - called[0] = false; - bicProvider.setModificationValidator(new IFileModificationValidator() { - // can't test validate edit here because it is only called from editors - public IStatus validateEdit(IFile[] files, Object context) { - return null; - } - public IStatus validateSave(IFile file) { - called[0] = true; - return getTeamTestStatus(IStatus.ERROR); - } - }); - try { - file.setContents(new ByteArrayInputStream("test3".getBytes()), true, false, null); - fail("validate hook should veto this setContents"); - } catch(CoreException e) { - assertTrue(called[0] == true); - } - - // test that default validator allows the modification - bicProvider.setModificationValidator(null); - file.setContents(new ByteArrayInputStream("test4".getBytes()), true, false, null); - } - - public void testMoveDeleteHook() throws CoreException, TeamException { - final IProject project = getUniqueTestProject("testMoveDeleteHook"); - - // adding a valid team provider should be fine - RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID); - RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(project, RepositoryProviderBic.NATURE_ID); - assertTrue(bicProvider!=null); - - // only testing that dispatching works, resources plugin is testing the rest of the API - final boolean[] called = new boolean[] {false, false, false, false, false, false}; - IMoveDeleteHook hook = new IMoveDeleteHook() { - public boolean deleteFile(IResourceTree tree, IFile file, int updateFlags, IProgressMonitor monitor) { - called[0] = true; - return false; - } - public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) { - called[1] = true; - return false; - } - public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) { - called[2] = true; - return false; - } - public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) { - called[3] = true; - return false; - } - public boolean moveFolder(IResourceTree tree, IFolder source, IFolder destination, int updateFlags, IProgressMonitor monitor) { - called[4] = true; - return false; - } - public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) { - called[5] = true; - return false; - } - }; - bicProvider.setMoveDeleteHook(hook); - - IResource[] resources = buildResources(project, new String[] {"deleteFile.txt", "moveFile.txt", "deletedFolder/", "moveFolder/"}); - ensureExistsInWorkspace(resources, true); - resources[0].delete(false, null); - resources[1].move(resources[1].getFullPath().removeLastSegments(1).append("movedFile_NEW"), false, null); - resources[2].delete(false, null); - resources[3].move(resources[3].getFullPath().removeLastSegments(1).append("movedFolder"), false, null); - // moving using the description allows the moved project to have natures ids or origination - IProjectDescription desc = project.getDescription(); - desc.setName("movedProject"); - project.move(desc, false, null); - IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject("movedProject"); - bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(newProject); - bicProvider.setMoveDeleteHook(hook); - newProject.delete(true, null); - for (int i = 0; i < called.length; i++) { - assertTrue(called[i]); - } - } - - public void testMoveDeleteHookBetweenProjects() throws CoreException, TeamException { - final IProject projectA = getUniqueTestProject("testMoveDeleteHookBetweenProjects_A"); - final IProject projectB = getUniqueTestProject("testMoveDeleteHookBetweenProjects_B"); - final IProject projectC = getUniqueTestProject("testMoveDeleteHookBetweenProjects_C"); - - // adding a valid team provider should be fine - RepositoryProvider.map(projectA, RepositoryProviderBic.NATURE_ID); - final RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(projectA, RepositoryProviderBic.NATURE_ID); - RepositoryProvider.map(projectB, RepositoryProviderNaish.NATURE_ID); - final RepositoryProviderNaish naishProvider = (RepositoryProviderNaish)RepositoryProvider.getProvider(projectB, RepositoryProviderNaish.NATURE_ID); - assertTrue(bicProvider!=null && naishProvider!=null); - - // only testing that dispatching works, resources plugin is testing the rest of the API - final boolean[] calledProjectA = new boolean[] {false, false}; - bicProvider.setMoveDeleteHook(new IMoveDeleteHook() { - public boolean deleteFile(IResourceTree tree, IFile file, int updateFlags, IProgressMonitor monitor) { - return false; - } - public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) { - return false; - } - public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) { - return false; - } - public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) { - assertTrue(bicProvider.getProject().equals(source.getProject())); - calledProjectA[0] = true; - return false; - } - public boolean moveFolder(IResourceTree tree, IFolder source, IFolder destination, int updateFlags, IProgressMonitor monitor) { - assertTrue(bicProvider.getProject().equals(source.getProject())); - calledProjectA[1] = true; - return false; - } - public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) { - return false; - } - }); - - final boolean[] calledProjectB = new boolean[] {false, false}; - naishProvider.setMoveDeleteHook(new IMoveDeleteHook() { - public boolean deleteFile(IResourceTree tree, IFile file, int updateFlags, IProgressMonitor monitor) { - return false; - } - public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) { - return false; - } - public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) { - return false; - } - public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) { - assertTrue(bicProvider.getProject().equals(destination.getProject())); - calledProjectB[0] = true; - return false; - } - public boolean moveFolder(IResourceTree tree, IFolder source, IFolder destination, int updateFlags, IProgressMonitor monitor) { - assertTrue(bicProvider.getProject().equals(destination.getProject())); - calledProjectB[1] = true; - return false; - } - public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) { - return false; - } - }); - - // test that moving files/folders between two projects with providers calls the destination - IResource[] resources = buildResources(projectA, new String[] {"moveFile.txt", "moveFolder/"}); - ensureExistsInWorkspace(resources, true); - resources[0].move(projectB.getFullPath().append("moveFile_new.txt"), false, null); - resources[1].move(projectB.getFullPath().append("movedFolder"), false, null); - for (int i = 0; i < calledProjectA.length; i++) { - assertTrue(calledProjectA[i] && calledProjectB[i]==false); - } - - // test that moving files/folders from a project with a provider to a project without a provider calls the - // hooks for the source - calledProjectA[0] = false; calledProjectA[1] = false; - calledProjectB[0] = false; calledProjectB[1] = false; - resources = buildResources(projectA, new String[] {"anotherMovedFiled.txt", "anotherMovedFolder/"}); - ensureExistsInWorkspace(resources, true); - resources[0].move(projectC.getFullPath().append("moveFileOther_new.txt"), false, null); - resources[1].move(projectC.getFullPath().append("movedFolderOther"), false, null); - for (int i = 0; i < calledProjectA.length; i++) { - assertTrue(calledProjectA[i] && calledProjectB[i]==false); - } - } - - public void testMapSuccess() throws CoreException, TeamException { - IProject project = getUniqueTestProject("testLinkSuccess"); - buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true); - IFolder folder = project.getFolder("link"); - folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null); - RepositoryProviderWithLinking.setCanHandleLinking(true); - RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID); - } - - public void testLinkSuccess() throws CoreException, TeamException { - IProject project = getUniqueTestProject("testLinkSuccess"); - buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true); - RepositoryProviderWithLinking.setCanHandleLinking(true); - RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID); - IFolder folder = project.getFolder("link"); - folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null); - } - - public void testMapFailure() throws CoreException, TeamException { - IProject project = getUniqueTestProject("testLinkSuccess"); - buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true); - IFolder folder = project.getFolder("link"); - folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null); - try { - RepositoryProviderWithLinking.setCanHandleLinking(false); - RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID); - } catch (TeamException e) { - if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) { - throw e; - } - return; - } - fail("Link should be disallowed"); - } - - public void testLinkFailure() throws CoreException, TeamException { - IProject project = getUniqueTestProject("testLinkSuccess"); - buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true); - RepositoryProviderWithLinking.setCanHandleLinking(false); - RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID); - IFolder folder = project.getFolder("link"); - try { - folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null); - } catch (CoreException e) { - if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) { - throw e; - } - return; - } - fail("Link should be disallowed"); - } - - public void testIsShared() throws CoreException, TeamException { - IProject project1 = getUniqueTestProject("testGetProviderById_1"); - RepositoryProvider.map(project1, RepositoryProviderBic.NATURE_ID); - assertTrue(RepositoryProvider.isShared(project1)); - project1.close(null); - assertTrue(!RepositoryProvider.isShared(project1)); - project1.open(null); - assertTrue(RepositoryProvider.isShared(project1)); - RepositoryProvider.unmap(project1); - assertTrue(!RepositoryProvider.isShared(project1)); - } - -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java deleted file mode 100644 index 21c238e78..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import java.io.File; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.team.core.ProjectSetCapability; -import org.eclipse.team.core.RepositoryProviderType; -import org.eclipse.team.core.TeamException; - -public class RepositoryProviderTypeBic extends RepositoryProviderType { - File createdFile; - /** - * @see org.eclipse.team.core.RepositoryProviderType#getProjectSetCapability() - */ - public ProjectSetCapability getProjectSetCapability() { - return new ProjectSetCapability() { - public IProject[] addToWorkspace( - String[] referenceStrings, - String filename, - IPath root, - Object context, - IProgressMonitor monitor) - throws TeamException { - return null; - } - - public void projectSetCreated( - File file, - IProgressMonitor monitor) { - - createdFile = file; - } - }; - } - - /** - * @return File - */ - public File getCreatedFile() { - return createdFile; - } - - /** - * Sets the createdFile. - * @param createdFile The createdFile to set - */ - public void setCreatedFile(File createdFile) { - this.createdFile = createdFile; - } - -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java deleted file mode 100644 index fc5f34b08..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.team.core.RepositoryProvider; - -/** - * This class is used to text resource linking - */ -public class RepositoryProviderWithLinking extends RepositoryProvider { - - final public static String TYPE_ID = "org.eclipse.team.tests.core.linking"; - - private static boolean canHandleLinking = false; - - /** - * @see org.eclipse.team.core.RepositoryProvider#configureProject() - */ - public void configureProject() throws CoreException { - } - /** - * @see org.eclipse.team.core.RepositoryProvider#getID() - */ - public String getID() { - return TYPE_ID; - } - /** - * @see org.eclipse.core.resources.IProjectNature#deconfigure() - */ - public void deconfigure() throws CoreException { - } - - /** - * Sets the canHandleLinking. - * @param canHandleLinking The canHandleLinking to set - */ - public static void setCanHandleLinking(boolean canHandleLinking) { - RepositoryProviderWithLinking.canHandleLinking = canHandleLinking; - } - - /** - * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResources() - */ - public boolean canHandleLinkedResources() { - return canHandleLinking; - } - -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java deleted file mode 100644 index b7fcc06bd..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.eclipse.team.internal.core.streams.CRLFtoLFInputStream; -import org.eclipse.team.internal.core.streams.LFtoCRLFInputStream; - -public class StreamTests extends TestCase { - private static final byte[] EMPTY_SEQ = new byte[] { }; - private static final byte[] LF_SEQ = new byte[] { '\n' }; - private static final byte[] CRLF_SEQ = new byte[] { '\r', '\n' }; - - public StreamTests(String name) { - super(name); - } - - public static Test suite() { - return new TestSuite(StreamTests.class); - } - - public void testCRLFtoLFInputStream() throws IOException { - testCRLFtoLFTranslation("", ""); - testCRLFtoLFTranslation("a", "a"); - testCRLFtoLFTranslation("abc", "abc"); - testCRLFtoLFTranslation("\n", "\n"); - testCRLFtoLFTranslation("\r", "\r"); - testCRLFtoLFTranslation("\r\n", "\n"); - testCRLFtoLFTranslation("x\r\r\n\rx", "x\r\n\rx"); - testCRLFtoLFTranslation("The \r\n quick brown \n fox \r\n\n\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n", - "The \n quick brown \n fox \n\n\r\n jumped \n\n over \n the \n lazy dog.\n"); - } - - private void testCRLFtoLFTranslation(String pre, String post) throws IOException { - ByteArrayInputStream bin = new ByteArrayInputStream(pre.getBytes()); - InputStream in = new CRLFtoLFInputStream(bin); - InputStream inExpected = new ByteArrayInputStream(post.getBytes()); - assertStreamEquals(inExpected, in); - } - - public void testLFtoCRLFInputStream() throws IOException { - testLFtoCRLFTranslation("", ""); - testLFtoCRLFTranslation("a", "a"); - testLFtoCRLFTranslation("abc", "abc"); - testLFtoCRLFTranslation("\n", "\r\n"); - testLFtoCRLFTranslation("\r", "\r"); - testLFtoCRLFTranslation("\r\n", "\r\r\n"); - testLFtoCRLFTranslation("x\r\r\n\rx", "x\r\r\r\n\rx"); - testLFtoCRLFTranslation("The \r\n quick brown \n fox \r\n\n\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n", - "The \r\r\n quick brown \r\n fox \r\r\n\r\n\r\r\r\n jumped \r\n\r\n over \r\r\n the \r\n lazy dog.\r\r\n"); - } - - private void testLFtoCRLFTranslation(String pre, String post) throws IOException { - ByteArrayInputStream bin = new ByteArrayInputStream(pre.getBytes()); - InputStream in = new LFtoCRLFInputStream(bin); - InputStream inExpected = new ByteArrayInputStream(post.getBytes()); - assertStreamEquals(inExpected, in); - } - - private void assertStreamEquals(InputStream in1, InputStream in2) throws IOException { - try { - for (;;) { - int byte1 = in1.read(); - int byte2 = in2.read(); - assertEquals("Streams not equal", byte1, byte2); - if (byte1 == -1) break; - } - } finally { - in1.close(); - in2.close(); - } - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java deleted file mode 100644 index 35727acdb..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java +++ /dev/null @@ -1,235 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.core; - -import java.io.*; -import java.util.*; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.*; -import org.eclipse.core.tests.harness.EclipseWorkspaceTest; - -public class TeamTest extends EclipseWorkspaceTest { - protected static IProgressMonitor DEFAULT_MONITOR = new NullProgressMonitor(); - protected static final IProgressMonitor DEFAULT_PROGRESS_MONITOR = new NullProgressMonitor(); - - public static Test suite(Class c) { - String testName = System.getProperty("eclipse.team.testName"); - if (testName == null) { - TestSuite suite = new TestSuite(c); - return suite; - } else { - try { - return (Test)c.getConstructor(new Class[] { String.class }).newInstance(new Object[] {testName}); - } catch (Exception e) { - fail(e.getMessage()); - // Above will throw so below is never actually reached - return null; - } - } - } - - public TeamTest() { - super(); - } - public TeamTest(String name) { - super(name); - } - - protected IProject getNamedTestProject(String name) throws CoreException { - IProject target = getWorkspace().getRoot().getProject(name); - if (!target.exists()) { - target.create(null); - target.open(null); - } - assertExistsInFileSystem(target); - return target; - } - - protected IProject getUniqueTestProject(String prefix) throws CoreException { - // manage and share with the default stream create by this class - return getNamedTestProject(prefix + "-" + Long.toString(System.currentTimeMillis())); - } - - protected IStatus getTeamTestStatus(int severity) { - return new Status(severity, "org.eclipse.team.tests.core", 0, "team status", null); - } - - /** - * Creates filesystem 'resources' with the given names and fills them with random text. - * @param container An object that can hold the newly created resources. - * @param hierarchy A list of files & folder names to use as resources - * @param includeContainer A flag that controls whether the container is included in the list of resources. - * @return IResource[] An array of resources filled with variable amounts of random text - * @throws CoreException - */ - public IResource[] buildResources(IContainer container, String[] hierarchy, boolean includeContainer) throws CoreException { - List resources = new ArrayList(hierarchy.length + 1); - if (includeContainer) - resources.add(container); - resources.addAll(Arrays.asList(buildResources(container, hierarchy))); - IResource[] result = (IResource[]) resources.toArray(new IResource[resources.size()]); - ensureExistsInWorkspace(result, true); - for (int i = 0; i < result.length; i++) { - if (result[i].getType() == IResource.FILE) // 3786 bytes is the average size of Eclipse Java files! - ((IFile) result[i]).setContents(getRandomContents(100), true, false, null); - } - return result; - } - public IResource[] buildEmptyResources(IContainer container, String[] hierarchy, boolean includeContainer) throws CoreException { - List resources = new ArrayList(hierarchy.length + 1); - resources.addAll(Arrays.asList(buildResources(container, hierarchy))); - if (includeContainer) - resources.add(container); - IResource[] result = (IResource[]) resources.toArray(new IResource[resources.size()]); - ensureExistsInWorkspace(result, true); - return result; - } - /** - * Creates an InputStream filled with random text in excess of a specified minimum. - * @param sizeAtLeast The minimum number of chars to fill the input stream with. - * @return InputStream The input stream containing random text. - */ - protected static InputStream getRandomContents(int sizeAtLeast) { - StringBuffer randomStuff = new StringBuffer(sizeAtLeast + 100); - while (randomStuff.length() < sizeAtLeast) { - randomStuff.append(getRandomSnippet()); - } - return new ByteArrayInputStream(randomStuff.toString().getBytes()); - } - /** - * Produces a random chunk of text from a finite collection of pre-written phrases. - * @return String Some random words. - */ - public static String getRandomSnippet() { - switch ((int) Math.round(Math.random() * 10)) { - case 0 : - return "este e' o meu conteudo (portuguese)"; - case 1 : - return "Dann brauchen wir aber auch einen deutschen Satz!"; - case 2 : - return "I'll be back"; - case 3 : - return "don't worry, be happy"; - case 4 : - return "there is no imagination for more sentences"; - case 5 : - return "customize yours"; - case 6 : - return "foo"; - case 7 : - return "bar"; - case 8 : - return "foobar"; - case 9 : - return "case 9"; - default : - return "these are my contents"; - } - } - - - public void sleep(int ms) { - try { - Thread.sleep(ms); - } catch (InterruptedException e) { - System.err.println("Testing was rudely interrupted."); - } - } - - public void appendText(IResource resource, String text, boolean prepend) throws CoreException, IOException { - IFile file = (IFile) resource; - InputStream in = file.getContents(); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - try { - if (prepend) { - bos.write(text.getBytes()); - } - int i; - while ((i = in.read()) != -1) { - bos.write(i); - } - if (!prepend) { - bos.write(text.getBytes()); - } - } finally { - in.close(); - } - file.setContents(new ByteArrayInputStream(bos.toByteArray()), false, false, DEFAULT_MONITOR); - } - /* - * Get the resources for the given resource names - */ - public IResource[] getResources(IContainer container, String[] hierarchy) throws CoreException { - IResource[] resources = new IResource[hierarchy.length]; - for (int i=0;i<resources.length;i++) { - resources[i] = container.findMember(hierarchy[i]); - if (resources[i] == null) { - resources[i] = buildResources(container, new String[] {hierarchy[i]})[0]; - } - } - return resources; - } - - // Assert that the two containers have equal contents - protected void assertEquals(IContainer container1, IContainer container2) throws CoreException { - assertEquals(container1.getName(), container2.getName()); - List members1 = new ArrayList(); - members1.addAll(Arrays.asList(container1.members())); - - List members2 = new ArrayList(); - members2.addAll(Arrays.asList(container2.members())); - - assertTrue(members1.size() == members2.size()); - for (int i=0;i<members1.size();i++) { - IResource member1 = (IResource)members1.get(i); - IResource member2 = container2.findMember(member1.getName()); - assertNotNull(member2); - assertEquals(member1, member2); - } - } - - // Assert that the two files have equal contents - protected void assertEquals(IFile file1, IFile file2) throws CoreException { - assertEquals(file1.getName(), file2.getName()); - assertTrue(compareContent(file1.getContents(), file2.getContents())); - } - - // Assert that the two projects have equal contents ignoreing the project name - // and the .vcm_meta file - protected void assertEquals(IProject container1, IProject container2) throws CoreException { - List members1 = new ArrayList(); - members1.addAll(Arrays.asList(container1.members())); - members1.remove(container1.findMember(".project")); - - List members2 = new ArrayList(); - members2.addAll(Arrays.asList(container2.members())); - members2.remove(container2.findMember(".project")); - - assertTrue("Number of children differs for " + container1.getFullPath(), members1.size() == members2.size()); - for (int i=0;i<members1.size();i++) { - IResource member1 = (IResource)members1.get(i); - IResource member2 = container2.findMember(member1.getName()); - assertNotNull(member2); - assertEquals(member1, member2); - } - } - protected void assertEquals(IResource resource1, IResource resource2) throws CoreException { - assertEquals(resource1.getType(), resource2.getType()); - if (resource1.getType() == IResource.FILE) - assertEquals((IFile)resource1, (IFile)resource2); - else - assertEquals((IContainer)resource1, (IContainer)resource2); - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java deleted file mode 100644 index 24f9123be..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.ui.synchronize; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.eclipse.core.tests.harness.EclipseWorkspaceTest; - -public class AllTeamSynchronizeTests extends EclipseWorkspaceTest { - - /** - * Constructor for CVSClientTest. - */ - public AllTeamSynchronizeTests() { - super(); - } - - /** - * Constructor for CVSClientTest. - * @param name - */ - public AllTeamSynchronizeTests(String name) { - super(name); - } - - public static Test suite() { - TestSuite suite = new TestSuite(); - suite.addTest(TestDiffNodePresentationModel.suite()); - suite.addTest(SyncInfoSetContentProviderTest.suite()); - return suite; - } -} - diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/SyncInfoSetContentProviderTest.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/SyncInfoSetContentProviderTest.java deleted file mode 100644 index 8ed7c498a..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/SyncInfoSetContentProviderTest.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.ui.synchronize; - -import java.util.Iterator; -import java.util.List; - -import junit.framework.Test; - -import org.eclipse.core.resources.*; -import org.eclipse.team.core.synchronize.SyncInfoTree; -import org.eclipse.team.internal.ui.synchronize.SynchronizeModelProvider; - -/** - * Tests for the SyncInfoSet content providers. - */ -public class SyncInfoSetContentProviderTest extends TestDiffNodePresentationModel { - - /** - * Constructor for CVSProviderTest - */ - public SyncInfoSetContentProviderTest() { - super(); - } - - /** - * Constructor for CVSProviderTest - */ - public SyncInfoSetContentProviderTest(String name) { - super(name); - } - - public static Test suite() { - return suite(SyncInfoSetContentProviderTest.class); - } - - /* (non-Javadoc) - * @see org.eclipse.team.tests.ui.synchronize.TestDiffNodePresentationModel#getDiffNodeController() - */ - protected SynchronizeModelProvider getDiffNodeController(SyncInfoTree set) { - //return new CompressedFoldersModelProvider(set); - return null; - } - - private void assertFolderPresent(IFolder folder, List resources) { - // First, if the folder is out-of-sync, it should be visible - for (Iterator iter = resources.iterator(); iter.hasNext();) { - IResource resource = (IResource) iter.next(); - if (resource.equals(folder)) { - // The folder should be present. - // Remove it since it has been verified - iter.remove(); - return; - } - } - // If the folder contains a file in the list, it is also OK - for (Iterator iter = resources.iterator(); iter.hasNext();) { - IResource resource = (IResource) iter.next(); - if (resource.getType() == IResource.FILE && resource.getParent().equals(folder)) { - // The compressed folder is valid since it contains an out-of-sync file - // However, the resource is left since it has not been verified (only it's parent) - return; - } - } - fail("Folder " + folder.getFullPath() + " should not be visible but is."); - } - - private void assertFilePresent(IResource itemResource, List resources) { - for (Iterator iter = resources.iterator(); iter.hasNext();) { - IResource resource = (IResource) iter.next(); - if (resource.equals(itemResource)) { - // The resource has been verified so it can be removed - iter.remove(); - return; - } - } - fail("Resource " + itemResource.getFullPath() + " should not be visible but is."); - } - - private void assertProjectPresent(IProject project, List resources) { -// First, if the project is out-of-sync, it should be visible - for (Iterator iter = resources.iterator(); iter.hasNext();) { - IResource resource = (IResource) iter.next(); - if (resource.equals(project)) { - // The folder should be present. - // Remove it since it has been verified - iter.remove(); - return; - } - } - for (Iterator iter = resources.iterator(); iter.hasNext();) { - IResource resource = (IResource) iter.next(); - if (resource.getProject().equals(project)) { - return; - } - } - fail("Project " + project.getName() + " should not be visible but is."); - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestDiffNodePresentationModel.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestDiffNodePresentationModel.java deleted file mode 100644 index aaed67326..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestDiffNodePresentationModel.java +++ /dev/null @@ -1,219 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.ui.synchronize; - -import java.util.ArrayList; -import java.util.List; -import junit.framework.Test; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.swt.widgets.Item; -import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.synchronize.*; -import org.eclipse.team.internal.ui.Utils; -import org.eclipse.team.internal.ui.synchronize.*; -import org.eclipse.team.tests.core.TeamTest; -import org.eclipse.team.tests.ui.views.ContentProviderTestView; -import org.eclipse.team.tests.ui.views.TestTreeViewer; -import org.eclipse.team.ui.TeamUI; -import org.eclipse.team.ui.synchronize.*; -import org.eclipse.team.ui.synchronize.ISynchronizeParticipant; - - -public class TestDiffNodePresentationModel extends TeamTest { - - private ContentProviderTestView view; - private SyncInfoTree set; - private TreeViewerAdvisor configuration; - - public TestDiffNodePresentationModel() { - super(); - } - - public TestDiffNodePresentationModel(String name) { - super(name); - } - - public static Test suite() { - return suite(TestDiffNodePresentationModel.class); - } - - /* (non-Javadoc) - * @see junit.framework.TestCase#setUp() - */ - protected void setUp() throws Exception { - super.setUp(); - TestParticipant p = (TestParticipant)getParticipant(TestParticipant.ID); - p.reset(); - this.set = p.getSyncInfoSet(); - view = ContentProviderTestView.findViewInActivePage(null); - configuration.initializeViewer(view.getViewer()); - } - - /** - * - */ - private ISynchronizeParticipant getParticipant(String id) throws TeamException { - ISynchronizeParticipantReference reference = TeamUI.getSynchronizeManager().get(id, null); - if (reference != null) { - return reference.getParticipant(); - } - return null; - } - - /* (non-Javadoc) - * @see junit.framework.TestCase#tearDown() - */ - protected void tearDown() throws Exception { - set = null; - configuration.dispose(); - super.tearDown(); - } - - protected SynchronizeModelProvider getDiffNodeController(SyncInfoTree set) { - //return new HierarchicalModelProvider(set); - return null; - } - - /* - * This method creates a project with the given resources, imports - * it to CVS and checks it out - */ - protected IProject createProject(String prefix, String[] resources) throws CoreException { - IProject project = getUniqueTestProject(prefix); - buildResources(project, resources, true); - return project; - } - - /* - * Create a test project using the currently running test case as the project name prefix - */ - protected IProject createProject(String[] resources) throws CoreException { - return createProject(getName(), resources); - } - - private void adjustSet(SyncInfoSet set, IProject project, String[] resourceStrings, int[] syncKind) throws TeamException { - IResource[] resources = buildResources(project, resourceStrings); - try { - set.beginInput(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; - int kind = syncKind[i]; - if (kind == SyncInfo.IN_SYNC) { - set.remove(resource); - } else { - SyncInfo newInfo = new TestSyncInfo(resource, kind); - set.add(newInfo); - } - } - } finally { - set.endInput(null); - } - } - - /** - * Ensure that the resource - * @param resources - */ - protected void assertProperVisibleItems() { - IResource[] resources = set.getResources(); - List resourceList = new ArrayList(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; - resourceList.add(resource); - } - TestTreeViewer viewer = view.getViewer(); - Item[] items = viewer.getRootItems(); - if (resources.length == 0) { - assertTrue("There are items visible when there should not be.", items.length == 0); - return; - } - // Test that all items in the tree are expected - for (int i = 0; i < items.length; i++) { - Item item = items[i]; - assertThatAllOutOfSyncResourcesAreShown(item, resourceList); - } - // Test that all expected resources and their parents are present - assertTrue("The tree did not contain all expected resources: " + resourceList.toString(), resourceList.isEmpty()); - } - - /** - * Traverse every element shown in the view and ensure that every out-of-sync - * resource in the set is at least shown. This doesn't test the actual logical - * organization, but does ensure that all out-of-sync resources are shown only - * once. - */ - protected void assertThatAllOutOfSyncResourcesAreShown(Item item, List outOfSyncResources) { - Object node = item.getData(); - SyncInfo info = (SyncInfo)Utils.getAdapter(node, SyncInfo.class); - if(info != null) { - assertTrue("The tree contained an out-of-sync resource that wasn't in the set", outOfSyncResources.remove(info.getLocal())); - } - Item[] children = view.getViewer().getChildren(item); - for (int i = 0; i < children.length; i++) { - Item child = children[i]; - assertThatAllOutOfSyncResourcesAreShown(child, outOfSyncResources); - } - } - - public void testNestedFolder() throws CoreException { - IProject project = createProject(new String[]{"file.txt", "folder1/file2.txt", "folder1/folder2/file3.txt"}); - adjustSet(set, project, - new String[]{"file.txt"}, - new int[]{SyncInfo.OUTGOING | SyncInfo.CHANGE}); - assertProperVisibleItems(); - adjustSet(set, project, - new String[]{"folder1/file2.txt", "folder1/folder2/file3.txt"}, - new int[]{SyncInfo.OUTGOING | SyncInfo.CHANGE, SyncInfo.OUTGOING | SyncInfo.CHANGE}); - assertProperVisibleItems(); - adjustSet(set, project, - new String[]{"folder1/file2.txt"}, - new int[]{SyncInfo.IN_SYNC,}); - assertProperVisibleItems(); - } - - public void testParentRemovalWithChildRemaining() throws CoreException { - IProject project = createProject(new String[]{"file.txt", "folder1/file2.txt", "folder1/folder2/file3.txt"}); - adjustSet(set, project, - new String[]{"folder1/folder2/", "folder1/folder2/file3.txt"}, - new int[]{SyncInfo.CONFLICTING | SyncInfo.CHANGE, SyncInfo.CONFLICTING | SyncInfo.CHANGE}); - assertProperVisibleItems(); - - adjustSet(set, project, - new String[]{"folder1/folder2/", "folder1/folder2/file3.txt"}, - new int[]{SyncInfo.IN_SYNC, SyncInfo.OUTGOING | SyncInfo.CHANGE}); - assertProperVisibleItems(); - } - - public void testEmptyFolderChange() throws CoreException { - IProject project = createProject(new String[]{"file.txt", "folder1/file2.txt", "folder1/folder2/file3.txt", "folder3/"}); - adjustSet(set, project, - new String[]{"folder1/folder2/", "folder1/folder2/file3.txt"}, - new int[]{SyncInfo.CONFLICTING | SyncInfo.CHANGE, SyncInfo.CONFLICTING | SyncInfo.CHANGE}); - assertProperVisibleItems(); - - adjustSet(set, project, - new String[]{"folder1/folder2/", "folder1/folder2/file3.txt"}, - new int[]{SyncInfo.IN_SYNC, SyncInfo.OUTGOING | SyncInfo.CHANGE}); - assertProperVisibleItems(); - - adjustSet(set, project, - new String[]{"folder1/folder2/file3.txt"}, - new int[]{SyncInfo.IN_SYNC}); - assertProperVisibleItems(); - - adjustSet(set, project, - new String[]{"folder3/"}, - new int[]{SyncInfo.INCOMING | SyncInfo.ADDITION}); - assertProperVisibleItems(); - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestPage.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestPage.java deleted file mode 100644 index 8adac24a3..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestPage.java +++ /dev/null @@ -1,120 +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.ui.synchronize; - -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.team.internal.ui.synchronize.StructuredViewerAdvisor; -import org.eclipse.team.internal.ui.synchronize.TreeViewerAdvisor; -import org.eclipse.team.ui.synchronize.*; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.part.Page; - -/** - * Page for testing - */ -public class TestPage extends Page implements ISynchronizePage { - - private ISynchronizePageConfiguration configuration; - private Composite composite; - private Viewer changesViewer; - private TreeViewerAdvisor viewerAdvisor; - - public TestPage(ISynchronizePageConfiguration configuration) { - this.configuration = configuration; - configuration.setPage(this); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite) - */ - public void createControl(Composite parent) { - composite = new Composite(parent, SWT.NONE); - //sc.setContent(composite); - GridLayout gridLayout= new GridLayout(); - gridLayout.makeColumnsEqualWidth= false; - gridLayout.marginWidth= 0; - gridLayout.marginHeight = 0; - gridLayout.verticalSpacing = 0; - composite.setLayout(gridLayout); - GridData data = new GridData(GridData.FILL_BOTH); - data.grabExcessVerticalSpace = true; - composite.setLayoutData(data); - - // Create the changes section which, in turn, creates the changes viewer and its configuration - this.changesViewer = createChangesViewer(composite); - } - - protected Viewer createChangesViewer(Composite parent) { - viewerAdvisor = new TreeViewerAdvisor(parent, configuration); - return viewerAdvisor.getViewer(); - } - - public StructuredViewerAdvisor getViewerAdvisor() { - return viewerAdvisor; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.IPage#getControl() - */ - public Control getControl() { - return composite; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.IPage#setFocus() - */ - public void setFocus() { - changesViewer.getControl().setFocus(); - } - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizePage#init(org.eclipse.team.ui.synchronize.ISynchronizePageSite) - */ - public void init(ISynchronizePageSite site) { - // Noop - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars) - */ - public void setActionBars(IActionBars actionBars) { - // Delegate menu creation to the advisor - viewerAdvisor.setActionBars(actionBars); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.Page#dispose() - */ - public void dispose() { - composite.dispose(); - super.dispose(); - } - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizePage#getViewer() - */ - public Viewer getViewer() { - return changesViewer; - } - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizePage#aboutToChangeProperty(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration, java.lang.String, java.lang.Object) - */ - public boolean aboutToChangeProperty(ISynchronizePageConfiguration configuration, String key, Object newValue) { - // Allow all changes - return true; - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestParticipant.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestParticipant.java deleted file mode 100644 index 03b9c93ce..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestParticipant.java +++ /dev/null @@ -1,74 +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.ui.synchronize; - -import org.eclipse.jface.wizard.IWizard; -import org.eclipse.team.core.synchronize.SyncInfoTree; -import org.eclipse.team.ui.synchronize.AbstractSynchronizeParticipant; -import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.part.IPageBookViewPage; - -public class TestParticipant extends AbstractSynchronizeParticipant { - - public static final String ID = "org.eclipse.team.tests.ui.test-participant"; //$NON-NLS-1$ - - private SyncInfoTree set = new SyncInfoTree(); - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration) - */ - protected void initializeConfiguration(ISynchronizePageConfiguration configuration) { - configuration.setProperty(ISynchronizePageConfiguration.P_SYNC_INFO_SET, set); - configuration.setMode(ISynchronizePageConfiguration.BOTH_MODE); - } - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#createPage(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration) - */ - public IPageBookViewPage createPage(ISynchronizePageConfiguration configuration) { - return new TestPage(configuration); - } - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#createSynchronizeWizard() - */ - public IWizard createSynchronizeWizard() { - return null; - } - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#dispose() - */ - public void dispose() { - // Noop - } - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#run(org.eclipse.ui.IWorkbenchPart) - */ - public void run(IWorkbenchPart part) { - // TODO Auto-generated method stub - - } - - /** - * - */ - public void reset() { - set.clear(); - } - - /** - * @return - */ - public SyncInfoTree getSyncInfoSet() { - return set; - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestSyncInfo.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestSyncInfo.java deleted file mode 100644 index 2a1150ac8..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestSyncInfo.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.ui.synchronize; - -import org.eclipse.core.resources.IResource; -import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.synchronize.SyncInfo; - -public class TestSyncInfo extends SyncInfo { - - private int kind; - - public TestSyncInfo(IResource resource, int kind) throws TeamException { - super(resource, null, null, null); - this.kind = kind; - } - - /* (non-Javadoc) - * @see org.eclipse.team.core.subscribers.SyncInfo#calculateKind() - */ - protected int calculateKind() throws TeamException { - return this.kind; - } - - /* (non-Javadoc) - * @see org.eclipse.team.core.subscribers.SyncInfo#getKind() - */ - public int getKind() { - return kind; - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java deleted file mode 100644 index 60ea66af8..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java +++ /dev/null @@ -1,43 +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.ui.synchronize; - -import org.eclipse.swt.widgets.Composite; -import org.eclipse.team.core.synchronize.SyncInfoTree; -import org.eclipse.team.internal.ui.synchronize.*; -import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; - -public class TestTreeViewerAdvisor extends TreeViewerAdvisor { - - public TestTreeViewerAdvisor(Composite parent, ISynchronizePageConfiguration configuration) { - super(parent, configuration); - } - - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.TreeViewerAdvisor#createModelManager(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration) - */ - protected SynchronizeModelManager createModelManager(ISynchronizePageConfiguration configuration) { - SynchronizeModelManager manager = new SynchronizeModelManager(configuration) { - protected ISynchronizeModelProvider createModelProvider(String id) { - return new HierarchicalModelProvider(getConfiguration(), getSyncInfoSet()); - } - protected ISynchronizeModelProviderDescriptor[] getSupportedModelProviders() { - return new ISynchronizeModelProviderDescriptor[] { - new HierarchicalModelProvider.HierarchicalModelProviderDescriptor()}; - } - private SyncInfoTree getSyncInfoSet() { - return (SyncInfoTree)getConfiguration().getProperty(ISynchronizePageConfiguration.P_SYNC_INFO_SET); - } - }; - manager.setViewerAdvisor(this); - return manager; - } -} diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/views/ContentProviderTestView.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/views/ContentProviderTestView.java deleted file mode 100644 index f6047411a..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/views/ContentProviderTestView.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.ui.views; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.team.internal.ui.TeamUIPlugin; -import org.eclipse.ui.*; -import org.eclipse.ui.part.ViewPart; - -public class ContentProviderTestView extends ViewPart { - - public static final String VIEW_ID = "org.eclipse.team.tests.ui.views.ContentProviderTestView"; - - private TestTreeViewer viewer; - - public static ContentProviderTestView findViewInActivePage(IWorkbenchPage activePage) { - try { - if (activePage == null) { - activePage = TeamUIPlugin.getActivePage(); - if (activePage == null) return null; - } - IViewPart part = activePage.findView(VIEW_ID); - if (part == null) - part = activePage.showView(VIEW_ID); - return (ContentProviderTestView)part; - } catch (PartInitException pe) { - return null; - } - } - - public ContentProviderTestView() { - } - - public void createPartControl(Composite parent) { - viewer = new TestTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - } - - public void setFocus() { - viewer.getControl().setFocus(); - } - - public TestTreeViewer getViewer() { - return viewer; - } -}
\ No newline at end of file diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/views/TestTreeViewer.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/views/TestTreeViewer.java deleted file mode 100644 index 7803f5ff2..000000000 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/views/TestTreeViewer.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 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.ui.views; - -import org.eclipse.compare.structuremergeviewer.DiffNode; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.swt.widgets.*; - -public class TestTreeViewer extends TreeViewer { - - public TestTreeViewer(Composite parent) { - super(parent); - } - - public TestTreeViewer(Composite parent, int style) { - super(parent, style); - } - - public TestTreeViewer(Tree tree) { - super(tree); - } - - public Item[] getRootItems() { - expandAll(); - return getChildren(getControl()); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.AbstractTreeViewer#getChildren(org.eclipse.swt.widgets.Widget) - */ - public Item[] getChildren(Widget o) { - return super.getChildren(o); - } - - public boolean hasItemFor(DiffNode node) { - return findItem(node) != null; - } -} |