Author: konstantin.mishin
Date: 2009-01-27 13:23:01 -0500 (Tue, 27 Jan 2009)
New Revision: 12443
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-5677
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-27
17:36:47 UTC (rev 12442)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataGridBean.java 2009-01-27
18:23:01 UTC (rev 12443)
@@ -3,10 +3,14 @@
import java.util.ArrayList;
import java.util.List;
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
+import javax.faces.validator.Validator;
+import javax.faces.validator.ValidatorException;
-public class DataGridBean {
+public class DataGridBean implements Validator{
public class Element {
@@ -89,4 +93,11 @@
public String getTrace() {
return trace;
}
+
+ public void validate(FacesContext context, UIComponent component,
+ Object value) throws ValidatorException {
+ if ("fail".equals(value)) {
+ throw new ValidatorException(new FacesMessage("validation failure"));
+ }
+ }
}
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-27
17:36:47 UTC (rev 12442)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataGrid/dataGrid.xhtml 2009-01-27
18:23:01 UTC (rev 12443)
@@ -26,7 +26,7 @@
<rich:dataGrid id="dataGrid" value="#{dataGrid.model}"
var="element" elements="#{dataGrid.elements}">
<h:panelGroup>
<h:outputText value="#{element.cell1}"></h:outputText>
- <h:inputText value="#{element.cell2}"></h:inputText>
+ <h: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>
@@ -42,6 +42,7 @@
</h:column>
</h:dataTable>
</a4j:outputPanel>
+ <rich:messages></rich:messages>
</ui:define>
</ui:composition>
</html>
\ No newline at end of file
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-27
17:36:47 UTC (rev 12442)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataGridTest.java 2009-01-27
18:23:01 UTC (rev 12443)
@@ -1,5 +1,7 @@
package org.richfaces.testng;
+import java.util.Arrays;
+
import org.ajax4jsf.template.Template;
import org.richfaces.SeleniumTestBase;
import org.testng.Assert;
@@ -41,9 +43,10 @@
/**
* nested input and command components work correctly
+ * for the cases of validation failure or not
*/
@Test
- public void testComponentsProcessing(Template template) {
+ public void testComponentsProcessingWithValidation(Template template) {
init(template);
String trLocator = "xpath=id('"+ dataGrid +
"')/tbody/tr[";
String inputLocator = trLocator + "6]/td/input[";
@@ -61,14 +64,25 @@
selenium.click(inputLocator + "3]");
waitForAjaxCompletion();
chekStructure();
+ selenium.type(inputLocator + "1]", "fail");
+ selenium.type(trLocator + "3]/td/input[1]", "fail");
+ selenium.click(inputLocator + "3]");
+ waitForAjaxCompletion();
+ chekStructure(3, 6);
}
- private void chekStructure() {
+ private void chekStructure(int ... notEqualRows) {
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 +
"]"));
+ if (Arrays.binarySearch(notEqualRows, i) < 0) {
+ Assert.assertEquals(selenium.getValue("xpath=id('"+ dataGrid +
"')/tbody/tr[" + i + "]/td/input"),
+ selenium.getText("xpath=" + dataTableRowLocator + "[" + i +
"]"));
+ } else {
+ Assert.assertFalse(selenium.
+ getValue("xpath=id('"+ dataGrid + "')/tbody/tr[" + i +
"]/td/input").
+ equals(selenium.getText("xpath=" + dataTableRowLocator + "[" +
i + "]")));
+ }
}
}
Show replies by date