You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/12/22 16:21:21 UTC
svn commit: r893201 - in /wicket/branches/wicket-1.4.x/wicket/src:
main/java/org/apache/wicket/protocol/http/
test/java/org/apache/wicket/markup/html/form/persistence/
test/java/org/apache/wicket/util/tester/
Author: jdonnerstag
Date: Tue Dec 22 15:21:19 2009
New Revision: 893201
URL: http://svn.apache.org/viewvc?rev=893201&view=rev
Log:
fixed MockHttpServletResponse doesn't delete cookies
Issue: WICKET-2630
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/persistence/CookieValuePersisterTest.java
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java?rev=893201&r1=893200&r2=893201&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java Tue Dec 22 15:21:19 2009
@@ -99,6 +99,8 @@
*/
public void addCookie(final Cookie cookie)
{
+ // remove any potential duplicates
+ cookies.remove(cookie);
cookies.add(cookie);
}
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java?rev=893201&r1=893200&r2=893201&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java Tue Dec 22 15:21:19 2009
@@ -212,7 +212,27 @@
public void addCookie(Cookie cookie)
{
super.addCookie(cookie);
- cookiesOfThisSession.add(cookie);
+
+ // remove any potential duplicates
+ cookiesOfThisSession.remove(cookie);
+
+ // if maxAge <= 0, than remove cookie from browser session
+ if (cookie.getMaxAge() > 0)
+ {
+ cookiesOfThisSession.add(cookie);
+ }
+ else
+ {
+ Iterator<Cookie> iter = cookiesOfThisSession.iterator();
+ while (iter.hasNext())
+ {
+ Cookie entry = iter.next();
+ if (cookie.getName().equals(entry.getName()))
+ {
+ iter.remove();
+ }
+ }
+ }
}
};
Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/persistence/CookieValuePersisterTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/persistence/CookieValuePersisterTest.java?rev=893201&r1=893200&r2=893201&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/persistence/CookieValuePersisterTest.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/persistence/CookieValuePersisterTest.java Tue Dec 22 15:21:19 2009
@@ -155,9 +155,9 @@
// the response.
persister.clear(textField);
assertEquals(1, getRequestCookies(cycle).length);
- assertEquals(2, getResponseCookies(cycle).size());
- assertEquals("form.input", (getResponseCookies(cycle).get(1)).getName());
- assertEquals(0, (getResponseCookies(cycle).get(1)).getMaxAge());
+ assertEquals(1, getResponseCookies(cycle).size());
+ assertEquals("form.input", (getResponseCookies(cycle).get(0)).getName());
+ assertEquals(0, (getResponseCookies(cycle).get(0)).getMaxAge());
}
private void copyCookieFromResponseToRequest(final RequestCycle cycle)
Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java?rev=893201&r1=893200&r2=893201&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java Tue Dec 22 15:21:19 2009
@@ -641,7 +641,9 @@
public void testCookieIsFoundOnNextRequestWhenAddedToWicketResponse()
{
- tester.getWicketResponse().addCookie(new Cookie("name", "value"));
+ Cookie cookie = new Cookie("name", "value");
+ cookie.setMaxAge(60);
+ tester.getWicketResponse().addCookie(cookie);
tester.setupRequestAndResponse();
assertEquals("value", tester.getWicketRequest().getCookie("name").getValue());
}