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());
}