/******************************************************************************* * Copyright (c) 2006, 2007 Norbert Ploett 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: * Norbert Ploett (Seimens) - Initial Contribution *******************************************************************************/ package org.eclipse.cdt.ui.tests.text.contentassist; import junit.framework.TestCase; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.internal.ui.preferences.ProposalFilterPreferencesUtil; import org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistPreference; /** * This test covers the convenience methods * in org.eclipse.cdt.internal.ui.preferences.ProposalFilterPreferencesUtil */ public class ProposalFilterPreferencesTest extends TestCase { public void testPreferences() { // Check that the test filter is among the filternames String[] filterNames = ProposalFilterPreferencesUtil.getProposalFilterNames(); int index = -1 ; for (int i = 0; i < filterNames.length; i++) { String name = filterNames[i]; if (name.equals("Testing Completion Filter")) { index = i ; break ; } } assertTrue("Did not find expected filter!", index>=0); // Set the preference to the tested filter IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore(); String filterComboStateString = store.getString(ContentAssistPreference.PROPOSALS_FILTER); ProposalFilterPreferencesUtil.ComboState state = ProposalFilterPreferencesUtil.getComboState(filterComboStateString); StringBuffer newStateText = new StringBuffer(); newStateText.append(index+1); // First entry is always the <Default Filter>, index+1 must be selected for (int i = 0; i < state.items.length; i++) { String item = state.items[i]; newStateText.append(";"); newStateText.append(item); } store.setValue(ContentAssistPreference.PROPOSALS_FILTER, newStateText.toString()); // Now we can test preferred filter retrieval: IConfigurationElement preferredElement = ProposalFilterPreferencesUtil.getPreferredFilterElement(); String extensionId = preferredElement.getAttribute("id"); assertNotNull("Configuration element was not found!", extensionId); assertEquals("Unexpected element id", "org.eclipse.cdt.ui.tests.TestProposalFilter", extensionId); } }