[jbosstools-commits] JBoss Tools SVN: r41770 - in trunk: tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view and 1 other directory.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Thu Jun 7 09:45:33 EDT 2012
Author: ljelinko
Date: 2012-06-07 09:45:32 -0400 (Thu, 07 Jun 2012)
New Revision: 41770
Modified:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/console/ConsoleClearingTask.java
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ViewBase.java
Log:
Added method getToolbarButtons to fix Juno issues with SWTBot (fix taken from Eclipse Bug 375598 proposed patch)
Modified: trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/console/ConsoleClearingTask.java
===================================================================
--- trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/console/ConsoleClearingTask.java 2012-06-07 13:42:02 UTC (rev 41769)
+++ trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/console/ConsoleClearingTask.java 2012-06-07 13:45:32 UTC (rev 41770)
@@ -1,6 +1,5 @@
package org.jboss.tools.portlet.ui.bot.task.console;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton;
import org.jboss.tools.portlet.ui.bot.task.AbstractSWTTask;
import org.jboss.tools.ui.bot.ext.SWTBotFactory;
@@ -17,9 +16,8 @@
@Override
public void perform() {
// does not use the ConsoleView.clear() funtionality because it didn't work for me
- SWTBotView view = SWTBotFactory.getConsole().show();
-
- for (SWTBotToolbarButton button : view.getToolbarButtons()){
+
+ for (SWTBotToolbarButton button : SWTBotFactory.getConsole().getToolbarButtons()){
if (button.isEnabled() && IDELabel.ConsoleView.BUTTON_CLEAR_CONSOLE_TOOLTIP.equals(button.getToolTipText())){
button.click();
}
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ViewBase.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ViewBase.java 2012-06-07 13:42:02 UTC (rev 41769)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ViewBase.java 2012-06-07 13:45:32 UTC (rev 41770)
@@ -1,8 +1,29 @@
package org.jboss.tools.ui.bot.ext.view;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.log4j.Logger;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.ToolBarManager;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
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.ListResult;
+import org.eclipse.swtbot.swt.finder.utils.SWTUtils;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarDropDownButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarPushButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarRadioButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarSeparatorButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarToggleButton;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.internal.WorkbenchPartReference;
import org.jboss.tools.ui.bot.ext.SWTBotExt;
import org.jboss.tools.ui.bot.ext.SWTOpenExt;
import org.jboss.tools.ui.bot.ext.SWTTestExt;
@@ -45,4 +66,44 @@
return open.viewOpen(viewObject);
}
+ public List<SWTBotToolbarButton> getToolbarButtons() {
+ return UIThreadRunnable.syncExec(new ListResult<SWTBotToolbarButton>() {
+
+ public List<SWTBotToolbarButton> run() {
+ SWTBotView view = show();
+ IWorkbenchPart obj = ((WorkbenchPartReference) view.getReference()).getPart(false);
+ ToolBar toolbar = null;
+ IToolBarManager t = ((IViewSite)obj.getSite()).getActionBars().getToolBarManager();
+ if (t instanceof ToolBarManager) {
+ toolbar = ((ToolBarManager)t).getControl();
+ }
+
+ final List<SWTBotToolbarButton> l = new ArrayList<SWTBotToolbarButton>();
+
+ if (toolbar == null)
+ return l;
+
+ ToolItem[] items = toolbar.getItems();
+ for (int i = 0; i < items.length; i++) {
+ try {
+ if (SWTUtils.hasStyle(items[i], SWT.PUSH))
+ l.add(new SWTBotToolbarPushButton(items[i]));
+ else if(SWTUtils.hasStyle(items[i], SWT.CHECK))
+ l.add(new SWTBotToolbarToggleButton(items[i]));
+ else if(SWTUtils.hasStyle(items[i], SWT.RADIO))
+ l.add(new SWTBotToolbarRadioButton(items[i]));
+ else if(SWTUtils.hasStyle(items[i], SWT.DROP_DOWN))
+ l.add(new SWTBotToolbarDropDownButton(items[i]));
+ else if(SWTUtils.hasStyle(items[i], SWT.SEPARATOR))
+ l.add(new SWTBotToolbarSeparatorButton(items[i]));
+ } catch (WidgetNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return l;
+
+ }
+ });
+ }
}
More information about the jbosstools-commits
mailing list