Author: konstantin.mishin
Date: 2009-01-26 11:25:30 -0500 (Mon, 26 Jan 2009)
New Revision: 12429
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataGridTest.java
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/WEB-INF/faces-config.xml
Log:
RF-5674
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java
(rev 0)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java 2009-01-26
16:25:30 UTC (rev 12429)
@@ -0,0 +1,75 @@
+package org.ajax4jsf.bean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DataGridBean {
+
+ public class Element {
+
+ private String cell1;
+ private String cell2;
+ private String cell3;
+
+ public Element(String index) {
+ this.cell1 = index + "A";
+ this.cell2 = index + "B";
+ this.cell3 = index + "C";
+ }
+
+ public String getCell1() {
+ return cell1;
+ }
+
+ public void setCell1(String cell1) {
+ this.cell1 = cell1;
+ }
+
+ public String getCell2() {
+ return cell2;
+ }
+
+ public void setCell2(String cell2) {
+ this.cell2 = cell2;
+ }
+
+ public String getCell3() {
+ return cell3;
+ }
+
+ public void setCell3(String cell3) {
+ this.cell3 = cell3;
+ }
+ }
+
+ private List<Element> model;
+ private int elements;
+
+ public DataGridBean() {
+ model = new ArrayList<Element>(10);
+ for (int i = 0; i < 10; i++) {
+ model.add(new Element(Integer.toString(i)));
+ }
+ init();
+ }
+
+ public void init() {
+ elements = 0;
+ }
+
+ public void setModel(List<Element> model) {
+ this.model = model;
+ }
+
+ public List<Element> getModel() {
+ return model;
+ }
+
+ public void setElements(int elements) {
+ this.elements = elements;
+ }
+
+ public int getElements() {
+ return elements;
+ }
+}
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/WEB-INF/faces-config.xml 2009-01-26
16:24:43 UTC (rev 12428)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/WEB-INF/faces-config.xml 2009-01-26
16:25:30 UTC (rev 12429)
@@ -169,6 +169,11 @@
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
+ <managed-bean-name>dataGrid</managed-bean-name>
+ <managed-bean-class>org.ajax4jsf.bean.DataGridBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
<managed-bean-name>sliderBean</managed-bean-name>
<managed-bean-class>org.ajax4jsf.bean.InputNumberSliderBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml
(rev 0)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml 2009-01-26
16:25:30 UTC (rev 12429)
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets">
+
+<ui:composition template="#{templateBean.template}">
+ <ui:define name="component">
+ <h:form id="attrForm">
+ <h:outputText value="elements" />
+ <h:inputText id="elements" value="#{dataGrid.elements}">
+ <a4j:support event="onchange" reRender="dataGrid"/>
+ </h:inputText>
+ <!--h:outputText value="includedNode" />
+ <h:selectBooleanCheckbox id="includedNode"
value="#{treeNodesAdaptor.includedNode}">
+ <a4j:support event="onchange" reRender="tree"/>
+ </h:selectBooleanCheckbox>
+ <h:outputText value="includedRoot" />
+ <h:selectBooleanCheckbox id="includedRoot"
value="#{treeNodesAdaptor.includedRoot}">
+ <a4j:support event="onchange" reRender="tree"/>
+ </h:selectBooleanCheckbox-->
+ </h:form>
+ <h:form id="mainForm">
+ <rich:dataGrid id="dataGrid" value="#{dataGrid.model}"
var="row" elements="#{dataGrid.elements}">
+ <h:panelGroup>
+ <h:outputText value="#{row.cell1}"></h:outputText>
+ <h:inputText value="#{row.cell2}"></h:inputText>
+ <h:outputText value="#{row.cell3}"></h:outputText>
+ </h:panelGroup>
+ </rich:dataGrid>
+ </h:form>
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText id="outputText"
value="#{treeNodesAdaptor.trace}"></h:outputText>
+ <h:dataTable id="dataTable" value="#{dataGrid.model}"
var="row" rows="#{dataGrid.elements}">
+ <h:column>
+ <h:outputText value="#{row.cell2}"></h:outputText>
+ </h:column>
+ </h:dataTable>
+ </a4j:outputPanel>
+ </ui:define>
+</ui:composition>
+</html>
\ No newline at end of file
Added:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataGridTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataGridTest.java
(rev 0)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataGridTest.java 2009-01-26
16:25:30 UTC (rev 12429)
@@ -0,0 +1,54 @@
+package org.richfaces.testng;
+
+import org.ajax4jsf.template.Template;
+import org.richfaces.SeleniumTestBase;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class DataGridTest extends SeleniumTestBase {
+
+ private String elements;
+
+ private String dataGrid;
+
+ private String outputText;
+
+ private String dataTable;
+
+ private void init(Template template) {
+ renderPage(null, template, "#{dataGrid.init}");
+ String attrForm = getParentId() + "attrForm";
+ elements = attrForm + ":elements";
+ String mainForm = getParentId() + "mainForm";
+ dataGrid = mainForm + ":dataGrid";
+ outputText = getParentId() + "outputText";
+ dataTable = getParentId() + "dataTable";
+ }
+
+ /**
+ * items from collection defined as value attribute are output to the client;
+ * number of items is limited using rows attribute and not
+ */
+ @Test
+ public void testStructure(Template template) {
+ init(template);
+ chekStructure();
+ selenium.type(elements, "3");
+ Assert.assertEquals(selenium.getXpathCount("id('"+ dataGrid +
"')/tbody/tr"), 3);
+ chekStructure();
+ }
+
+ private void chekStructure() {
+ String dataTableRowLocator = "id('"+ dataTable +
"')/tbody/tr";
+ int count = selenium.getXpathCount(dataTableRowLocator).intValue();
+ for (int i = 1; i <= count; i++) {
+ Assert.assertEquals(selenium.getValue("xpath=id('"+ dataGrid +
"')/tbody/tr[" + i + "]/td/input"),
+ selenium.getText("xpath=" + dataTableRowLocator + "[" + i +
"]"));
+ }
+ }
+
+ @Override
+ public String getTestUrl() {
+ return "pages/dataGrid/dataGrid.xhtml";
+ }
+}