Author: dsvyatobatsko
Date: 2008-10-17 06:38:34 -0400 (Fri, 17 Oct 2008)
New Revision: 10819
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java
Log:
just formatting
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java 2008-10-17
10:22:55 UTC (rev 10818)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java 2008-10-17
10:38:34 UTC (rev 10819)
@@ -15,374 +15,377 @@
import org.testng.Assert;
/**
- * Class provides scope of mehods for automatic test of standard ajax attrs
+ * Class provides scope of mehods for automatic test of standard ajax attrs
+ *
* @author Andrey Markavtsov
- *
+ *
*/
public class AutoTester {
-
- private static final String AUTOTEST_CONTROLS_FORM_ID =
"autoTestControlForm:";
-
- private static final String AUTOTEST_FORM_ID = "autoTestForm:";
-
- private static final String INPUT_ID = "_auto_input";
-
- public static final String STATUS_ID = "_auto_status";
-
- private static final String TIME_ID = "_auto_time";
-
- public static final String COMPONENT_ID = "componentId";
-
- private static final String PARAMS_MAP_VAR_NAME = "requestParamsMap";
-
-// /private String componentName;
-
- SeleniumTestBase base;
-
- public AutoTester(SeleniumTestBase base) {
- this.base = base;
- }
-
- public void renderPage(Template template, String resetMethodName) {
- base.renderAutoTestPage(template, resetMethodName);
- }
-
- public void testAllAjaxAttributes() {
- testRendered();
- testReRender();
- testActionListener();
- testAjaxSingle();
- testImmediate();
- testBypassUpdate();
- testExtrenalValidationFailure();
- testLimitToList();
- }
-
- public void testRendered() {
- reset();
- setupControl(TestSetupEntry.rendered, Boolean.FALSE);
- clickLoad();
-
- base.AssertNotPresent(getClientId(COMPONENT_ID), "Rendered attribute does not
work");
- }
-
- public void testReRender() {
- reset();
- setupControl(TestSetupEntry.reRender, STATUS_ID + "," + TIME_ID);
- clickLoad();
-
- String text = base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID);
-
- base.sendAjax();
- base.AssertTextNotEquals(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID, text,
"ReRender attribute does not work");
-
- String oncomplete = base.runScript("window._ajaxOncomplete");
- Assert.assertEquals("true", oncomplete, "Oncomplete attribute does not
work.");
- }
-
- public void testActionListener() {
- reset();
- clickLoad();
-
- base.sendAjax();
+ private static final String AUTOTEST_CONTROLS_FORM_ID =
"autoTestControlForm:";
- checkActionListener(true);
- checkUpdateModel(true);
- }
-
- public void testExtrenalValidationFailure() {
- reset();
- clickLoad();
+ private static final String AUTOTEST_FORM_ID = "autoTestForm:";
- setExtrenalValidationFailed();
- base.sendAjax();
-
- checkActionListener(false);
- checkUpdateModel(false);
- }
-
- public void testAjaxSingle() {
- reset();
- setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
- clickLoad();
-
- setExtrenalValidationFailed();
- base.sendAjax();
-
- checkActionListener(true);
- checkUpdateModel(false);
-
- }
+ private static final String INPUT_ID = "_auto_input";
- /**
- * Important! Override {@link SeleniumTestBase#setInternalValidationFailed()} method if
you use this method
- */
- public void testAjaxSingleWithInternalValidationFailed() {
- reset();
- setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
- clickLoad();
+ public static final String STATUS_ID = "_auto_status";
- setInternalValidationFailed();
- base.sendAjax();
+ private static final String TIME_ID = "_auto_time";
- checkActionListener(false);
- checkUpdateModel(false);
+ public static final String COMPONENT_ID = "componentId";
+
+ private static final String PARAMS_MAP_VAR_NAME = "requestParamsMap";
+
+ // /private String componentName;
+
+ SeleniumTestBase base;
+
+ public AutoTester(SeleniumTestBase base) {
+ this.base = base;
+ }
+
+ public void renderPage(Template template, String resetMethodName) {
+ base.renderAutoTestPage(template, resetMethodName);
+ }
+
+ public void testAllAjaxAttributes() {
+ testRendered();
+ testReRender();
+ testActionListener();
+ testAjaxSingle();
+ testImmediate();
+ testBypassUpdate();
+ testExtrenalValidationFailure();
+ testLimitToList();
+ }
+
+ public void testRendered() {
+ reset();
+ setupControl(TestSetupEntry.rendered, Boolean.FALSE);
+ clickLoad();
+
+ base.AssertNotPresent(getClientId(COMPONENT_ID), "Rendered attribute does
not work");
+ }
+
+ public void testReRender() {
+ reset();
+ setupControl(TestSetupEntry.reRender, STATUS_ID + "," + TIME_ID);
+ clickLoad();
+
+ String text = base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID);
+
+ base.sendAjax();
+ base.AssertTextNotEquals(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID, text,
+ "ReRender attribute does not work");
+
+ String oncomplete = base.runScript("window._ajaxOncomplete");
+ Assert.assertEquals("true", oncomplete, "Oncomplete attribute does
not work.");
+ }
+
+ public void testActionListener() {
+ reset();
+ clickLoad();
+
+ base.sendAjax();
+
+ checkActionListener(true);
+ checkUpdateModel(true);
+ }
+
+ public void testExtrenalValidationFailure() {
+ reset();
+ clickLoad();
+
+ setExtrenalValidationFailed();
+ base.sendAjax();
+
+ checkActionListener(false);
+ checkUpdateModel(false);
+ }
+
+ public void testAjaxSingle() {
+ reset();
+ setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
+ clickLoad();
+
+ setExtrenalValidationFailed();
+ base.sendAjax();
+
+ checkActionListener(true);
+ checkUpdateModel(false);
+
+ }
+
+ /**
+ * Important! Override
+ * {@link SeleniumTestBase#setInternalValidationFailed()} method if you use
+ * this method
+ */
+ public void testAjaxSingleWithInternalValidationFailed() {
+ reset();
+ setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
+ clickLoad();
+
+ setInternalValidationFailed();
+ base.sendAjax();
+
+ checkActionListener(false);
+ checkUpdateModel(false);
+ }
+
+ public void testImmediate() {
+ reset();
+ setupControl(TestSetupEntry.immediate, Boolean.TRUE);
+ clickLoad();
+
+ base.sendAjax();
+
+ checkActionListener(true);
+ checkUpdateModel(false);
+
+ }
+
+ public void testImmediateWithExternalValidationFailed() {
+ reset();
+ setupControl(TestSetupEntry.immediate, Boolean.TRUE);
+ clickLoad();
+
+ setExtrenalValidationFailed();
+ base.sendAjax();
+
+ checkActionListener(true);
+ checkUpdateModel(false);
+
+ }
+
+ public void testBypassUpdate() {
+ reset();
+ setupControl(TestSetupEntry.bypassUpdate, Boolean.TRUE);
+ clickLoad();
+
+ base.sendAjax();
+
+ checkActionListener(true);
+ checkUpdateModel(false);
+ }
+
+ public void testLimitToList() {
+ reset();
+ setupControl(TestSetupEntry.limitToList, Boolean.TRUE);
+ clickLoad();
+
+ checkComponentReRendered();
+
+ reset();
+ setupControl(TestSetupEntry.limitToList, Boolean.TRUE);
+ setupControl(TestSetupEntry.reRender, STATUS_ID + "," + TIME_ID);
+ clickLoad();
+
+ String text = base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID);
+
+ checkComponentReRendered();
+
+ base.AssertTextNotEquals(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID, text,
""
+ + "LimitToList = true does not work. Component in reRender list was
not rerendered");
+
+ }
+
+ public void testRequestParameters(Map<String, String> params) {
+ reset();
+ clickLoad();
+
+ base.sendAjax();
+
+ for (String name : params.keySet()) {
+ String value = base.runScript(PARAMS_MAP_VAR_NAME + "." + name);
+ if (value == null) {
+ Assert.fail("Parameter [" + name + "] is not present in
ajax request");
+ } else if (!value.equals(params.get(name))) {
+ Assert.fail("Parameter [" + name + "] value is invalid.
Expected [" + params.get(name) + "]. But was ["
+ + value + "]");
+ }
}
+ }
- public void testImmediate() {
- reset();
- setupControl(TestSetupEntry.immediate, Boolean.TRUE);
- clickLoad();
+ public void testNestedActionListener() {
+ reset();
+ clickLoad();
- base.sendAjax();
+ base.sendAjax();
- checkActionListener(true);
- checkUpdateModel(false);
-
- }
+ checkNestedActionListener(true);
+ }
- public void testImmediateWithExternalValidationFailed() {
- reset();
- setupControl(TestSetupEntry.immediate, Boolean.TRUE);
- clickLoad();
+ public void testOncomplete() {
+ reset();
+ clickLoad();
- setExtrenalValidationFailed();
- base.sendAjax();
+ base.sendAjax();
- checkActionListener(true);
- checkUpdateModel(false);
+ String oncomplete = base.runScript("window._ajaxOncomplete");
+ Assert.assertEquals("true", oncomplete, "Oncomplete attribute does
not work.");
+ }
+
+ public void testStyleAndClasses(String[] classNames, Map<String, String>
styleAttr) {
+ reset();
+ clickLoad();
+
+ String componentId = getClientId(COMPONENT_ID);
+
+ base.assertClassNames(componentId, classNames, "Component's rendering
invalid", true);
+ base.assertStyleAttributes(componentId, styleAttr);
+ }
+
+ public void testHTMLEvents() {
+ String componentId = getClientId(COMPONENT_ID);
+ base.assertEvents(componentId, SeleniumEvent.STANDARD_HTML_EVENTS);
+ }
+
+ private void checkComponentReRendered() {
+ if (base.getReRendersId() == null) {
+ return;
}
- public void testBypassUpdate() {
- reset();
- setupControl(TestSetupEntry.bypassUpdate, Boolean.TRUE);
- clickLoad();
-
- base.sendAjax();
-
- checkActionListener(true);
- checkUpdateModel(false);
- }
-
- public void testLimitToList() {
- reset();
- setupControl(TestSetupEntry.limitToList, Boolean.TRUE);
- clickLoad();
-
- checkComponentReRendered();
-
- reset();
- setupControl(TestSetupEntry.limitToList, Boolean.TRUE);
- setupControl(TestSetupEntry.reRender, STATUS_ID + "," + TIME_ID);
- clickLoad();
+ List<String> htmlBefore = new ArrayList<String>();
+ List<String> htmlAfter = new ArrayList<String>();
-
- String text = base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID);
-
- checkComponentReRendered();
-
- base.AssertTextNotEquals(base.getParentId() + AUTOTEST_FORM_ID + TIME_ID, text,
"" +
- "LimitToList = true does not work. Component in reRender list was not
rerendered");
-
- }
-
-
- public void testRequestParameters(Map<String, String> params) {
- reset();
- clickLoad();
-
- base.sendAjax();
-
- for (String name : params.keySet()) {
- String value = base.runScript(PARAMS_MAP_VAR_NAME + "." + name);
- if (value == null) {
- Assert.fail("Parameter [" + name + "] is not present in ajax
request");
- }else if (!value.equals(params.get(name))) {
- Assert.fail("Parameter [" + name + "] value is invalid. Expected
["+params.get(name)+"]. But was ["+value+"]");
- }
- }
- }
-
- public void testNestedActionListener() {
- reset();
- clickLoad();
-
- base.sendAjax();
-
- checkNestedActionListener(true);
- }
-
- public void testOncomplete() {
- reset();
- clickLoad();
-
- base.sendAjax();
-
- String oncomplete = base.runScript("window._ajaxOncomplete");
- Assert.assertEquals("true", oncomplete, "Oncomplete attribute does not
work.");
-
- }
-
- public void testStyleAndClasses(String [] classNames, Map<String, String>
styleAttr) {
- reset();
- clickLoad();
-
- String componentId = getClientId(COMPONENT_ID);
-
- base.assertClassNames(componentId, classNames, "Component's rendering
invalid", true);
- base.assertStyleAttributes(componentId, styleAttr);
- }
-
- public void testHTMLEvents() {
- String componentId = getClientId(COMPONENT_ID);
- base.assertEvents(componentId, SeleniumEvent.STANDARD_HTML_EVENTS);
- }
-
- private void checkComponentReRendered() {
- if (base.getReRendersId() == null) {
- return;
- }
-
- List<String> htmlBefore = new ArrayList<String>();
- List<String> htmlAfter = new ArrayList<String>();
-
- for (String id : base.getReRendersId()) {
- htmlBefore.add(base.getHTMLById(getClientId(id)));
- }
+ for (String id : base.getReRendersId()) {
+ htmlBefore.add(base.getHTMLById(getClientId(id)));
+ }
- base.sendAjax();
+ base.sendAjax();
- for (String id : base.getReRendersId()) {
- htmlAfter.add(base.getHTMLById(getClientId(id)));
- }
+ for (String id : base.getReRendersId()) {
+ htmlAfter.add(base.getHTMLById(getClientId(id)));
+ }
- int i = 0;
- for (String html : htmlBefore) {
- Assert
- .assertEquals(
- html,
- htmlAfter.get(i),
- "LimitToList does not work. Component should not be reRendered if
limitToList=true");
+ int i = 0;
+ for (String html : htmlBefore) {
+ Assert.assertEquals(html, htmlAfter.get(i),
+ "LimitToList does not work. Component should not be reRendered
if limitToList=true");
- i++;
- }
- }
-
- public String getClientId(String id) {
- return (base.getParentId()!= null ? base.getParentId() : "")+
AUTOTEST_FORM_ID + id;
- }
-
- public String getClientId(String id, Template template) {
- return template.getPrefix() + AUTOTEST_FORM_ID + id;
- }
-
-
- private void reset() {
- if (base.getParentId() == null) {
- Assert.fail("Page has not been rendered before test. Invoke 'renderPage'
method before !");
- }
+ i++;
+ }
+ }
- for (TestSetupEntry attr : TestSetupEntry.list) {
- setupControl(attr, attr.defaultValue);
- }
- }
-
- private void clickLoad() {
- String commandButtonId = base.getParentId() + AUTOTEST_CONTROLS_FORM_ID +
"_auto_load";
- base.clickCommandAndWait(commandButtonId);
- }
-
- private void setExtrenalValidationFailed() {
- base.setValueById(base.getParentId() + AUTOTEST_FORM_ID + INPUT_ID, "");
- }
+ public String getClientId(String id) {
+ return (base.getParentId() != null ? base.getParentId() : "") +
AUTOTEST_FORM_ID + id;
+ }
- private void setInternalValidationFailed() {
- base.setInternalValidationFailed();
- }
+ public String getClientId(String id, Template template) {
+ return template.getPrefix() + AUTOTEST_FORM_ID + id;
+ }
- private void setupControl(TestSetupEntry attr, Object o) {
- final String idPrefix = "_auto_";
- String controlId = base.getParentId() + AUTOTEST_CONTROLS_FORM_ID + idPrefix +
attr.name;
- if (attr.type.equals(String.class)) {
- base.runScript("document.getElementById('" + controlId +
"').value = '" + o.toString() + "'");
- }else if (attr.type.equals(Boolean.class)) {
- base.runScript("document.getElementById('" + controlId +
"').checked = " + o.toString());
- }
- }
-
-
- private void checkActionListener(boolean passed) {
- String status = getStatus();
- if (passed && status != null &&
status.indexOf(AutoTestBean.ACTION_LISTENER_STATUS) == -1) {
- Assert.fail("ActionListener has been skipped");
- }else if (!passed && status != null &&
status.indexOf(AutoTestBean.ACTION_LISTENER_STATUS) != -1) {
- Assert.fail(status);
- }
- }
-
- private void checkNestedActionListener(boolean passed) {
- String status = getStatus();
- if (passed && status != null &&
status.indexOf(AutoTestBean.NESTED_ACTION_LISTENER_STATUS) == -1) {
- Assert.fail("Nested actionListener has been skipped");
- }else if (!passed && status != null &&
status.indexOf(AutoTestBean.NESTED_ACTION_LISTENER_STATUS) != -1) {
- Assert.fail("Nested actionListener should be skipped");
- }
- }
-
- private void checkUpdateModel(boolean passed) {
- String status = getStatus();
- if (passed && status != null &&
status.indexOf(AutoTestBean.UPDATE_MODEL_STATUS) == -1) {
- Assert.fail("Update Model phase has been skipped");
- }else if (!passed && status != null &&
status.indexOf(AutoTestBean.UPDATE_MODEL_STATUS) != -1) {
- Assert.fail("Update Model phase should be skipped");
- }
- }
-
- private String getStatus() {
- return base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + STATUS_ID);
- }
-}
+ private void reset() {
+ if (base.getParentId() == null) {
+ Assert.fail("Page has not been rendered before test. Invoke
'renderPage' method before !");
+ }
+ for (TestSetupEntry attr : TestSetupEntry.list) {
+ setupControl(attr, attr.defaultValue);
+ }
+ }
+ private void clickLoad() {
+ String commandButtonId = base.getParentId() + AUTOTEST_CONTROLS_FORM_ID +
"_auto_load";
+ base.clickCommandAndWait(commandButtonId);
+ }
+ private void setExtrenalValidationFailed() {
+ base.setValueById(base.getParentId() + AUTOTEST_FORM_ID + INPUT_ID,
"");
+ }
+
+ private void setInternalValidationFailed() {
+ base.setInternalValidationFailed();
+ }
+
+ private void setupControl(TestSetupEntry attr, Object o) {
+ final String idPrefix = "_auto_";
+ String controlId = base.getParentId() + AUTOTEST_CONTROLS_FORM_ID + idPrefix +
attr.name;
+ if (attr.type.equals(String.class)) {
+ base.runScript("document.getElementById('" + controlId +
"').value = '" + o.toString() + "'");
+ } else if (attr.type.equals(Boolean.class)) {
+ base.runScript("document.getElementById('" + controlId +
"').checked = " + o.toString());
+ }
+ }
+
+ private void checkActionListener(boolean passed) {
+ String status = getStatus();
+ if (passed && status != null &&
status.indexOf(AutoTestBean.ACTION_LISTENER_STATUS) == -1) {
+ Assert.fail("ActionListener has been skipped");
+ } else if (!passed && status != null &&
status.indexOf(AutoTestBean.ACTION_LISTENER_STATUS) != -1) {
+ Assert.fail(status);
+ }
+ }
+
+ private void checkNestedActionListener(boolean passed) {
+ String status = getStatus();
+ if (passed && status != null &&
status.indexOf(AutoTestBean.NESTED_ACTION_LISTENER_STATUS) == -1) {
+ Assert.fail("Nested actionListener has been skipped");
+ } else if (!passed && status != null &&
status.indexOf(AutoTestBean.NESTED_ACTION_LISTENER_STATUS) != -1) {
+ Assert.fail("Nested actionListener should be skipped");
+ }
+ }
+
+ private void checkUpdateModel(boolean passed) {
+ String status = getStatus();
+ if (passed && status != null &&
status.indexOf(AutoTestBean.UPDATE_MODEL_STATUS) == -1) {
+ Assert.fail("Update Model phase has been skipped");
+ } else if (!passed && status != null &&
status.indexOf(AutoTestBean.UPDATE_MODEL_STATUS) != -1) {
+ Assert.fail("Update Model phase should be skipped");
+ }
+ }
+
+ private String getStatus() {
+ return base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + STATUS_ID);
+ }
+}
+
class TestSetupEntry {
-
- String name;
-
- Class<?> type;
-
- Object defaultValue;
- public TestSetupEntry(String name, Class<?> type, Object defaultValue) {
- super();
- this.name = name;
- this.type = type;
- this.defaultValue = defaultValue;
- }
-
+ String name;
- public static final TestSetupEntry reRender = new TestSetupEntry("reRender",
String.class, AutoTester.STATUS_ID);
- public static final TestSetupEntry validatorId = new
TestSetupEntry("validatorId", String.class, AutoTestBean.VALIDATOR_DEFAULT_ID);
- public static final TestSetupEntry oncomplete = new
TestSetupEntry("oncomplete", String.class, AutoTestBean.ONCOMPLETE);
- public static final TestSetupEntry rendered = new TestSetupEntry("rendered",
Boolean.class, Boolean.TRUE);
- public static final TestSetupEntry ajaxSingle = new
TestSetupEntry("ajaxSingle", Boolean.class, Boolean.FALSE);
- public static final TestSetupEntry immediate = new TestSetupEntry("immediate",
Boolean.class, Boolean.FALSE);
- public static final TestSetupEntry bypassUpdate = new
TestSetupEntry("bypassUpdate", Boolean.class, Boolean.FALSE);
- public static final TestSetupEntry limitToList = new
TestSetupEntry("limitToList", Boolean.class, Boolean.FALSE);
-
- public static final List<TestSetupEntry> list = new
ArrayList<TestSetupEntry>();
- static {
- list.add(reRender);
- list.add(validatorId);
- list.add(rendered);
- list.add(ajaxSingle);
- list.add(immediate);
- list.add(bypassUpdate);
- list.add(limitToList);
- list.add(oncomplete);
-
- }
+ Class<?> type;
+ Object defaultValue;
+
+ public TestSetupEntry(String name, Class<?> type, Object defaultValue) {
+ super();
+ this.name = name;
+ this.type = type;
+ this.defaultValue = defaultValue;
+ }
+
+ public static final TestSetupEntry reRender = new
TestSetupEntry("reRender", String.class, AutoTester.STATUS_ID);
+
+ public static final TestSetupEntry validatorId = new
TestSetupEntry("validatorId", String.class,
+ AutoTestBean.VALIDATOR_DEFAULT_ID);
+
+ public static final TestSetupEntry oncomplete = new
TestSetupEntry("oncomplete", String.class,
+ AutoTestBean.ONCOMPLETE);
+
+ public static final TestSetupEntry rendered = new
TestSetupEntry("rendered", Boolean.class, Boolean.TRUE);
+
+ public static final TestSetupEntry ajaxSingle = new
TestSetupEntry("ajaxSingle", Boolean.class, Boolean.FALSE);
+
+ public static final TestSetupEntry immediate = new
TestSetupEntry("immediate", Boolean.class, Boolean.FALSE);
+
+ public static final TestSetupEntry bypassUpdate = new
TestSetupEntry("bypassUpdate", Boolean.class, Boolean.FALSE);
+
+ public static final TestSetupEntry limitToList = new
TestSetupEntry("limitToList", Boolean.class, Boolean.FALSE);
+
+ public static final List<TestSetupEntry> list = new
ArrayList<TestSetupEntry>();
+ static {
+ list.add(reRender);
+ list.add(validatorId);
+ list.add(rendered);
+ list.add(ajaxSingle);
+ list.add(immediate);
+ list.add(bypassUpdate);
+ list.add(limitToList);
+ list.add(oncomplete);
+
+ }
+
}