[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