Revision: 791
          http://jwebunit.svn.sourceforge.net/jwebunit/?rev=791&view=rev
Author:   jevonwright
Date:     2008-12-17 02:11:09 +0000 (Wed, 17 Dec 2008)

Log Message:
-----------
adding a test case to make sure that cookies persist across page requests

Modified Paths:
--------------
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/WebCookieTest.java
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/CookiesServlet.java
    
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/util/TestContext.java

Modified: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/WebCookieTest.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/WebCookieTest.java
        2008-12-12 20:52:32 UTC (rev 790)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/WebCookieTest.java
        2008-12-17 02:11:09 UTC (rev 791)
@@ -52,4 +52,22 @@
        beginAt("/cookies.jsp");
        assertCookieValueMatch("serveurCookie", "fo*");
        }
+    
+    /**
+     * Test that the cookie still exists across multiple requests,
+     * even if the cookie is not explicitly set each time.
+     */
+    public void testCookieWithoutExplicitSet() {
+       beginAt("/cookies.jsp");                // beginAt also resets cookies
+       assertCookieValueEquals("serveurCookie", "foo");
+       gotoPage("/cookies.jsp?dont_set=1");
+       assertCookieValueEquals("serveurCookie", "foo");        // should still 
be there
+       gotoPage("/cookies.jsp?dont_set=1");
+       assertCookieValueEquals("serveurCookie", "foo");        // should still 
be there
+       gotoPage("/cookies.jsp?dont_set=1");
+       assertCookieValueEquals("serveurCookie", "foo");        // should still 
be there
+       
+       
+    }
+    
 }
\ No newline at end of file

Modified: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/CookiesServlet.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/CookiesServlet.java
  2008-12-12 20:52:32 UTC (rev 790)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/util/CookiesServlet.java
  2008-12-17 02:11:09 UTC (rev 791)
@@ -52,8 +52,11 @@
 
                out.write(HtmlHelper.getEnd());
                
-               Cookie cookie = new Cookie("serveurCookie","foo");
-               response.addCookie(cookie);
+               // to disable explicitly setting the cookie on each request
+               if (request.getParameter("dont_set") == null) {
+                       Cookie cookie = new Cookie("serveurCookie","foo");
+                       response.addCookie(cookie);
+               }
        }
 
 }

Modified: 
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/util/TestContext.java
===================================================================
--- 
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/util/TestContext.java
    2008-12-12 20:52:32 UTC (rev 790)
+++ 
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/util/TestContext.java
    2008-12-17 02:11:09 UTC (rev 791)
@@ -127,11 +127,26 @@
      * @param name cookie name.
      * @param value cookie value.
      * @param domain cookie domain (ie localhost or www.foo.bar).
+     * @param expiry the expiry date in seconds. -1 will delete this cookie, 0 
will delete it at the end of the browser session.
      */
+    public void addCookie(String name, String value, String domain, int 
expiry) {
+        Cookie c = new Cookie(name, value);
+        c.setDomain(domain);
+        c.setMaxAge(expiry);
+        addCookie(c);
+    }
+    
+    /**
+     * Add a cookie to the test context. These cookies are set on the 
conversation when you use a {WebTester#beginAt}.
+     * 
+     * @param name cookie name.
+     * @param value cookie value.
+     * @param domain cookie domain (ie localhost or www.foo.bar).
+     */
     public void addCookie(String name, String value, String domain) {
         Cookie c = new Cookie(name, value);
         c.setDomain(domain);
-        cookies.add(c);
+        addCookie(c);
     }
 
     /**


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