Author: andrei_exadel
Date: 2009-02-10 05:31:10 -0500 (Tue, 10 Feb 2009)
New Revision: 12608
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dropDownMenu/dropDownMenuAutoTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DropDownMenuTest.java
Log:
RF-5823, RF-5821
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dropDownMenu/dropDownMenuAutoTest.xhtml
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dropDownMenu/dropDownMenuAutoTest.xhtml 2009-02-10
10:22:09 UTC (rev 12607)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dropDownMenu/dropDownMenuAutoTest.xhtml 2009-02-10
10:31:10 UTC (rev 12608)
@@ -11,8 +11,17 @@
<rich:dropDownMenu id="componentId"
rendered="#{autoTestBean.rendered}"
value="test"
+ style="color: red"
+ styleClass="dropDownMenuClass"
+ oncollapse="EventQueue.fire('ddmenuOncollapse')"
+ onexpand="EventQueue.fire('ddmenuOnexpand')"
+ ongroupactivate="EventQueue.fire('ddmenuOngroupactivate')"
+ onitemselect="EventQueue.fire('ddmenuOnitemselect')"
+ onmousemove="EventQueue.fire('ddmenuOnmousemove')"
+ onmouseout="EventQueue.fire('ddmenuOnmouseout')"
+ onmouseover="EventQueue.fire('ddmenuOnmouseover')"
- <rich:menuItem id="new"
+ <rich:menuItem id="new"
submitMode="ajax"
immediate="#{autoTestBean.immediate}"
ajaxSingle="#{autoTestBean.ajaxSingle}"
@@ -27,6 +36,30 @@
<h:inputText id="inputRequired"
value="#{ddmenuBean.input}" style="display: none"
required="true"></h:inputText>
<f:param name="parameter1" value="value1" />
</rich:menuItem>
+ <rich:menuGroup id="group1" value="group"
+ style="color: green"
+ styleClass="menuGroupClass"
+ selectClass="menuGroupSelectClass"
+ selectStyle="color: blue;"
+ onclose="EventQueue.fire('ddmenuGroupOnclose')"
+ onmousemove="EventQueue.fire('ddmenuGroupOnmousemove')"
+ onmouseout="EventQueue.fire('ddmenuGroupOnmouseout')"
+ onmouseover="EventQueue.fire('ddmenuGroupOnmouseover')"
+ onopen="EventQueue.fire('ddmenuGroupOnopen')">
+ <rich:menuItem value="Item1" id="item1"
+ style="color: black"
+ styleClass="menuItemClass"
+ onclick="EventQueue.fire('onclick')"
+ onmousedown="EventQueue.fire('onmousedown')"
+ onmousemove="EventQueue.fire('onmousemove')"
+ onmouseout="EventQueue.fire('onmouseout')"
+ onmouseover="EventQueue.fire('onmouseover')"
+ onmouseup="EventQueue.fire('onmouseup')"
+ onselect="EventQueue.fire('onselect')"
+ submitMode="none">
+ <h:commandLink id="submit1" value="Submit"
actionListener="#{autoTestBean.actionListener}"></h:commandLink>
+ </rich:menuItem>
+ </rich:menuGroup>
</rich:dropDownMenu>
</ui:define>
</ui:composition>
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java 2009-02-10
10:22:09 UTC (rev 12607)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java 2009-02-10
10:31:10 UTC (rev 12608)
@@ -1324,6 +1324,13 @@
}
}
+ public void assertEvent(String eventExpected, String m) {
+ String message =
runScript("EventQueue.assertEvent('"+eventExpected+"')");
+ if (null != message && message.length() > 0) {
+ Assert.fail(m + message);
+ }
+ }
+
public Object assertEvents(String locator, List<SeleniumEvent> eventsExpected)
{
for (SeleniumEvent ev : eventsExpected) {
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DropDownMenuTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DropDownMenuTest.java 2009-02-10
10:22:09 UTC (rev 12607)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DropDownMenuTest.java 2009-02-10
10:31:10 UTC (rev 12608)
@@ -43,7 +43,85 @@
params.put("parameter1", "value1");
}
+
@Test
+ public void testCommonHiperLink(Template template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, RESET_METHOD);
+
+ String submit = tester.getClientId("submit1");
+ selenium.click(submit);
+ waitForPageToLoad();
+
+ tester.checkActionListener(true);
+
+ }
+
+ @Test
+ public void testClassStylesAndHtmlAttributes(Template template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, RESET_METHOD);
+
+ String ddMenuId = tester.getClientId(AutoTester.COMPONENT_ID);
+ String ddMenuGroup = tester.getClientId("group1");
+ String ddMenuItem = tester.getClientId("item1");
+ String ddMenuIdPath = "//div[@id='" + ddMenuId +
"']/div[1]";
+
+ assertClassNames(ddMenuId, new String [] {"dr-menu-label",
"rich-ddmenu-label", "dr-menu-label-unselect",
"rich-ddmenu-label-unselect"}, "Drop down menu has unexpected css
classes", true);
+ assertClassNames(ddMenuId, new String[] {"dropDownMenuClass"}, "Class
attribute does not work for DropDown menu component", true);
+ assertClassNames(ddMenuGroup, new String [] {"dr-menu-item",
"dr-menu-item-enabled", "rich-menu-group"}, "Menu group has
unexpected css classes", true);
+ assertClassNames(ddMenuGroup, new String[] {"menuGroupClass"}, "Class
attribute does not work for Menu group component", true);
+ assertClassNames(ddMenuItem, new String [] {"dr-menu-item",
"dr-menu-item-enabled", "rich-menu-item"}, "Menu item has
unexpected css classes", true);
+ assertClassNames(ddMenuItem, new String[] {"menuItemClass"}, "Class
attribute does not work for Menu item component", true);
+
+ assertStyleAttribute(ddMenuId, "color: red", "Style attribute for Drop
down menu does not work");
+ assertStyleAttribute(ddMenuGroup, "color: green", "Style attribute for
Menu droup component does not work");
+ assertStyleAttribute(ddMenuItem, "color: black", "Style attribute for
Menu item component does not work");
+
+ selenium.mouseOver(ddMenuIdPath);
+ waiteForCondition(getElementById(ddMenuId + "_menu") + ".style.display
!= 'none'", 5000);
+ selenium.mouseOver(ddMenuGroup);
+ waiteForCondition(getElementById(ddMenuGroup + "_menu") +
".style.display != 'none'", 5000);
+ selenium.mouseOver(ddMenuId);
+
+ assertClassNames(ddMenuGroup, new String[] {"menuGroupSelectClass"},
"selectClass attribute does not work for Menu group component", true);
+ assertEvent("ddmenuOnmouseover", "Onmouseover attribute does not work
for DropDown menu component");
+ assertEvent("ddmenuOnexpand", "Onexpand attribute does not work for
DropDown menu component");
+ assertEvent("ddmenuOngroupactivate", "Ongroupactivate attribute does not
work for DropDown menu component");
+ assertEvent("ddmenuGroupOnmouseover", "Onmouseover attribute does not
work for Menu group component");
+ assertEvent("ddmenuGroupOnopen", "Onopen attribute does not work for
Menu group component");
+
+ selenium.mouseMove(ddMenuId);
+ selenium.mouseOut(ddMenuId);
+ assertEvent("ddmenuOnmousemove", "onmousemove does not work for Drop
down menu");
+ assertEvent("ddmenuOnmouseout", "onmouseout does not work for Drop down
menu");
+
+ selenium.mouseMove(ddMenuGroup);
+ selenium.mouseOut(ddMenuGroup);
+ assertEvent("ddmenuGroupOnmousemove", "onmousemove does not work for
Group menu");
+ assertEvent("ddmenuGroupOnmouseout", "onmouseout does not work for Group
menu");
+
+ selenium.mouseMove(ddMenuItem);
+ selenium.mouseOut(ddMenuItem);
+ selenium.mouseDown(ddMenuItem);
+ selenium.mouseUp(ddMenuItem);
+ selenium.click(ddMenuItem);
+ assertEvent("onmousedown", "onmousedown attribute does not work for Menu
item component");
+ assertEvent("onmousemove", "onmousemove attribute does not work for Menu
item component");
+ assertEvent("onmouseout", "onmouseout attribute does not work for Menu
item component");
+ assertEvent("onmouseup", "onmouseup attribute does not work for Menu
item component");
+ assertEvent("onclick", "onclick attribute does not work for Menu item
component");
+
+ assertEvent("ddmenuOnitemselect", "Onitemselect attribute does not work
for DropDown menu component");
+
+ selenium.click("//body");
+ waiteForCondition(getElementById(ddMenuId + "_menu") + ".style.display
== 'none'", 5000);
+ assertEvent("ddmenuOncollapse", "oncollapse attribute does not work for
DrownDownMenu component");
+ assertEvent("ddmenuGroupOnclose", "onclose attribute does not work for
Menu group component");
+
+ }
+
+ @Test
public void testOnComplete(Template template) {
AutoTester tester = getAutoTester(this);
tester.renderPage(template, RESET_METHOD);