| /******************************************************************************* |
| * Copyright (c) 2004, 2009 Eugene Kuleshov and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Eugene Kuleshov - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.mylyn.sandbox.tests; |
| |
| import junit.framework.TestCase; |
| |
| import org.eclipse.core.resources.IFolder; |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.core.runtime.NullProgressMonitor; |
| import org.eclipse.mylyn.internal.sandbox.ui.EclipseTaskRepositoryLinkProvider; |
| import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; |
| import org.eclipse.mylyn.sandbox.tests.util.PdeProject; |
| import org.eclipse.mylyn.tasks.core.TaskRepository; |
| import org.eclipse.mylyn.tasks.ui.TasksUi; |
| |
| /** |
| * @author Eugene Kuleshov |
| */ |
| public class EclipseTaskRepositoryLinkProviderTest extends TestCase { |
| |
| public void testGetRepositoryForResourceNullProvider() throws Exception { |
| EclipseTaskRepositoryLinkProvider provider = new EclipseTaskRepositoryLinkProvider(); |
| TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); |
| assertNotNull("Eclipse.org repository is not found", repo1); |
| String mf = "Manifest-Version: 1.0\n" + // |
| "Bundle-ManifestVersion: 2\n" + // |
| "Bundle-Name: Mylyn PDE Tests 1\n" + // |
| "Bundle-SymbolicName: org.eclipse.mylyn.pde.tests1\n" + // |
| "Bundle-Version: 1.0.0\n"; |
| PdeProject pdeProject = new PdeProject("eclipsePluginProject"); |
| try { |
| pdeProject.createPlugin(mf); |
| IProject project = pdeProject.getProject(); |
| assertNull(provider.getTaskRepository(project, TasksUi.getRepositoryManager())); |
| } finally { |
| pdeProject.delete(); |
| } |
| } |
| |
| public void testGetRepositoryForResourceClosedProject() throws Exception { |
| EclipseTaskRepositoryLinkProvider provider = new EclipseTaskRepositoryLinkProvider(); |
| TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); |
| assertNotNull("Eclipse.org repository is not found", repo1); |
| String mf = "Manifest-Version: 1.0\n" + // |
| "Bundle-ManifestVersion: 2\n" + // |
| "Bundle-Name: Mylyn PDE Tests 1\n" + // |
| "Bundle-SymbolicName: org.eclipse.mylyn.pde.tests1\n" + // |
| "Bundle-Version: 1.0.0\n"; |
| PdeProject pdeProject = new PdeProject("eclipsePluginProject"); |
| try { |
| pdeProject.createPlugin(mf); |
| IProject project = pdeProject.getProject(); |
| IFolder folder = project.getFolder("file.txt"); |
| folder.create(true, true, null); |
| project.close(new NullProgressMonitor()); |
| assertNull(provider.getTaskRepository(project, TasksUi.getRepositoryManager())); |
| assertNull(provider.getTaskRepository(folder, TasksUi.getRepositoryManager())); |
| } finally { |
| pdeProject.delete(); |
| } |
| } |
| |
| public void testEclipsePluginProject() throws Exception { |
| TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); |
| assertNotNull("Eclipse.org repository is not found", repo1); |
| |
| String mf = "Manifest-Version: 1.0\n" + // |
| "Bundle-ManifestVersion: 2\n" + // |
| "Bundle-Name: Mylyn PDE Tests 1\n" + // |
| "Bundle-SymbolicName: org.eclipse.mylyn.pde.tests1\n" + // |
| "Bundle-Version: 1.0.0\n" + // |
| "Bundle-Vendor: Eclipse.org\n" + // |
| "Bundle-RequiredExecutionEnvironment: J2SE-1.3\n"; |
| |
| PdeProject pdeProject = new PdeProject("eclipsePluginProject"); |
| pdeProject.createPlugin(mf); |
| |
| IProject project = pdeProject.getProject(); |
| |
| TasksUiPlugin tasksUiPlugin = TasksUiPlugin.getDefault(); |
| |
| TaskRepository repo2 = tasksUiPlugin.getRepositoryForResource(project); |
| assertEquals(repo1, repo2); |
| |
| assertFalse(tasksUiPlugin.canSetRepositoryForResource(project)); |
| |
| pdeProject.delete(); |
| } |
| |
| public void testAcmePluginProject() throws Exception { |
| TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); |
| assertNotNull("Eclipse.org repository is not found", repo1); |
| |
| String mf = "Manifest-Version: 1.0\n" + // |
| "Bundle-ManifestVersion: 2\n" + // |
| "Bundle-Name: Mylyn PDE Tests 2\n" + // |
| "Bundle-SymbolicName: org.eclpse.mylyn.pde.tests2\n" + // |
| "Bundle-Version: 1.0.0\n" + // |
| "Bundle-Vendor: Acme.org\n" + // |
| "Bundle-RequiredExecutionEnvironment: J2SE-1.3\n"; |
| |
| PdeProject pdeProject = new PdeProject("acmePluginProject"); |
| pdeProject.createPlugin(mf); |
| |
| TaskRepository repo2 = TasksUiPlugin.getDefault().getRepositoryForResource(pdeProject.getProject()); |
| |
| pdeProject.delete(); |
| |
| assertNull("Not expected to find repository " + repo2, repo2); |
| } |
| |
| public void testEclipseFeatureProject() throws Exception { |
| TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); |
| assertNotNull("Eclipse.org repository is not found", repo1); |
| |
| String feature = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + // |
| "<feature\n" + // |
| " id=\"org.eclipse.mylyn.pde.tests2_feature\"\n" + // |
| " label=\"Mylyn PDE Test Feature 2\"\n" + // |
| " version=\"2.3.0.qualifier\"\n" + // |
| " provider-name=\"Eclipse.org\">" + // |
| "</feature>"; |
| |
| PdeProject pdeProject = new PdeProject("eclipseFeatureProject"); |
| pdeProject.createFeature(feature); |
| |
| IProject project = pdeProject.getProject(); |
| |
| TasksUiPlugin tasksUiPlugin = TasksUiPlugin.getDefault(); |
| |
| TaskRepository repo2 = tasksUiPlugin.getRepositoryForResource(project); |
| assertEquals(repo1, repo2); |
| |
| assertFalse(tasksUiPlugin.canSetRepositoryForResource(project)); |
| |
| pdeProject.delete(); |
| } |
| |
| public void testAcmeFeatureProject() throws Exception { |
| TaskRepository repo1 = TasksUiPlugin.getRepositoryManager().getRepository("https://bugs.eclipse.org/bugs"); |
| assertNotNull("Eclipse.org repository is not found", repo1); |
| |
| String feature = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + // |
| "<feature\n" + // |
| " id=\"org.eclipse.mylyn.pde.tests2_feature\"\n" + // |
| " label=\"Mylyn PDE Test Feature 2\"\n" + // |
| " version=\"2.3.0.qualifier\"\n" + // |
| " provider-name=\"Acme.org\">" + // |
| "</feature>"; |
| |
| PdeProject pdeProject = new PdeProject("acmeFeatureProject"); |
| pdeProject.createFeature(feature); |
| |
| TaskRepository repo2 = TasksUiPlugin.getDefault().getRepositoryForResource(pdeProject.getProject()); |
| |
| pdeProject.delete(); |
| |
| assertNull("Not expected to find repository " + repo2, repo2); |
| } |
| |
| } |