Author: konstantin.mishin
Date: 2008-11-18 12:23:56 -0500 (Tue, 18 Nov 2008)
New Revision: 11226
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/orderingList/orderingListTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
Log:
RF-4941
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java 2008-11-18
17:07:29 UTC (rev 11225)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java 2008-11-18
17:23:56 UTC (rev 11226)
@@ -28,6 +28,7 @@
import java.util.List;
import javax.faces.context.FacesContext;
+import javax.faces.event.ValueChangeEvent;
import org.ajax4jsf.model.ListShuttleItem;
@@ -41,6 +42,7 @@
private Boolean rendered;
private String string;
private Boolean immediate;
+ private Boolean valueChanged;
public OrderingListTestBean() {
init();
@@ -57,6 +59,7 @@
setRendered(true);
setString("something");
immediate = false;
+ valueChanged = false;
}
public Object getActionResult() {
@@ -143,4 +146,16 @@
public Boolean getImmediate() {
return immediate;
}
+
+ public void valueChangeListener(ValueChangeEvent event) {
+ valueChanged = true;
+ }
+
+ public void setValueChanged(Boolean valueChanged) {
+ this.valueChanged = valueChanged;
+ }
+
+ public Boolean getValueChanged() {
+ return valueChanged;
+ }
}
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/orderingList/orderingListTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-18
17:07:29 UTC (rev 11225)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-18
17:23:56 UTC (rev 11226)
@@ -33,7 +33,13 @@
private String inputTextId;
private String orderingListId;
-
+
+ private String orderingListTableId;
+
+ private String valueChangedId;
+
+ private String tableId;
+
private String submitId;
private String firstButton;
@@ -76,6 +82,22 @@
private String immediateId;
+ /**
+ * value updated, listener fire
+ */
+ @Test
+ public void testValuesAndListener(Template template) {
+ renderPage(template, initMethod);
+ initFields();
+ Assert.assertEquals(selenium.getText(valueChangedId), Boolean.FALSE.toString());
+ _checkOrdering(tableId, new String[]{"0", "1", "2",
"3"});
+ _selectItem(orderingListId + ":0", false, false);
+ selenium.click(downButton);
+ clickAjaxCommandAndWait(submitId);
+ Assert.assertEquals(selenium.getText(valueChangedId), Boolean.TRUE.toString());
+ _checkOrdering(tableId, new String[]{"1", "0", "2",
"3"});
+ }
+
/**
* converter defined by component attribute and configured at application level
works
*/
@@ -83,7 +105,7 @@
public void testConverter(Template template) {
renderPage(template, initMethod);
initFields();
- AssertValueEquals(orderingListId + ":0StateInput", "0:0:item0",
"Converter doesn't work.");
+ Assert.assertTrue(selenium.getValue(orderingListId +
":0StateInput").endsWith("0:item0"), "Converter doesn't
work.");
}
/**
@@ -93,15 +115,15 @@
public void testKeyboardNavigation(Template template) {
renderPage(template, initMethod);
initFields();
- _checkOrdering(new String[]{"0", "1", "2",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"0", "1",
"2", "3"});
_selectItem(orderingListId + ":0", false, false);
_selectItem(orderingListId + ":2", true, false);
selenium.click(downButton);
- _checkOrdering(new String[]{"1", "0", "3",
"2"});
+ _checkOrdering(orderingListTableId, new String[]{"1", "0",
"3", "2"});
_selectItem(orderingListId + ":1", false, false);
_selectItem(orderingListId + ":3", false, true);
selenium.click(downButton);
- _checkOrdering(new String[]{"2", "1", "0",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"2", "1",
"0", "3"});
_selectItem(orderingListId + ":0", false, false);
selenium.controlKeyDown();
selenium.keyDown(orderingListId + "focusKeeper", "A");
@@ -111,26 +133,26 @@
_selectItem(orderingListId + ":1", false, false);
selenium.keyDown(orderingListId + "focusKeeper", "\\40");
selenium.click(upButton);
- _checkOrdering(new String[]{"2", "0", "1",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"2", "0",
"1", "3"});
_selectItem(orderingListId + ":3", false, false);
selenium.keyDown(orderingListId + "focusKeeper", "\\38");
selenium.click(downButton);
- _checkOrdering(new String[]{"2", "0", "3",
"1"});
+ _checkOrdering(orderingListTableId, new String[]{"2", "0",
"3", "1"});
_selectItem(orderingListId + ":1", false, false);
selenium.keyDown(orderingListId + "focusKeeper", "\\33");
- _checkOrdering(new String[]{"1", "2", "0",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"1", "2",
"0", "3"});
selenium.keyDown(orderingListId + "focusKeeper", "\\34");
- _checkOrdering(new String[]{"2", "0", "3",
"1"});
+ _checkOrdering(orderingListTableId, new String[]{"2", "0",
"3", "1"});
_selectItem(orderingListId + ":1", false, false);
selenium.controlKeyDown();
selenium.keyDown(orderingListId + "focusKeeper", "\\38");
selenium.controlKeyUp();
- _checkOrdering(new String[]{"2", "0", "1",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"2", "0",
"1", "3"});
_selectItem(orderingListId + ":1", false, false);
selenium.controlKeyDown();
selenium.keyDown(orderingListId + "focusKeeper", "\\40");
selenium.controlKeyUp();
- _checkOrdering(new String[]{"2", "0", "3",
"1"});
+ _checkOrdering(orderingListTableId, new String[]{"2", "0",
"3", "1"});
}
/**
@@ -212,17 +234,17 @@
selenium.runScript("var listShuttle = ($('" + orderingListId +
"')).component;");
Assert.assertTrue("4".equals(selenium.getEval("window.listShuttle.getItems().length")));
Assert.assertTrue("0".equals(selenium.getEval("window.listShuttle.getSelection().length")));
- _checkOrdering(new String[]{"0", "1", "2",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"0", "1",
"2", "3"});
selenium.click(firstRow);
Assert.assertTrue("1".equals(selenium.getEval("window.listShuttle.getSelection().length")));
selenium.runScript("listShuttle.down()");
- _checkOrdering(new String[]{"1", "0", "2",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"1", "0",
"2", "3"});
selenium.runScript("listShuttle.bottom()");
- _checkOrdering(new String[]{"1", "2", "3",
"0"});
+ _checkOrdering(orderingListTableId, new String[]{"1", "2",
"3", "0"});
selenium.runScript("listShuttle.up()");
- _checkOrdering(new String[]{"1", "2", "0",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"1", "2",
"0", "3"});
selenium.runScript("listShuttle.top()");
- _checkOrdering(new String[]{"0", "1", "2",
"3"});
+ _checkOrdering(orderingListTableId, new String[]{"0", "1",
"2", "3"});
}
@@ -403,10 +425,10 @@
}
}
- private void _checkOrdering(String[] ordering) {
+ private void _checkOrdering(String tableId, String[] ordering) {
for (int i = 0; i < ordering.length; i++) {
- Assert.assertEquals(selenium.
- getText("xpath=id('" + orderingListId +"tbody')/tr["
+ (i + 1) + "]/td[1]"),
+ Assert.assertEquals(selenium.
+ getText("xpath=id('" + tableId + "')/tbody/tr[" + (i
+ 1) + "]/td[1]"),
"item" + ordering[i]);
}
@@ -439,6 +461,9 @@
String attrFormId = getParentId() + "attrFormId";
inputTextId = getParentId() + "testRequiredAndImmediate:inputTextId";
orderingListId = formId + "orderingList";
+ orderingListTableId = orderingListId + "internal_tab";
+ valueChangedId = formId + "valueChangedId";
+ tableId = formId + "tableId";
submitId = formId + "submitId";
firstButton = orderingListId + "first";
firstButtonDisabled = orderingListId + "disfirst";