Author: nbelaevski
Date: 2008-11-25 15:41:42 -0500 (Tue, 25 Nov 2008)
New Revision: 11382
Added:
trunk/ui/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java
trunk/ui/core/src/test/resources/org/ajax4jsf/component/queue-poll.xhtml
Modified:
trunk/ui/core/src/test/resources/org/ajax4jsf/component/simulation.js
Log:
https://jira.jboss.org/jira/browse/RF-5015
Added: trunk/ui/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java
===================================================================
--- trunk/ui/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java
(rev 0)
+++ trunk/ui/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java 2008-11-25
20:41:42 UTC (rev 11382)
@@ -0,0 +1,112 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * @author Nick Belaevski
+ * @since 3.3.0
+ */
+
+public class QueuedPollTest extends AbstractQueueComponentTest {
+
+ /**
+ * @param name
+ */
+ public QueuedPollTest(String name) {
+ super(name);
+ }
+
+ private void setFlag(String name) {
+ Map<String, Object> requestMap =
facesContext.getExternalContext().getRequestMap();
+ requestMap.put(name, Boolean.TRUE);
+ }
+
+ public void testQueuedDefaultPollRequestDelay() throws Exception {
+ setFlag("queuedDefaultPollEnabled");
+ renderView("/queue-poll.xhtml");
+
+ TestsResult result = getTestsResult();
+ List<RequestData> dataList = result.getDataList();
+
+ assertEquals(1, dataList.size());
+ checkRequestData(dataList.get(0), null, 600, 1600, false);
+ }
+
+ public void testQueuedPollRequestDelay() throws Exception {
+ setFlag("queuedDelayedPollEnabled");
+ renderView("/queue-poll.xhtml");
+
+ TestsResult result = getTestsResult();
+ List<RequestData> dataList = result.getDataList();
+
+ assertEquals(1, dataList.size());
+ checkRequestData(dataList.get(0), null, 300, 1300, false);
+ }
+
+ public void testDelayedQueueDefaultPollRequestDelay() throws Exception {
+ setFlag("delayedQueueDefaultPollEnabled");
+ renderView("/queue-poll.xhtml");
+
+ TestsResult result = getTestsResult();
+ List<RequestData> dataList = result.getDataList();
+
+ assertEquals(1, dataList.size());
+ checkRequestData(dataList.get(0), null, 1500, 2500, false);
+ }
+
+ public void testDelayedQueuePollRequestDelay() throws Exception {
+ setFlag("delayedQueueDelayedPollEnabled");
+ renderView("/queue-poll.xhtml");
+
+ TestsResult result = getTestsResult();
+ List<RequestData> dataList = result.getDataList();
+
+ assertEquals(1, dataList.size());
+ checkRequestData(dataList.get(0), null, 2400, 3400, false);
+ }
+
+ public void testUnqueuedDefaultPollRequestDelay() throws Exception {
+ setFlag("unqueuedDefaultPollEnabled");
+ renderView("/queue-poll.xhtml");
+
+ TestsResult result = getTestsResult();
+ List<RequestData> dataList = result.getDataList();
+
+ assertEquals(1, dataList.size());
+ checkRequestData(dataList.get(0), null, 700, 1700, false);
+ }
+
+ public void testunQueuedPollRequestDelay() throws Exception {
+ setFlag("unqueuedDelayedPollEnabled");
+ renderView("/queue-poll.xhtml");
+
+ TestsResult result = getTestsResult();
+ List<RequestData> dataList = result.getDataList();
+
+ assertEquals(1, dataList.size());
+ checkRequestData(dataList.get(0), null, 950, 1950, false);
+ }
+}
Added: trunk/ui/core/src/test/resources/org/ajax4jsf/component/queue-poll.xhtml
===================================================================
--- trunk/ui/core/src/test/resources/org/ajax4jsf/component/queue-poll.xhtml
(rev 0)
+++ trunk/ui/core/src/test/resources/org/ajax4jsf/component/queue-poll.xhtml 2008-11-25
20:41:42 UTC (rev 11382)
@@ -0,0 +1,29 @@
+<html
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:a4j="http://richfaces.org/a4j">
+ <body>
+ <f:view>
+
+ <h:form>
+ <a4j:queue />
+
+ <a4j:poll id="queuedDefaultPoll"
enabled="#{queuedDefaultPollEnabled}" interval="600" />
+ <a4j:poll id="queuedDelayedPoll"
enabled="#{queuedDelayedPollEnabled}" interval="200"
requestDelay="100" />
+ </h:form>
+
+ <h:form>
+ <a4j:queue requestDelay="10000" />
+
+ <a4j:poll id="delayedQueueDefaultPoll"
enabled="#{delayedQueueDefaultPollEnabled}" interval="1500" />
+ <a4j:poll id="delayedQueueDelayedPoll"
enabled="#{delayedQueueDelayedPollEnabled}" interval="2000"
requestDelay="400" />
+ </h:form>
+
+ <h:form>
+ <a4j:poll id="unqueuedDefaultPoll"
enabled="#{unqueuedDefaultPollEnabled}" interval="700" />
+ <a4j:poll id="unqueuedDelayedPoll"
enabled="#{unqueuedDelayedPollEnabled}" interval="900"
requestDelay="50" />
+ </h:form>
+ </f:view>
+ </body>
+</html>
Modified: trunk/ui/core/src/test/resources/org/ajax4jsf/component/simulation.js
===================================================================
--- trunk/ui/core/src/test/resources/org/ajax4jsf/component/simulation.js 2008-11-25
20:40:04 UTC (rev 11381)
+++ trunk/ui/core/src/test/resources/org/ajax4jsf/component/simulation.js 2008-11-25
20:41:42 UTC (rev 11382)
@@ -44,6 +44,7 @@
execute: function() {
while (this.events.length > 0) {
+
var eventData = this.events.shift();
this.currentTime = eventData.eventTime;
@@ -198,7 +199,7 @@
A4J.AJAX.SubmitQuery = function(query, options, event) {
var defaultRequestTime = XMLHttpRequest.defaultRequestTime;
if (typeof defaultRequestTime == "function") {
- defaultRequestTime = defaultRequestTime(event);
+ defaultRequestTime = defaultRequestTime(query, options, event);
}
XMLHttpRequest.requestTime = options.requestTime || defaultRequestTime ||
DEFAULT_REQUEST_TIME;