package org.qooxdoo.demo.widgetbrowser;
import static org.junit.Assert.assertFalse;
import org.junit.BeforeClass;
import org.junit.Test;
import org.oneandone.qxwebdriver.By;
import org.oneandone.qxwebdriver.ui.Selectable;
import org.oneandone.qxwebdriver.ui.Widget;
public class ToolbarMenuIT extends WidgetBrowser {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
WidgetBrowser.setUpBeforeClass();
selectTab("Toolbar.*");
}
@Test
public void menu() {
By menuLocator = By.qxh("*/qx.ui.menu.Menu");
Selectable menu = (Selectable) tabPage.findWidget(menuLocator);
Widget menuRadioButton = menu.getSelectableItem("Menu RadioButton");
boolean selectedBefore = (Boolean) menuRadioButton.getPropertyValue("value");
menu.selectItem("Menu RadioButton");
boolean selectedAfter = (Boolean) menuRadioButton.getPropertyValue("value");
assertFalse(selectedBefore == selectedAfter);
}
@Test
public void splitButton() {
By splitButtonLocator = By.qxh("*/qx.ui.toolbar.SplitButton");
Widget tbarSplit = tabPage.findWidget(splitButtonLocator);
tbarSplit.getChildControl("arrow").click();
Selectable splitMenu = (Selectable) tbarSplit.getWidgetFromProperty("menu");
splitMenu.selectItem(0);
}
@Test
public void menuButton() {
By menuButtonLocator = By.qxh("*/[@label=MenuButton]");
Selectable tbarMenuButton = (Selectable) tabPage.findWidget(menuButtonLocator);
// Must click the button so the menu is rendered before we can check if
// the MenuRadioButton is selected
tbarMenuButton.click();
Selectable buttonMenu = (Selectable) tbarMenuButton.getWidgetFromProperty("menu");
Widget buttonMenuRadioButton = buttonMenu.getSelectableItem("Menu RadioButton");
boolean selectedBefore = (Boolean) buttonMenuRadioButton.getPropertyValue("value");
tbarMenuButton.click();
tbarMenuButton.selectItem("Menu RadioButton");
boolean selectedAfter = (Boolean) buttonMenuRadioButton.getPropertyValue("value");
assertFalse(selectedBefore == selectedAfter);
}
}