[jbosstools-commits] JBoss Tools SVN: r24005 - in trunk: vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test and 2 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Mon Aug 9 13:24:19 EDT 2010
Author: vpakan at redhat.com
Date: 2010-08-09 13:24:18 -0400 (Mon, 09 Aug 2010)
New Revision: 24005
Added:
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/palette/ManagePaletteGroups.java
Modified:
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java
Log:
Adde Manage Palette Groups Test
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java 2010-08-09 15:51:43 UTC (rev 24004)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java 2010-08-09 17:24:18 UTC (rev 24005)
@@ -139,6 +139,7 @@
public static final String PROPERTIES_FOR = "Properties for";
public static final String COPY_FILE_FROM_GUVNOR_TO_PACKAGE_EXPLORER = "File Operation";
public static final String INSERT_TAG = "Insert Tag";
+ public static final String SHOW_HIDE_DRAWERS = "Show/Hide Drawers";
}
public class EntityGroup {
@@ -530,5 +531,12 @@
public static final String PREVIEW_TAB_LABEL = "Preview";
}
-
+
+ public static class JBossToolsPalette{
+
+ public static final String IMPORT_TOOL_ITEM = "Import";
+ public static final String PALETTE_EDITOR_TOOL_ITEM = "Palette Editor";
+ public static final String SHOW_HIDE_TOOL_ITEM = "Show/Hide";
+
+ }
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java 2010-08-09 15:51:43 UTC (rev 24004)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java 2010-08-09 17:24:18 UTC (rev 24005)
@@ -19,6 +19,7 @@
import org.jboss.tools.vpe.ui.bot.test.jbide.JBIDE4556Test;
import org.jboss.tools.vpe.ui.bot.test.palette.CancelTagLibDefenitionTest;
import org.jboss.tools.vpe.ui.bot.test.palette.ImportTagsFromTLDFileTest;
+import org.jboss.tools.vpe.ui.bot.test.palette.ManagePaletteGroups;
import org.jboss.tools.vpe.ui.bot.test.smoke.EditorSynchronizationTest;
import org.jboss.tools.vpe.ui.bot.test.smoke.JSPPageCreationTest;
import org.jboss.tools.vpe.ui.bot.test.smoke.RenameFacesConfigFileTest;
@@ -59,6 +60,7 @@
suite.addTestSuite(ExternalizeStringsDialogTest.class);
suite.addTestSuite(JspFileEditingTest.class);
suite.addTestSuite(XhtmlFilePerformanceTest.class);
+ suite.addTestSuite(ManagePaletteGroups.class);
return new TestSetup(suite);
}
Added: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/palette/ManagePaletteGroups.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/palette/ManagePaletteGroups.java (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/palette/ManagePaletteGroups.java 2010-08-09 17:24:18 UTC (rev 24005)
@@ -0,0 +1,72 @@
+/*******************************************************************************
+
+ * Copyright (c) 2007-2010 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.ui.bot.test.palette;
+
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.ui.bot.ext.types.IDELabel;
+import org.jboss.tools.vpe.ui.bot.test.VPEAutoTestCase;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
+/**
+ * Tests Showing/hiding JBoss Tools Palette Groups
+ * @author vlado pakan
+ *
+ */
+public class ManagePaletteGroups extends VPEAutoTestCase {
+
+ private static final String TEST_PALETTE_GROUP_LABEL = "JSF HTML";
+ private static final String TEST_PALETTE_TREE_GROUP_LABEL = "JSF";
+
+ private SWTBotExt botExt = null;
+
+ public ManagePaletteGroups() {
+ super();
+ botExt = new SWTBotExt();
+ }
+ public void testManagePaletteGroups(){
+
+ openPage();
+ openPalette();
+ bot.toolbarButtonWithTooltip(IDELabel.JBossToolsPalette.SHOW_HIDE_TOOL_ITEM).click();
+ SWTBot dialogBot = bot.shell(IDELabel.Shell.SHOW_HIDE_DRAWERS).activate().bot();
+ SWTBotTreeItem tiTestPaletteGroup = dialogBot.tree().getTreeItem(ManagePaletteGroups.TEST_PALETTE_TREE_GROUP_LABEL);
+ if (tiTestPaletteGroup.isChecked()){
+ // Check Palette Group hiding
+ tiTestPaletteGroup.uncheck();
+ dialogBot.button("Ok").click();
+ assertTrue("Palette Group " + ManagePaletteGroups.TEST_PALETTE_GROUP_LABEL +
+ " has to be hidden but is visible.",
+ !SWTBotWebBrowser.paletteContainsPaletteEntry(botExt, ManagePaletteGroups.TEST_PALETTE_GROUP_LABEL));
+ }
+ else{
+ // Check Palette Group showing
+ tiTestPaletteGroup.check();
+ dialogBot.button("Ok").click();
+ assertTrue("Palette Group " + ManagePaletteGroups.TEST_PALETTE_GROUP_LABEL +
+ " has to be visible but is hidden.",
+ SWTBotWebBrowser.paletteContainsPaletteEntry(botExt, ManagePaletteGroups.TEST_PALETTE_GROUP_LABEL));
+ }
+
+
+ }
+ @Override
+ protected void closeUnuseDialogs() {
+
+ }
+
+ @Override
+ protected boolean isUnuseDialogOpened() {
+ return false;
+ }
+
+}
Property changes on: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/palette/ManagePaletteGroups.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java 2010-08-09 15:51:43 UTC (rev 24004)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java 2010-08-09 17:24:18 UTC (rev 24005)
@@ -29,6 +29,7 @@
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swtbot.eclipse.gef.finder.finders.PaletteFinder;
import org.eclipse.swtbot.eclipse.gef.finder.matchers.ToolEntryLabelMatcher;
+import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
import org.eclipse.swtbot.swt.finder.results.Result;
@@ -434,54 +435,9 @@
*/
public void activatePaletteTool (String toolLabel){
- SWTEclipseExt.showView(bot, ViewType.JBOSS_TOOLS_PALETTE);
-
- IViewReference ref = UIThreadRunnable.syncExec(new Result<IViewReference>() {
- public IViewReference run() {
- IViewReference ref = null;
- IViewReference[] viewReferences = null;
- viewReferences = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
- for (IViewReference reference : viewReferences) {
- if (reference.getTitle().equals("JBoss Tools Palette")){
- return reference;
- }
- }
- return ref;
- }
- });
- // Find Palette Viewer dirty way
- PaletteViewPart pvp = (PaletteViewPart)ref.getPart(true);
- try {
- PaletteCreator pc = ReflectionsHelper.getPrivateFieldValue(PaletteViewPart.class,
- "paletteCreator",
- pvp,
- PaletteCreator.class);
- PaletteAdapter pa = ReflectionsHelper.getPrivateFieldValue(PaletteCreator.class,
- "paletteAdapter",
- pc,
- PaletteAdapter.class);
- PaletteViewer paletteViewer = ReflectionsHelper.getPrivateFieldValue(PaletteAdapter.class,
- "viewer",
- pa,
- PaletteViewer.class);
-
- EditDomain ed = new EditDomain();
- ed.setPaletteViewer(paletteViewer);
- ed.setPaletteRoot(paletteViewer.getPaletteRoot());
- PaletteFinder pf = new PaletteFinder(ed);
- ToolEntryLabelMatcher telm = new ToolEntryLabelMatcher(toolLabel);
- PaletteEntry peJsfHtml = pf.findEntries(telm).get(0);
- // Activate outputText Tool from Palette
- paletteViewer.setActiveTool((ToolEntry)peJsfHtml);
- } catch (SecurityException e) {
- throw new RuntimeException(e);
- } catch (IllegalArgumentException e) {
- throw new RuntimeException(e);
- } catch (NoSuchFieldException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new RuntimeException(e);
- }
+ PaletteViewer paletteViewer = SWTBotWebBrowser.getPaletteViewer(bot);
+ PaletteEntry peJsfHtml = SWTBotWebBrowser.getPaletteEntry(paletteViewer , toolLabel);
+ paletteViewer.setActiveTool((ToolEntry) peJsfHtml);
}
/**
@@ -519,5 +475,91 @@
return result;
}
+ /**
+ * Returns Palette Viewer associated to JBoss Tools Palette
+ * @return
+ */
+ private static PaletteViewer getPaletteViewer (SWTBotExt bot){
+ SWTEclipseExt.showView(bot, ViewType.JBOSS_TOOLS_PALETTE);
+
+ IViewReference ref = UIThreadRunnable
+ .syncExec(new Result<IViewReference>() {
+ public IViewReference run() {
+ IViewReference ref = null;
+ IViewReference[] viewReferences = null;
+ viewReferences = PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getActivePage().getViewReferences();
+ for (IViewReference reference : viewReferences) {
+ if (reference.getTitle().equals("JBoss Tools Palette")) {
+ return reference;
+ }
+ }
+ return ref;
+ }
+ });
+ // Find Palette Viewer dirty way
+ PaletteViewPart pvp = (PaletteViewPart) ref.getPart(true);
+ try {
+ PaletteCreator pc = ReflectionsHelper.getPrivateFieldValue(
+ PaletteViewPart.class, "paletteCreator", pvp, PaletteCreator.class);
+ PaletteAdapter pa = ReflectionsHelper.getPrivateFieldValue(
+ PaletteCreator.class, "paletteAdapter", pc, PaletteAdapter.class);
+ PaletteViewer paletteViewer = ReflectionsHelper.getPrivateFieldValue(
+ PaletteAdapter.class, "viewer", pa, PaletteViewer.class);
+
+ return paletteViewer;
+ } catch (SecurityException e) {
+ throw new RuntimeException(e);
+ } catch (IllegalArgumentException e) {
+ throw new RuntimeException(e);
+ } catch (NoSuchFieldException e) {
+ throw new RuntimeException(e);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+ /**
+ * Returns Palette Entry from Palette Viewer paletteViewer with entryLabel label
+ * @param paletteViewer
+ * @param entryLabel
+ * @return
+ */
+ private static PaletteEntry getPaletteEntry (PaletteViewer paletteViewer , String entryLabel) {
+
+ PaletteEntry result = null;
+ EditDomain ed = new EditDomain();
+ ed.setPaletteViewer(paletteViewer);
+ ed.setPaletteRoot(paletteViewer.getPaletteRoot());
+ PaletteFinder pf = new PaletteFinder(ed);
+ ToolEntryLabelMatcher telm = new ToolEntryLabelMatcher(entryLabel);
+ List<PaletteEntry> paletteEntries = pf.findEntries(telm);
+ if (paletteEntries != null && paletteEntries.size() > 0) {
+ result = paletteEntries.get(0);
+ } else {
+ throw new WidgetNotFoundException(
+ "Unable to find JBoss Tools Palette Entry with label: " + entryLabel);
+ }
+
+ return result;
+
+ }
+ /**
+ * Returns true if JBoss Tools Palette Contains Palette Entry with label paletteENtryLabel
+ * @param paletteEntryLabel
+ * @return
+ */
+ public static boolean paletteContainsPaletteEntry (SWTBotExt bot,String paletteEntryLabel){
+ boolean result = false;
+ PaletteViewer paletteViewer = SWTBotWebBrowser.getPaletteViewer(bot);
+ try{
+ SWTBotWebBrowser.getPaletteEntry(paletteViewer , paletteEntryLabel);
+ result = true;
+ } catch (WidgetNotFoundException wnfe){
+ result = false;
+ }
+
+ return result;
+ }
}
More information about the jbosstools-commits
mailing list