Author: dsvyatobatsko
Date: 2008-10-17 12:41:48 -0400 (Fri, 17 Oct 2008)
New Revision: 10822
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/simpleTogglePanel/simpleTogglePanelChildProcessingTest.xhtml
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/RichPanelTestBean.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java
Log:
SimpleTogglePanel: children components aren't processed for server-aware modes and
closed panel
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/RichPanelTestBean.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/RichPanelTestBean.java 2008-10-17
16:29:09 UTC (rev 10821)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/RichPanelTestBean.java 2008-10-17
16:41:48 UTC (rev 10822)
@@ -36,14 +36,33 @@
private boolean rendered;
- private String content = "content";
+ private String content;
+ private String switchType = "server";
+
public RichPanelTestBean() {
value = "";
value2 = 0;
rendered = true;
+ content = "content";
}
+ /**
+ * Gets value of switchType field.
+ * @return value of switchType field
+ */
+ public String getSwitchType() {
+ return switchType;
+ }
+
+ /**
+ * Set a new value for switchType field.
+ * @param switchType a new value for switchType field
+ */
+ public void setSwitchType(String switchType) {
+ this.switchType = switchType;
+ }
+
public String getValue() {
return value;
}
@@ -154,7 +173,25 @@
public void hide() {
rendered = false;
}
+
+ public void reset2Server() {
+ cleanValues();
+ content = "";
+ switchType = "server";
+ }
+ public void reset2Ajax() {
+ cleanValues();
+ content = "";
+ switchType = "ajax";
+ }
+
+ public void reset2Client() {
+ cleanValues();
+ content = "";
+ switchType = "client";
+ }
+
public void cleanValues() {
value = "";
value2 = 0;
@@ -162,5 +199,6 @@
panelValue2 = null;
itemAction = "";
rendered = true;
+ content = "content";
}
}
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/simpleTogglePanel/simpleTogglePanelChildProcessingTest.xhtml
===================================================================
(Binary files differ)
Property changes on:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/simpleTogglePanel/simpleTogglePanelChildProcessingTest.xhtml
___________________________________________________________________
Name: svn:mime-type
+ application/xhtml+xml
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java 2008-10-17
16:29:09 UTC (rev 10821)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/SimpleTogglePanelTest.java 2008-10-17
16:41:48 UTC (rev 10822)
@@ -34,6 +34,10 @@
private static Map<String, String> params = new HashMap<String,
String>();
+ private final static String CHILD_PROCESSING_TEST_URL =
"pages/simpleTogglePanel/simpleTogglePanelChildProcessingTest.xhtml";
+
+ private final static String RESET_METHOD = "#{panelBean.cleanValues}";
+
static {
params.put("parameter1", "value1");
params.put("parameter2", "value2");
@@ -42,7 +46,7 @@
@Test
public void testSimpleTogglePanelComponent(Template template) {
- renderPage(template);
+ renderPage(template, RESET_METHOD);
String parentId = getParentId() + "_form:";
String inputId = parentId + "_value";
String outputId = parentId + "_value2";
@@ -92,7 +96,7 @@
@Test
public void testRenderedAttribute(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test component with rendered = false is not present on the
page");
tester.testRendered();
}
@@ -100,7 +104,7 @@
@Test
public void testReRenderAttribute(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test component re-renders another components");
tester.testReRender();
}
@@ -108,7 +112,7 @@
@Test
public void testLimitToListAttribute(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test component with limitToList = true skips ajaxRendered areas
update");
tester.testLimitToList();
}
@@ -116,7 +120,7 @@
@Test
public void testBypassUpdatesAttribute(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test component with bypassUpdates = true skips update model
values phase");
tester.testBypassUpdate();
}
@@ -124,7 +128,7 @@
@Test
public void testNestedParams(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test component encodes nested f:param tags and their values are
present as request parameters");
tester.testRequestParameters(params);
}
@@ -150,7 +154,7 @@
@Test
public void testAjaxSingle(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test ajaxSingle attribute");
tester.testAjaxSingle();
}
@@ -158,7 +162,7 @@
@Test
public void testAjaxSingleWithInternalValidationFailed(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test ajaxSingle attribute in case of invalid children
state");
tester.testAjaxSingleWithInternalValidationFailed();
}
@@ -166,7 +170,7 @@
@Test
public void testImmediate(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test immediate attribute");
tester.testImmediate();
}
@@ -174,11 +178,51 @@
@Test
public void testImmediateWithExternalValidationFailed(Template template) {
AutoTester tester = getAutoTester(this);
- tester.renderPage(template, null);
+ tester.renderPage(template, RESET_METHOD);
writeStatus("Test immediate attribute with external validation
failed");
tester.testImmediateWithExternalValidationFailed();
}
+ @Test
+ public void testChildProcessingServerCase(Template template) {
+ renderPage(CHILD_PROCESSING_TEST_URL, template,
"#{panelBean.reset2Server}");
+ writeStatus("Check children components processing for server mode");
+
+ String parentId = getParentId() + "_form:";
+
+ String panelId = parentId + "panel_header";
+ String luckId = parentId + "_luck";
+ String childId = parentId + "_child";
+ String ajaxSubmit = parentId + "_ajaxSubmit";
+ String fullSubmit = parentId + "_fullSubmit";
+
+ clickAjaxCommandAndWait(ajaxSubmit);
+ AssertTextEquals(luckId, "1", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickCommandAndWait(fullSubmit);
+ AssertTextEquals(luckId, "2", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickCommandAndWait(panelId);
+ AssertTextEquals(luckId, "3", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickAjaxCommandAndWait(ajaxSubmit);
+ AssertTextEquals(luckId, "3", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ clickCommandAndWait(fullSubmit);
+ AssertTextEquals(luckId, "3", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ type(childId, "valid");
+
+ clickAjaxCommandAndWait(ajaxSubmit);
+ AssertTextEquals(luckId, "4", "Panel is server-aware and open!
Valid child components must be processed");
+
+ clickCommandAndWait(fullSubmit);
+ AssertTextEquals(luckId, "1", "Panel is server-aware and open!
Valid child components must be processed");
+
+ clickCommandAndWait(panelId);
+ AssertTextEquals(luckId, "2", "Panel is server-aware and open!
Valid child components must be processed");
+ }
+
@Override
public void sendAjax() {
clickAjaxCommandAndWait(getAutoTester(this).getClientId(AutoTester.COMPONENT_ID)
+ "_header");