Updated Branches: refs/heads/master b1e68de91 -> 381b90fd0
WICKET-5072 Cookies#isEqual(Cookie, Cookie) may fail with NullPointerException Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/381b90fd Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/381b90fd Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/381b90fd Branch: refs/heads/master Commit: 381b90fd0a55e40983d0e826139363a7d965ee0e Parents: b1e68de Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Mar 4 11:02:32 2013 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Mar 4 11:02:32 2013 +0200 ---------------------------------------------------------------------- .../apache/wicket/protocol/http/mock/Cookies.java | 5 +- .../wicket/protocol/http/mock/CookiesTest.java | 33 +++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/381b90fd/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/Cookies.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/Cookies.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/Cookies.java index 68f3083..d3a8a6e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/Cookies.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/Cookies.java @@ -19,6 +19,7 @@ package org.apache.wicket.protocol.http.mock; import javax.servlet.http.Cookie; import org.apache.wicket.util.lang.Args; +import org.apache.wicket.util.lang.Objects; /** * A helper class for dealing with cookies @@ -59,7 +60,7 @@ public final class Cookies Args.notNull(c2, "c2"); return c1.getName().equals(c2.getName()) && - ((c1.getPath() == null && c2.getPath() == null) || (c1.getPath().equals(c2.getPath()))) && - ((c1.getDomain() == null && c2.getDomain() == null) || (c1.getDomain().equals(c2.getDomain()))); + Objects.isEqual(c1.getPath(), c2.getPath()) && + Objects.isEqual(c1.getDomain(), c2.getDomain()); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/381b90fd/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/CookiesTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/CookiesTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/CookiesTest.java new file mode 100644 index 0000000..9e7755b --- /dev/null +++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/CookiesTest.java @@ -0,0 +1,33 @@ +package org.apache.wicket.protocol.http.mock; + +import javax.servlet.http.Cookie; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Tests for Cookies helper class + */ +public class CookiesTest extends Assert +{ + @Test + public void testIsEqual() throws Exception + { + Cookie c1 = new Cookie("Name", "Value"); + Cookie c2 = new Cookie("Name", "Value"); + + assertTrue(Cookies.isEqual(c1, c2)); + + c2.setPath("Path"); + assertFalse(Cookies.isEqual(c1, c2)); + + c1.setPath("Path"); + assertTrue(Cookies.isEqual(c1, c2)); + + c2.setDomain("Domain"); + assertFalse(Cookies.isEqual(c1, c2)); + + c1.setDomain("Domain"); + assertTrue(Cookies.isEqual(c1, c2)); + } +}
