Increasing the timeout of JsonpRequestTest and forcing the server to flush results faster.
Patch by: jlabanca
Review by: jat (desk)
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6090 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java b/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java
index 9d93f4f..8022eb7 100644
--- a/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java
+++ b/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java
@@ -25,27 +25,38 @@
public class JsonpRequestTest extends GWTTestCase {
/**
- * The maximum amount of time to wait for a response in milliseconds.
+ * The maximum amount of time to wait for a response in milliseconds.
*/
- private static final int RESPONSE_DELAY = 1500;
+ private static final int RESPONSE_DELAY = 2500;
+
+ /**
+ * The current Id of the async callback.
+ */
+ protected static int currentId;
/**
* Checks that an error is received.
*/
private class AssertFailureCallback<T> implements AsyncCallback<T> {
private String expectedMessage;
+ private int id;
public AssertFailureCallback(String expectedMessage) {
+ id = ++currentId;
this.expectedMessage = expectedMessage;
}
public void onFailure(Throwable throwable) {
- assertEquals(expectedMessage, throwable.getMessage());
- finishTest();
+ if (id == currentId) {
+ assertEquals(expectedMessage, throwable.getMessage());
+ finishTest();
+ }
}
public void onSuccess(T value) {
- fail();
+ if (id == currentId) {
+ fail();
+ }
}
}
@@ -54,18 +65,24 @@
*/
private class AssertSuccessCallback<T> implements AsyncCallback<T> {
private T expectedValue;
+ private int id;
private AssertSuccessCallback(T expectedValue) {
+ this.id = ++currentId;
this.expectedValue = expectedValue;
}
public void onFailure(Throwable throwable) {
- fail();
+ if (id == currentId) {
+ fail();
+ }
}
public void onSuccess(T value) {
- assertEquals(expectedValue, value);
- finishTest();
+ if (id == currentId) {
+ assertEquals(expectedValue, value);
+ finishTest();
+ }
}
}
@@ -103,33 +120,33 @@
}
public void testBooleanFalse() {
+ delayTestFinish(RESPONSE_DELAY);
jsonp.requestBoolean(echo("false"), new AssertSuccessCallback<Boolean>(
Boolean.FALSE));
- delayTestFinish(RESPONSE_DELAY);
}
public void testBooleanTrue() {
+ delayTestFinish(RESPONSE_DELAY);
jsonp.requestBoolean(echo("true"), new AssertSuccessCallback<Boolean>(
Boolean.TRUE));
- delayTestFinish(RESPONSE_DELAY);
}
public void testDouble() {
+ delayTestFinish(RESPONSE_DELAY);
jsonp.requestDouble(echo("123.456"), new AssertSuccessCallback<Double>(
123.456));
- delayTestFinish(RESPONSE_DELAY);
}
public void testFailureCallback() {
+ delayTestFinish(RESPONSE_DELAY);
jsonp.setFailureCallbackParam("failureCallback");
jsonp.requestString(echoFailure("ERROR"),
new AssertFailureCallback<String>("ERROR"));
- delayTestFinish(RESPONSE_DELAY);
}
public void testInteger() {
- jsonp.requestInteger(echo("123"), new AssertSuccessCallback<Integer>(123));
delayTestFinish(RESPONSE_DELAY);
+ jsonp.requestInteger(echo("123"), new AssertSuccessCallback<Integer>(123));
}
/**
@@ -137,46 +154,47 @@
* only a 'callback' parameter, and sends back the error to it.
*/
public void testNoFailureCallback() {
+ delayTestFinish(RESPONSE_DELAY);
jsonp.setFailureCallbackParam(null);
jsonp.requestString(echoFailure("ERROR"),
new AssertSuccessCallback<String>("ERROR"));
- delayTestFinish(RESPONSE_DELAY);
}
public void testNullBoolean() {
- jsonp.requestBoolean(echo("null"), new AssertSuccessCallback<Boolean>(null));
delayTestFinish(RESPONSE_DELAY);
+ jsonp.requestBoolean(echo("null"), new AssertSuccessCallback<Boolean>(null));
}
public void testNullDouble() {
- jsonp.requestDouble(echo("null"), new AssertSuccessCallback<Double>(null));
delayTestFinish(RESPONSE_DELAY);
+ jsonp.requestDouble(echo("null"), new AssertSuccessCallback<Double>(null));
}
public void testNullInteger() {
- jsonp.requestInteger(echo("null"), new AssertSuccessCallback<Integer>(null));
delayTestFinish(RESPONSE_DELAY);
+ jsonp.requestInteger(echo("null"), new AssertSuccessCallback<Integer>(null));
}
public void testNullString() {
- jsonp.requestString(echo("null"), new AssertSuccessCallback<String>(null));
delayTestFinish(RESPONSE_DELAY);
+ jsonp.requestString(echo("null"), new AssertSuccessCallback<String>(null));
}
public void testString() {
+ delayTestFinish(RESPONSE_DELAY);
jsonp.requestString(echo("'Hello'"), new AssertSuccessCallback<String>(
"Hello"));
- delayTestFinish(RESPONSE_DELAY);
}
public void testTimeout() {
- jsonp.requestString(echoTimeout(), new AssertTimeoutExceptionCallback<String>());
delayTestFinish(jsonp.getTimeout() + 500);
+ jsonp.requestString(echoTimeout(),
+ new AssertTimeoutExceptionCallback<String>());
}
public void testVoid() {
- jsonp.send(echo(null), new AssertSuccessCallback<Void>(null));
delayTestFinish(RESPONSE_DELAY);
+ jsonp.send(echo(null), new AssertSuccessCallback<Void>(null));
}
@Override
diff --git a/user/test/com/google/gwt/jsonp/server/EchoServlet.java b/user/test/com/google/gwt/jsonp/server/EchoServlet.java
index bdee3ef..18461dc 100644
--- a/user/test/com/google/gwt/jsonp/server/EchoServlet.java
+++ b/user/test/com/google/gwt/jsonp/server/EchoServlet.java
@@ -56,6 +56,7 @@
value = "";
}
res.getWriter().println(callback + "(" + value + ");");
+ res.getWriter().flush();
break;
}
@@ -64,11 +65,13 @@
String error = req.getParameter("error");
if (failureCallback != null) {
res.getWriter().println(failureCallback + "('" + error + "');");
+ res.getWriter().flush();
} else {
// If no failure callback is defined, send the error through the
// success callback.
String callback = req.getParameter("callback");
res.getWriter().println(callback + "('" + error + "');");
+ res.getWriter().flush();
}
break;
}