/******************************************************************************* * Copyright (c) 2016 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.arquillian.ui.bot.test.preferences; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.jboss.reddeer.junit.runner.RedDeerSuite; import org.jboss.reddeer.swt.exception.SWTLayerException; import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog; import org.jboss.tools.arquillian.ui.bot.reddeer.preferences.ArquillianPreferencePage; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; /** * Test for class that represents Arquillian preference page * * @author Vlado Pakan, Len DiMaggio * */ @RunWith(RedDeerSuite.class) public class ArquillianPreferencePageTest { private WorkbenchPreferenceDialog preferencesDialog = new WorkbenchPreferenceDialog(); private ArquillianPreferencePage arquillianPreferencePage = new ArquillianPreferencePage(); private final String VERSION_STRING = "1.1.10.Final"; private final String ARG_STRING = "TEST ARGS"; @Test public void checkAllPreferences() { preferencesDialog.open(); preferencesDialog.select(arquillianPreferencePage); arquillianPreferencePage.setDefaultVMArg(true); arquillianPreferencePage.setArquillianVersion (VERSION_STRING); arquillianPreferencePage.setVMArgsText (ARG_STRING); arquillianPreferencePage.setDefaultVMArgsToJUnit(true); arquillianPreferencePage.setDefaultVMArgsToLaunch(true); arquillianPreferencePage.setAllowOSCommandWhenAnalyzing(true); arquillianPreferencePage.setAllowSystemPropWhenAnalyzing(true); assertTrue(arquillianPreferencePage.isDefaultVMArgChecked()); assertTrue(arquillianPreferencePage.getArquillianVersion().equals(VERSION_STRING)); assertTrue(arquillianPreferencePage.getVMArgsText().equals(ARG_STRING)); assertTrue(arquillianPreferencePage.isAddDefaultVMArgsToJUnitChecked()); assertTrue(arquillianPreferencePage.isAddDefaultVMArgsToLaunchChecked()); assertTrue(arquillianPreferencePage.isAllowOSCommandWhenAnalyzingChecked()); assertTrue(arquillianPreferencePage.isAllowSystemPropWhenAnalyzingChecked()); preferencesDialog.cancel(); } @Test public void uncheckAllPreferences() { preferencesDialog.open(); preferencesDialog.select(arquillianPreferencePage); /* setDefaultVMArgsToJUnit and setDefaultVMArgsToLaunch are dependent on setDefaultVMArgChecked */ arquillianPreferencePage.setDefaultVMArg(true); arquillianPreferencePage.setDefaultVMArgsToJUnit(false); arquillianPreferencePage.setDefaultVMArgsToLaunch(false); assertFalse(arquillianPreferencePage.isAddDefaultVMArgsToJUnitChecked()); assertFalse(arquillianPreferencePage.isAddDefaultVMArgsToLaunchChecked()); arquillianPreferencePage.setDefaultVMArg(false); arquillianPreferencePage.setAllowOSCommandWhenAnalyzing(false); arquillianPreferencePage.setAllowSystemPropWhenAnalyzing(false); assertFalse(arquillianPreferencePage.isDefaultVMArgChecked()); assertFalse(arquillianPreferencePage.isAllowOSCommandWhenAnalyzingChecked()); assertFalse(arquillianPreferencePage.isAllowSystemPropWhenAnalyzingChecked()); preferencesDialog.cancel(); } @After public void tearDown(){ // try to close preference dialog in case it stayed open try{ preferencesDialog.cancel(); } catch (SWTLayerException swtle){ // do nothing } } }