blob: 59b690c9bebd93180e43eb43455634c5f17c25d0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.tests.markers;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.activities.IActivity;
import org.eclipse.ui.views.markers.internal.ProblemFilter;
public class DeclarativeFilterActivityTest extends DeclarativeFilterTest {
static final String PROBLEM_FILTER_TEST_ACTIVITY = "problemFilterTestActivity";
/**
* The DeclarativeProblemTest is a test of the declarative filters.
*
* @param testName
*/
public DeclarativeFilterActivityTest(String testName) {
super(testName);
}
/**
* Check that the activities are enabling as expected.
*/
public void testActivityEnablement() {
enableFilterActivity();
checkFilteredOut(false);
disableFilterActivity();
checkFilteredOut(true);
enableFilterActivity();
}
/**
* Check that all of the filters match filteredOut.
* @param filteredOut
*/
private void checkFilteredOut(boolean filteredOut) {
String[] allFilterNames = getAllFilterNames();
String failureMessage = filteredOut ? " should be filtered out" : " should not be filtered out";
for (int i = 0; i < allFilterNames.length; i++) {
ProblemFilter filter = getFilter(allFilterNames[i]);
if(filteredOut)
assertNull("Should filter out " + allFilterNames[i] ,filter);
else{
assertNotNull("No filter for " + allFilterNames[i] ,filter);
assertTrue(allFilterNames[i] + failureMessage, filter.isFilteredOutByActivity() == filteredOut);
}
}
}
/**
* Enable the activity for the declarative filters.
*/
private void enableFilterActivity() {
IActivity activity = PlatformUI.getWorkbench().getActivitySupport()
.getActivityManager().getActivity(PROBLEM_FILTER_TEST_ACTIVITY);
Set enabledActivityIds = new HashSet(PlatformUI.getWorkbench()
.getActivitySupport().getActivityManager()
.getEnabledActivityIds());
if (!enabledActivityIds.contains(activity.getId()))
enabledActivityIds.add(activity.getId());
PlatformUI.getWorkbench().getActivitySupport().setEnabledActivityIds(
enabledActivityIds);
}
/**
* Disable the activity for the declarative filters.
*/
private void disableFilterActivity() {
IActivity activity = PlatformUI.getWorkbench().getActivitySupport()
.getActivityManager().getActivity(PROBLEM_FILTER_TEST_ACTIVITY);
Set enabledActivityIds = new HashSet(PlatformUI.getWorkbench()
.getActivitySupport().getActivityManager()
.getEnabledActivityIds());
if (enabledActivityIds.contains(activity.getId()))
enabledActivityIds.remove(activity.getId());
PlatformUI.getWorkbench().getActivitySupport().setEnabledActivityIds(
enabledActivityIds);
}
}