Author: alevkovsky
Date: 2009-01-23 08:11:28 -0500 (Fri, 23 Jan 2009)
New Revision: 12385
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarGroupTest.xhtml
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java
Log:
Tool bar selenium tests
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java 2009-01-23
13:03:54 UTC (rev 12384)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java 2009-01-23
13:11:28 UTC (rev 12385)
@@ -25,6 +25,18 @@
private String groupSeparator = "";
private String groupItemSeparator = "";
+
+ private String location = "left";
+
+ private boolean toolBarGroupRendered = true;
+
+ public void reset(){
+ toolBarGroupRendered = true;
+ groupSeparator = "";
+ groupItemSeparator = "";
+ location = "left";
+ }
+
/**
* Gets value of groupSeparator field.
@@ -63,4 +75,38 @@
public void setGroupItemSeparator(String groupItemSeparator) {
this.groupItemSeparator = groupItemSeparator;
}
+
+
+ /**
+ * @return the toolBarGroupRendered
+ */
+ public boolean isToolBarGroupRendered() {
+ return toolBarGroupRendered;
+ }
+
+
+ /**
+ * @param toolBarGroupRendered the toolBarGroupRendered to set
+ */
+ public void setToolBarGroupRendered(boolean toolBarGroupRendered) {
+ this.toolBarGroupRendered = toolBarGroupRendered;
+ }
+
+
+ /**
+ * @return the location
+ */
+ public String getLocation() {
+ return location;
+ }
+
+
+ /**
+ * @param location the location to set
+ */
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+
}
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarGroupTest.xhtml
===================================================================
(Binary files differ)
Property changes on:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarGroupTest.xhtml
___________________________________________________________________
Name: svn:mime-type
+ application/xhtml+xml
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarTest.xhtml
===================================================================
(Binary files differ)
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-01-23
13:03:54 UTC (rev 12384)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java 2009-01-23
13:11:28 UTC (rev 12385)
@@ -1146,7 +1146,7 @@
* @param message - error message to insert in log
*/
public void assertColumnsCount(int i, String tableId, String mesage) {
- StringBuffer script = new StringBuffer("$('");
+ StringBuffer script = new
StringBuffer("document.getElementById('");
script.append(tableId);
script.append("').rows[0].cells.length");
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java 2009-01-23
13:03:54 UTC (rev 12384)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java 2009-01-23
13:11:28 UTC (rev 12385)
@@ -29,13 +29,15 @@
import org.testng.annotations.Test;
public class ToolBarTest extends SeleniumTestBase {
+
+ private final static String TOOL_BAR_GROUP_TEST_URL =
"pages/toolBar/toolBarGroupTest.xhtml";
static final Map<String, String> TOOL_BAR_STYLES = new HashMap<String,
String>();
static {
TOOL_BAR_STYLES.put("font-size", "16px");
}
- private static final String TOOLBAR = "toolbar";
+
/* Tab panel group/item separator constants */
private final static String LINE_SEPARATOR = "line";
@@ -47,33 +49,99 @@
private final static String SQUARE_SEPARATOR = "square";
private final static String NONE_SEPARATOR = "none";
+
+ private final static String RESET_METHOD = "#{toolBarBean.reset}";
+ private String formId;
+ private String toolBarId;
+ private String groupContentPrefix;
+ private String renderedControl;
+ private String submitControl;
+
+ private void initIds(String parentId){
+ formId = parentId + "_form:";
+ toolBarId = formId + "toolBar";
+ groupContentPrefix = formId + "groupContent";
+ renderedControl = formId + "rendered";
+ submitControl = formId + "submit";
+ }
+
@Test
public void testToolBarComponentLayout(Template template) {
renderPage(template);
writeStatus("Check component layout");
- String id = getParentId() + "_form:";
+ initIds(getParentId());
- writeStatus("Switch toolbar group separator");
+ AssertPresent(toolBarId, "Tool bar component not present on the
page");
+ AssertVisible(toolBarId, "Tool bar component not visible on the
page");
+ assertClassNames(toolBarId, new String[]{"rich-toolbar"}, "Tool
bar component not have valid style class", true);
+
+ assertColumnsCount(8, toolBarId, "Tool bar should contains 8
elements");
+ }
+
+ @Test
+ public void testSeparators(Template template) {
+ renderPage(template, RESET_METHOD);
+ initIds(getParentId());
- clickAjaxCommandAndWait(id + "gs_" + LINE_SEPARATOR);
- clickAjaxCommandAndWait(id + "gs_" + DISC_SEPARATOR);
- clickAjaxCommandAndWait(id + "gs_" + GRID_SEPARATOR);
- clickAjaxCommandAndWait(id + "gs_" + SQUARE_SEPARATOR);
- clickAjaxCommandAndWait(id + "gs_" + NONE_SEPARATOR);
+ //test group separators
+ assertColumnsCount(8, toolBarId, "Tool bar should contains 8 elements");
- writeStatus("Switch toolbar group item separator");
+ clickAjaxCommandAndWait(formId + "gs_" + LINE_SEPARATOR);
+ assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+
+ clickAjaxCommandAndWait(formId + "gs_" + DISC_SEPARATOR);
+ assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+
+ clickAjaxCommandAndWait(formId + "gs_" + GRID_SEPARATOR);
+ assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+
+ clickAjaxCommandAndWait(formId + "gs_" + SQUARE_SEPARATOR);
+ assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+
+ clickAjaxCommandAndWait(formId + "gs_" + NONE_SEPARATOR);
+ assertColumnsCount(8, toolBarId, "Tool bar should contains 8 elements");
- clickAjaxCommandAndWait(id + "gis_" + LINE_SEPARATOR);
- clickAjaxCommandAndWait(id + "gis_" + DISC_SEPARATOR);
- clickAjaxCommandAndWait(id + "gis_" + GRID_SEPARATOR);
- clickAjaxCommandAndWait(id + "gis_" + SQUARE_SEPARATOR);
- clickAjaxCommandAndWait(id + "gis_" + NONE_SEPARATOR);
- }
+ //test items separators
+
+ clickAjaxCommandAndWait(formId + "gis_" + LINE_SEPARATOR);
+ assertColumnsCount(12, toolBarId, "Tool bar should contains 12 elements");
+
+ clickAjaxCommandAndWait(formId + "gis_" + DISC_SEPARATOR);
+ assertColumnsCount(12, toolBarId, "Tool bar should contains 12
elements");
+
+ clickAjaxCommandAndWait(formId + "gis_" + GRID_SEPARATOR);
+ assertColumnsCount(12, toolBarId, "Tool bar should contains 12
elements");
+
+ clickAjaxCommandAndWait(formId + "gis_" + SQUARE_SEPARATOR);
+ assertColumnsCount(12, toolBarId, "Tool bar should contains 12
elements");
+
+ clickAjaxCommandAndWait(formId + "gis_" + NONE_SEPARATOR);
+ assertColumnsCount(8, toolBarId, "Tool bar should contains 8
elements");
+ }
@Test
+ public void testItemsAlignment(Template template) {
+ renderPage(TOOL_BAR_GROUP_TEST_URL, template, RESET_METHOD);
+ initIds(getParentId());
+
+ AssertTextEquals(groupContentPrefix + "1", "Group1", "Toolbar
group should present on page");
+ AssertTextEquals(groupContentPrefix + "2", "Group1", "Toolbar
group should present on page");
+ AssertTextEquals(groupContentPrefix + "3", "Group1", "Toolbar
group should present on page");
+ assertAttributeContains(getToolBarTdXpath(toolBarId, 4), "style",
"width: 100%", null);
+
+ clickAjaxCommandAndWait(formId + "location");
+
+ assertAttributeContains(getToolBarTdXpath(toolBarId, 1), "style",
"width: 100%", null);
+ AssertTextEquals(groupContentPrefix + "1", "Group1", "Toolbar
group should present on page");
+ AssertTextEquals(groupContentPrefix + "2", "Group1", "Toolbar
group should present on page");
+ AssertTextEquals(groupContentPrefix + "3", "Group1", "Toolbar
group should present on page");
+
+ }
+
+ @Test
public void testRendered(Template template){
AutoTester tester = getAutoTester(this);
tester.renderPage(template, null);
@@ -89,7 +157,46 @@
tester.testStyleAndClasses(new String [] {"rich-toolbar",
"styleClass"}, TOOL_BAR_STYLES);
tester.testHTMLEvents();
}
+
+ @Test
+ public void testToolBarGroupRendered(Template template){
+ renderPage(TOOL_BAR_GROUP_TEST_URL, template, RESET_METHOD);
+ initIds(getParentId());
+ AssertPresent(groupContentPrefix + "1", "Toolbar group should present
on page");
+ AssertPresent(groupContentPrefix + "2", "Toolbar group should present
on page");
+ AssertPresent(groupContentPrefix + "3", "Toolbar group should present
on page");
+ AssertTextEquals(groupContentPrefix + "1", "Group1",
"Toolbar group should present on page");
+ AssertTextEquals(groupContentPrefix + "2", "Group1", "Toolbar
group should present on page");
+ AssertTextEquals(groupContentPrefix + "3", "Group1", "Toolbar
group should present on page");
+ clickById(renderedControl);
+ clickCommandAndWait(submitControl);
+ AssertNotPresent(groupContentPrefix + "1", "Toolbar group should not
present on page");
+ AssertNotPresent(groupContentPrefix + "2", "Toolbar group should not
present on page");
+ AssertNotPresent(groupContentPrefix + "3", "Toolbar group should not
present on page");
+
+ }
+
+ @Test
+ public void testToolBarGroupStylesAndClassesAndHtmlAttributes(Template template){
+ renderPage(TOOL_BAR_GROUP_TEST_URL, template, RESET_METHOD);
+ initIds(getParentId());
+ AssertPresent(groupContentPrefix + "1", "Toolbar group should present
on page");
+ AssertPresent(groupContentPrefix + "2", "Toolbar group should present
on page");
+ AssertPresent(groupContentPrefix + "3", "Toolbar group should present
on page");
+
+ assertClassNames(getToolBarTdXpath(toolBarId, 1), new
String[]{"styleClass"}, "styleClass attribute not work for Tool bar
group", false);
+ assertClassNames(getToolBarTdXpath(toolBarId, 2), new
String[]{"styleClass"}, "styleClass attribute not work for Tool bar
group", false);
+ assertClassNames(getToolBarTdXpath(toolBarId, 3), new
String[]{"styleClass"}, "styleClass attribute not work for Tool bar
group", false);
+
+ assertAttributeContains(getToolBarTdXpath(toolBarId, 1), "style",
"font-size: 16px", null);
+ assertAttributeContains(getToolBarTdXpath(toolBarId, 2), "style",
"font-size: 16px", null);
+ assertAttributeContains(getToolBarTdXpath(toolBarId, 3), "style",
"font-size: 16px", null);
+
+ }
+ private String getToolBarTdXpath(String toolBarId, int item){
+ return "//*[@id='" + toolBarId + "']/tbody/tr/td[" +
item + "]";
+ }
@Override
public String getTestUrl() {