Author: lfryc(a)redhat.com
Date: 2011-02-05 15:46:24 -0500 (Sat, 05 Feb 2011)
New Revision: 21486
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jAttachQueue/TestNestedAttachQueue.java
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/QueueModel.java
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java
Log:
a4j:queue - automated test of @ignoreDupResponses
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml 2011-02-05
18:30:15 UTC (rev 21485)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml 2011-02-05
20:46:24 UTC (rev 21486)
@@ -74,6 +74,14 @@
<a4j:ajax event="keypress"
onbegin="add(#{rich:element('requests')});
#{rich:element('timeWatcher:grid')}.begin(); " render="outtext"
oncomplete="#{rich:element('timeWatcher:grid')}.complete();
#{rich:element('timeWatcher:grid')}.difference(); "
onbeforedomupdate="add(#{rich:element('updates')});"/>
</h:inputText>
+
+ <h:outputText value="Click here:" />
+ <h:commandButton id="actionButton"
value="Action" action="#{a4jQueueBean.increment}"
+ onclick="add(#{rich:element('events1')});
#{rich:element('timeWatcher:grid')}.event();">
+ <a4j:ajax onbegin="add(#{rich:element('requests')});
#{rich:element('timeWatcher:grid')}.begin(); "
+
oncomplete="#{rich:element('timeWatcher:grid')}.complete();
#{rich:element('timeWatcher:grid')}.difference(); "
+
onbeforedomupdate="add(#{rich:element('updates')});" />
+ </h:commandButton>
<h:outputText value="Repeated text:" />
<h:outputText value="#{a4jQueueBean.text}"
id="outtext" style="font-weight:bold;" />
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jAttachQueue/TestNestedAttachQueue.java
===================================================================
---
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jAttachQueue/TestNestedAttachQueue.java 2011-02-05
18:30:15 UTC (rev 21485)
+++
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jAttachQueue/TestNestedAttachQueue.java 2011-02-05
20:46:24 UTC (rev 21486)
@@ -26,6 +26,7 @@
import java.net.URL;
import org.jboss.cheiron.halt.XHRHalter;
+import org.jboss.cheiron.halt.XHRState;
import org.richfaces.tests.metamer.ftest.AbstractMetamerTest;
import org.richfaces.tests.metamer.ftest.a4jQueue.QueueAttributes;
import org.richfaces.tests.metamer.ftest.a4jQueue.QueueModel;
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/QueueModel.java
===================================================================
---
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/QueueModel.java 2011-02-05
18:30:15 UTC (rev 21485)
+++
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/QueueModel.java 2011-02-05
20:46:24 UTC (rev 21486)
@@ -41,6 +41,8 @@
ReferencedLocator<JQueryLocator> input1 = ref(form,
"input:text[id$=input1]");
ReferencedLocator<JQueryLocator> input2 = ref(form,
"input:text[id$=input2]");
+ ReferencedLocator<JQueryLocator> button = ref(form,
"input:submit[id$=actionButton]");
+ ReferencedLocator<JQueryLocator> repeatedText = ref(form,
"span[id$=outtext]");
ElementLocator<?> events1 = ref(form, "span[id$=events1]");
ElementLocator<?> events2 = ref(form, "span[id$=events2]");
@@ -88,6 +90,18 @@
selenium.fireEvent(input, KEYPRESS);
}
}
+
+ public void clickButton() {
+ selenium.click(button);
+ }
+
+ public void type(String text) {
+ selenium.type(input1, text);
+ }
+
+ public String getRepeatedText() {
+ return selenium.getText(repeatedText);
+ }
public void initializeCounts() {
retrieveEvent1Count.initializeValue();
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java
===================================================================
---
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java 2011-02-05
18:30:15 UTC (rev 21485)
+++
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java 2011-02-05
20:46:24 UTC (rev 21486)
@@ -22,6 +22,7 @@
package org.richfaces.tests.metamer.ftest.a4jQueue;
import static org.jboss.test.selenium.utils.URLUtils.buildUrl;
+import static org.testng.Assert.assertEquals;
import java.net.URL;
@@ -33,6 +34,8 @@
import org.richfaces.tests.metamer.ftest.annotations.Use;
import org.testng.annotations.Test;
+import com.thoughtworks.selenium.SeleniumException;
+
/**
* @author <a href="mailto:lfryc@redhat.com">Lukas Fryc</a>
* @version $Revision$
@@ -184,16 +187,44 @@
// fireEvents(1);
}
- // TODO not implemented yet
+ @Test
public void testIgnoreDuplicatedResponses() {
- attributes.setIgnoreDupResponses(true);
+ attributes.setIgnoreDupResponses(false);
XHRHalter.enable();
+ queue.type("a");
queue.fireEvent(1);
XHRHalter handle = XHRHalter.getHandleBlocking();
handle.send();
+ queue.type("b");
queue.fireEvent(1);
handle.complete();
+ waitGui.dontFail().waitForChange("",
retrieveText.locator(queue.repeatedText));
+ assertEquals(queue.getRepeatedText(), "a");
handle.waitForOpen();
+ handle.complete();
+ waitGui.dontFail().waitForChange("a",
retrieveText.locator(queue.repeatedText));
+ assertEquals(queue.getRepeatedText(), "b");
+
+ attributes.setIgnoreDupResponses(true);
+
+ XHRHalter.enable();
+ queue.type("c");
+ queue.fireEvent(1);
+ handle = XHRHalter.getHandleBlocking();
+ handle.send();
+ queue.type("d");
+ queue.fireEvent(1);
+ handle.complete();
+ try {
+ waitGui.dontFail().waitForChange("b",
retrieveText.locator(queue.repeatedText));
+ } catch (SeleniumException e) {
+ // expected timeout
+ }
+ assertEquals(queue.getRepeatedText(), "b");
+ handle.waitForOpen();
+ handle.complete();
+ waitGui.dontFail().waitForChange("b",
retrieveText.locator(queue.repeatedText));
+ assertEquals(queue.getRepeatedText(), "d");
}
}
\ No newline at end of file
Show replies by date