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

Reply via email to