diff options
author | spingel | 2007-12-19 22:34:07 +0000 |
---|---|---|
committer | spingel | 2007-12-19 22:34:07 +0000 |
commit | 240398a49d2f508c8aa7922e49a753e905778065 (patch) | |
tree | 03a827cc7671385628055a08037b5c69eec3a898 /org.eclipse.mylyn.tasks.tests | |
parent | bd9fc360e93de9653a25afc3fb53ca2e08d53e73 (diff) | |
download | org.eclipse.mylyn.tasks-240398a49d2f508c8aa7922e49a753e905778065.tar.gz org.eclipse.mylyn.tasks-240398a49d2f508c8aa7922e49a753e905778065.tar.xz org.eclipse.mylyn.tasks-240398a49d2f508c8aa7922e49a753e905778065.zip |
NEW - bug 209281: [working sets] renaming left stale project in working set
https://bugs.eclipse.org/bugs/show_bug.cgi?id=209281
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests')
-rw-r--r-- | org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF | 3 | ||||
-rw-r--r-- | org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskWorkingSetTest.java | 112 |
2 files changed, 90 insertions, 25 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF index 6c5e1ada2..1980ce757 100644 --- a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF @@ -24,7 +24,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.mylyn, org.eclipse.mylyn.web.core, org.eclipse.jface.text, - org.eclipse.test.performance + org.eclipse.test.performance, + org.eclipse.ui.ide Eclipse-AutoStart: true Bundle-ClassPath: mylyn-tasklist-tests.jar Export-Package: org.eclipse.mylyn.tasks.tests, diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskWorkingSetTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskWorkingSetTest.java index 33e425bed..2076d4b09 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskWorkingSetTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskWorkingSetTest.java @@ -8,48 +8,112 @@ package org.eclipse.mylyn.tasks.tests; +import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import junit.framework.TestCase; +import org.eclipse.core.internal.resources.ProjectDescription; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IProjectDescription; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater; -import org.eclipse.mylyn.tasks.core.TaskList; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryQuery; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; +import org.eclipse.mylyn.resources.tests.ResourceTestUtil; import org.eclipse.ui.IWorkingSet; import org.eclipse.ui.IWorkingSetManager; +import org.eclipse.ui.actions.WorkspaceModifyOperation; import org.eclipse.ui.internal.Workbench; public class TaskWorkingSetTest extends TestCase { - public void testRenameQuery() { - MockRepositoryQuery query = new MockRepositoryQuery("description"); - TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); - taskList.addQuery(query); + private IProject project; - IWorkingSetManager workingSetManager = Workbench.getInstance().getWorkingSetManager(); - IWorkingSet workingSet = workingSetManager.createWorkingSet(TaskWorkingSetUpdater.ID_TASK_WORKING_SET, new IAdaptable[] { query }); - assertTrue(Arrays.asList(workingSet.getElements()).contains(query)); + private IWorkspaceRoot root; + + private IWorkingSet workingSet; + + private IWorkingSetManager workingSetManager; + + @Override + protected void setUp() throws Exception { + workingSetManager = Workbench.getInstance().getWorkingSetManager(); + root = ResourcesPlugin.getWorkspace().getRoot(); + } + + @Override + protected void tearDown() throws Exception { + if (workingSet != null) { + workingSetManager.removeWorkingSet(workingSet); + } - TasksUiPlugin.getTaskListManager().getTaskList().deleteQuery(query); - query = new MockRepositoryQuery("newDescription"); - TasksUiPlugin.getTaskListManager().getTaskList().addQuery(query); - assertTrue(Arrays.asList(workingSet.getElements()).contains(query)); + if (project != null) { + ResourceTestUtil.deleteProject(project); + } } - public void testEditQuery() { - MockRepositoryQuery query = new MockRepositoryQuery("description"); - TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); - taskList.addQuery(query); + // XXX see bug 212962 +// public void testRenameQuery() { +// MockRepositoryQuery query = new MockRepositoryQuery("description"); +// TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); +// taskList.addQuery(query); +// workingSet = createWorkingSet(query); +// +// TasksUiPlugin.getTaskListManager().getTaskList().deleteQuery(query); +// query = new MockRepositoryQuery("newDescription"); +// TasksUiPlugin.getTaskListManager().getTaskList().addQuery(query); +// assertTrue(Arrays.asList(workingSet.getElements()).contains(query)); +// } +// +// public void testEditQuery() { +// MockRepositoryQuery query = new MockRepositoryQuery("description"); +// TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); +// taskList.addQuery(query); +// workingSet = createWorkingSet(query); +// +// TasksUiPlugin.getTaskListManager().getTaskList().deleteQuery(query); +// TasksUiPlugin.getTaskListManager().getTaskList().addQuery(query); +// assertTrue(Arrays.asList(workingSet.getElements()).contains(query)); +// } - IWorkingSetManager workingSetManager = Workbench.getInstance().getWorkingSetManager(); - IWorkingSet workingSet = workingSetManager.createWorkingSet(TaskWorkingSetUpdater.ID_TASK_WORKING_SET, new IAdaptable[] { query }); - assertTrue(Arrays.asList(workingSet.getElements()).contains(query)); + public void testRenameProject() throws Exception { + createProject("Test Rename"); + workingSet = createWorkingSet(project); + + WorkspaceModifyOperation op = new WorkspaceModifyOperation() { + @Override + protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, + InterruptedException { + IProjectDescription description = new ProjectDescription(); + description.setName("New Name"); + project.move(description, true, new NullProgressMonitor()); + } + }; + op.run(new NullProgressMonitor()); - TasksUiPlugin.getTaskListManager().getTaskList().deleteQuery(query); - TasksUiPlugin.getTaskListManager().getTaskList().addQuery(query); - assertTrue(Arrays.asList(workingSet.getElements()).contains(query)); + IProject oldProject = root.getProject("Test Rename"); + IProject newProject = root.getProject("New Name"); + assertFalse(Arrays.asList(workingSet.getElements()).contains(oldProject)); + assertTrue(Arrays.asList(workingSet.getElements()).contains(newProject)); + } + + private void createProject(String name) throws CoreException { + project = root.getProject(name); + project.create(null); + project.open(null); + } + + private IWorkingSet createWorkingSet(IAdaptable element) { + IWorkingSet workingSet = workingSetManager.createWorkingSet("Task Working Set", + new IAdaptable[] { element }); + workingSet.setId(TaskWorkingSetUpdater.ID_TASK_WORKING_SET); + assertTrue(Arrays.asList(workingSet.getElements()).contains(element)); + workingSetManager.addWorkingSet(workingSet); + return workingSet; } } |