Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.resources.tests/src/org/eclipse/mylyn/resources/tests/ResourceContextTest.java')
-rw-r--r--org.eclipse.mylyn.resources.tests/src/org/eclipse/mylyn/resources/tests/ResourceContextTest.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.resources.tests/src/org/eclipse/mylyn/resources/tests/ResourceContextTest.java b/org.eclipse.mylyn.resources.tests/src/org/eclipse/mylyn/resources/tests/ResourceContextTest.java
index 96a1c3acb..a19602ecf 100644
--- a/org.eclipse.mylyn.resources.tests/src/org/eclipse/mylyn/resources/tests/ResourceContextTest.java
+++ b/org.eclipse.mylyn.resources.tests/src/org/eclipse/mylyn/resources/tests/ResourceContextTest.java
@@ -7,6 +7,7 @@
*
* Contributors:
* Tasktop Technologies - initial API and implementation
+ * Yatta Solutions - WorkingSet tests (bug 334024)
*******************************************************************************/
package org.eclipse.mylyn.resources.tests;
@@ -21,17 +22,23 @@ import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.mylyn.commons.sdk.util.ResourceTestUtil;
+import org.eclipse.mylyn.context.core.AbstractContextStructureBridge;
import org.eclipse.mylyn.context.core.ContextCore;
import org.eclipse.mylyn.context.core.IInteractionElement;
import org.eclipse.mylyn.context.sdk.util.AbstractResourceContextTest;
import org.eclipse.mylyn.context.sdk.util.ContextTestUtil;
import org.eclipse.mylyn.internal.resources.ui.ResourcesUiBridgePlugin;
import org.eclipse.mylyn.internal.resources.ui.ResourcesUiPreferenceInitializer;
+import org.eclipse.ui.IWorkingSet;
+import org.eclipse.ui.IWorkingSetManager;
+import org.eclipse.ui.PlatformUI;
/**
* @author Mik Kersten
+ * @author Carsten Reckord (bug 334024: focused package explorer not working if top level element is working set)
*/
public class ResourceContextTest extends AbstractResourceContextTest {
@@ -56,6 +63,12 @@ public class ResourceContextTest extends AbstractResourceContextTest {
ResourcesUiBridgePlugin.getDefault()
.getPreferenceStore()
.setValue(ResourcesUiPreferenceInitializer.PREF_MODIFIED_DATE_EXCLUSIONS, true);
+
+ IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
+ IWorkingSet workingSet = workingSetManager.getWorkingSet("TestWorkingSet");
+ if (workingSet != null) {
+ workingSetManager.removeWorkingSet(workingSet);
+ }
}
public void testResourceSelect() throws CoreException {
@@ -183,6 +196,46 @@ public class ResourceContextTest extends AbstractResourceContextTest {
assertEquals(0, context.getInteractionHistory().size());
}
+ /**
+ * Test that working sets are properly handled by the resource bridge
+ */
+ public void testWorkingSetHandledByResourceBridge() {
+ IProject project2 = project.getProject();
+
+ IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
+ IWorkingSet workingSet = workingSetManager.createWorkingSet("TestWorkingSet", new IAdaptable[] { project2 });
+
+ assertTrue(structureBridge.acceptsObject(workingSet));
+
+ AbstractContextStructureBridge workingSetBridge = ContextCore.getStructureBridge(workingSet);
+ assertEquals(ContextCore.CONTENT_TYPE_RESOURCE, workingSetBridge.getContentType());
+ }
+
+ /**
+ * Test that working sets are filtered based on the interest of their contents
+ */
+ public void testWorkingSetFiltering() throws CoreException {
+ IProject project2 = project.getProject();
+ IFile file = project2.getFile("file");
+ file.create(null, true, null);
+ assertTrue(file.exists());
+
+ IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
+ IWorkingSet workingSet = workingSetManager.createWorkingSet("TestWorkingSet", new IAdaptable[] { project2 });
+ workingSetManager.addWorkingSet(workingSet);
+
+ context.reset();
+ assertEquals(0, context.getInteractionHistory().size());
+
+ assertTrue(structureBridge.canFilter(workingSet));
+
+ monitor.selectionChanged(navigator, new StructuredSelection(file));
+ IInteractionElement element = ContextCore.getContextManager().getElement(
+ structureBridge.getHandleIdentifier(file));
+ assertTrue(element.getInterest().isInteresting());
+ assertFalse(structureBridge.canFilter(workingSet));
+ }
+
@SuppressWarnings("deprecation")
private void createRealFiles(IProject project) throws CoreException, UnsupportedEncodingException {
// we need to have contents for the file to be local

Back to the top