/******************************************************************************* * Copyright (c) 2007-2012 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.tests; import static org.junit.Assert.assertTrue; import org.eclipse.jface.preference.PreferenceDialog; import org.eclipse.jface.preference.PreferencePage; import org.jboss.tools.test.util.WorkbenchUtils; /** * @author eskimo * */ public class PreferencePageTest { private String prefPageId; Class<?extends PreferencePage> instanceOf; public PreferencePageTest() { } public PreferencePageTest(String prefPageId, Class<?extends PreferencePage> instanceOf) { this.prefPageId = prefPageId; this.instanceOf = instanceOf; } /** * This method performs simple test for provided preference page. It * opens preference dialog with page loaded by a provided prefPageId * and verifies that it is an instance of provided class */ public void doDefaultTest(String id, Class instanceOf) { PreferenceDialog prefDialog = WorkbenchUtils.createPreferenceDialog( id); try { prefDialog.setBlockOnOpen(false); prefDialog.open(); Object selectedPage = prefDialog.getSelectedPage(); assertTrue("Selected page is not an instance of PreferencePage", instanceOf.isInstance(selectedPage)); //$NON-NLS-1$ } finally { prefDialog.close(); } } public void doDefaultTest() { doDefaultTest(prefPageId,instanceOf); } }