[richfaces-svn-commits] JBoss Rich Faces SVN: r12464 - in trunk/test-applications/seleniumTest/richfaces/src: main/webapp/pages/dataGrid and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Jan 28 09:14:45 EST 2009


Author: konstantin.mishin
Date: 2009-01-28 09:14:45 -0500 (Wed, 28 Jan 2009)
New Revision: 12464

Modified:
   trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java
   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
Log:
RF-5678

Modified: 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	2009-01-28 13:43:19 UTC (rev 12463)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java	2009-01-28 14:14:45 UTC (rev 12464)
@@ -1,7 +1,9 @@
 package org.ajax4jsf.bean;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
@@ -52,6 +54,7 @@
 	private List<Element> model;
 	private int elements;
 	private String trace;
+	private Set<Integer> ajaxKeys;
 	
 	public DataGridBean() {
 		init();
@@ -64,12 +67,24 @@
 		}
 		elements = 0;
 		trace = "";
+		ajaxKeys = new HashSet<Integer>(10);
+		for (int i = 0; i < 10; i++) {
+			if (i != 2 && i != 6) {
+				ajaxKeys.add(i);
+			}
+		}
 	}
 
 	public void submit(ActionEvent event) {
 		trace = event.getComponent().getClientId(FacesContext.getCurrentInstance());
 	}
 
+	public void reRender(ActionEvent event) {
+		for (Element element : model) {
+			element.setCell2("XXX");
+		}
+	}
+
 	public void setModel(List<Element> model) {
 		this.model = model;
 	}
@@ -100,4 +115,12 @@
 			throw new ValidatorException(new FacesMessage("validation failure"));
 		}
 	}
+
+	public void setAjaxKeys(Set<Integer> ajaxKeys) {
+		this.ajaxKeys = ajaxKeys;
+	}
+
+	public Set<Integer> getAjaxKeys() {
+		return ajaxKeys;
+	}
 }

Modified: trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml	2009-01-28 13:43:19 UTC (rev 12463)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml	2009-01-28 14:14:45 UTC (rev 12464)
@@ -23,16 +23,17 @@
 			</h:selectBooleanCheckbox-->		
 		</h:form>
 		<h:form id="mainForm">
-			<rich:dataGrid id="dataGrid" value="#{dataGrid.model}" var="element" elements="#{dataGrid.elements}">
+			<rich:dataGrid id="dataGrid" value="#{dataGrid.model}" var="element" elements="#{dataGrid.elements}" ajaxKeys="#{dataGrid.ajaxKeys}">
 				<h:panelGroup>
 					<h:outputText value="#{element.cell1}"></h:outputText>
-					<h:inputText value="#{element.cell2}" validator="#{dataGrid.validate}"></h:inputText>
+					<h:inputText id="inputText" value="#{element.cell2}" validator="#{dataGrid.validate}"></h:inputText>
 					<h:outputText value="#{element.cell3}"></h:outputText>
 					<h:commandButton id="submit" value="submit" actionListener="#{dataGrid.submit}"></h:commandButton>
 					<a4j:commandButton id="ajaxSubmit" value="ajaxSubmit" actionListener="#{dataGrid.submit}"></a4j:commandButton>
 					<a4j:commandButton id="ajaxSingleSubmit" value="ajaxSingleSubmit" actionListener="#{dataGrid.submit}" ajaxSingle="true"></a4j:commandButton>
 				</h:panelGroup>
 			</rich:dataGrid>
+			<a4j:commandButton id="reRender" value="reRender"  reRender="inputText" actionListener="#{dataGrid.reRender}"></a4j:commandButton>
 		</h:form>
 		<a4j:outputPanel ajaxRendered="true">
 			<h:outputText id="outputText" value="#{dataGrid.trace}"></h:outputText>

Modified: 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	2009-01-28 13:43:19 UTC (rev 12463)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataGridTest.java	2009-01-28 14:14:45 UTC (rev 12464)
@@ -13,6 +13,8 @@
 
 	private String dataGrid;
 
+	private String reRender;
+
 	private String outputText;
 	
 	private String dataTable;
@@ -23,6 +25,7 @@
         elements = attrForm + ":elements";
         String mainForm = getParentId() + "mainForm";
         dataGrid = mainForm + ":dataGrid";
+        reRender = mainForm + ":reRender";
         outputText = getParentId() + "outputText";
         dataTable = getParentId() + "dataTable";
 	}
@@ -71,6 +74,17 @@
 		chekStructure(3, 6);        
 	}
 
+    /**
+     *  rows defined by ajaxKeys attribute are re-rendered correctly
+     */
+	@Test
+	public void testAjaxKeys(Template template) {
+        init(template);
+		chekStructure();
+		clickAjaxCommandAndWait(reRender);
+		chekStructure(3, 7);        
+	}
+
 	private void chekStructure(int ... notEqualRows) {
 		String dataTableRowLocator = "id('"+ dataTable + "')/tbody/tr";
 		int count = selenium.getXpathCount(dataTableRowLocator).intValue();




More information about the richfaces-svn-commits mailing list