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.
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development