[JWebUnit-development] SF.net SVN: jwebunit:[777] trunk
Brought to you by:
henryju
|
From: <he...@us...> - 2008-12-07 22:22:13
|
Revision: 777
http://jwebunit.svn.sourceforge.net/jwebunit/?rev=777&view=rev
Author: henryju
Date: 2008-12-07 21:42:49 +0000 (Sun, 07 Dec 2008)
Log Message:
-----------
Fixed setTimeout test:
1) System.nanoTime() seems to not works fine on my computer (Linux)
2) HtmlUnit timeout is expressed in milliseconds
Modified Paths:
--------------
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ResponseServletTest.java
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/ResponseServlet.java
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
Modified: trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ResponseServletTest.java
===================================================================
--- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ResponseServletTest.java 2008-12-07 19:30:41 UTC (rev 776)
+++ trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ResponseServletTest.java 2008-12-07 21:42:49 UTC (rev 777)
@@ -24,7 +24,6 @@
public void setUp() throws Exception {
super.setUp();
- setTimeout(2); // specify a global timeout of 2 (must be set before the WebConnection is initialised)
setIgnoreFailingStatusCodes(true); // ignore failing status codes
getTestContext().setBaseUrl(HOST_PATH + "/ResponseServletTest");
}
@@ -81,16 +80,30 @@
* Issue 1674646: add support for specifying the timeout of pages
*/
public void testTimeout() {
+ //Test that timeout was fired
+
+ setTimeout(500); // specify a global timeout of 0.5 seconds (must be set before the WebConnection is initialised)
beginAt("/SimpleForm.html");
assertTitleEquals("response form");
- setTextField("timeout", "10"); // server wait for 4 seconds
+ setTextField("timeout", "1"); // server wait for 1 seconds
+ boolean ok = false;
try {
submit();
} catch (RuntimeException e) {
assertTrue("timeout caused by SocketTimeoutException, but was " + e.getCause().getClass(), e.getCause() instanceof SocketTimeoutException);
+ ok = true;
}
- assertTextNotPresent("hello, world!"); // this will only display if the timeout is completed
-
+ assertTrue("Timeout wasn't fired", ok);
+ closeBrowser();
+
+ //Test that timeout wasn't fired
+
+ setTimeout(2000); // specify a global timeout of 2 seconds (must be set before the WebConnection is initialised)
+ beginAt("/SimpleForm.html");
+ assertTitleEquals("response form");
+ setTextField("timeout", "1"); // server wait for 1 seconds
+ submit();
+ assertTextPresent("hello, world!");
}
}
Modified: trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/ResponseServlet.java
===================================================================
--- trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/ResponseServlet.java 2008-12-07 19:30:41 UTC (rev 776)
+++ trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/ResponseServlet.java 2008-12-07 21:42:49 UTC (rev 777)
@@ -37,8 +37,8 @@
// wait for a timeout?
if (request.getParameter("timeout") != null && request.getParameter("timeout").length() > 0) {
int seconds = Integer.parseInt(request.getParameter("timeout"));
- long start = System.nanoTime();
- while (System.nanoTime() < start + (seconds * 1000 * 1000))
+ long start = System.currentTimeMillis();
+ while (System.currentTimeMillis() < start + (seconds * 1000))
; // wait
}
Modified: trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
===================================================================
--- trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java 2008-12-07 19:30:41 UTC (rev 776)
+++ trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java 2008-12-07 21:42:49 UTC (rev 777)
@@ -909,9 +909,9 @@
* Set the timeout for the request. A timeout of 0 means
* an infinite timeout.
*
- * @param seconds the seconds in which to timeout, or 0 for infinite
+ * @param milliseconds the milliseconds in which to timeout, or 0 for infinite
* wait (the default).
*/
- public void setTimeout(int seconds);
+ public void setTimeout(int milliseconds);
}
Modified: trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
===================================================================
--- trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java 2008-12-07 19:30:41 UTC (rev 776)
+++ trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java 2008-12-07 21:42:49 UTC (rev 777)
@@ -2296,11 +2296,11 @@
this.defaultBrowserVersion = defaultBrowserVersion;
}
- public void setTimeout(int seconds) {
+ public void setTimeout(int milliseconds) {
if (wc != null && wc.getWebConnection() != null) {
throw new IllegalArgumentException("Cannot set the timeout when the WebConnection has already been created.");
}
- timeout = seconds;
+ timeout = milliseconds;
}
}
Modified: trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
===================================================================
--- trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java 2008-12-07 19:30:41 UTC (rev 776)
+++ trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java 2008-12-07 21:42:49 UTC (rev 777)
@@ -730,7 +730,7 @@
throw new UnsupportedOperationException("getComments");
}
- public void setTimeout(int seconds) {
+ public void setTimeout(int milliseconds) {
// TODO implement method
throw new UnsupportedOperationException("setTimeout");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|