ClientCookieEncoder extends CookieEncoder { public String encode(String name, String value) { return encode(new DefaultCookie(name, value)); } private  ClientCookieEncoder(boolean strict); String encode(String name, String value); String encode(Cookie cookie); String encode(Cookie... cookies); String encode(Collection<? extends Cookie> cookies); String encode(Iterable<? extends Cookie> cookies); static final ClientCookieEncoder STRICT; static final ClientCookieEncoder LAX; }
@Test public void testEncodingMultipleClientCookies() { String c1 = "myCookie=myValue"; String c2 = "myCookie2=myValue2"; String c3 = "myCookie3=myValue3"; Cookie cookie1 = new DefaultCookie("myCookie", "myValue"); cookie1.setDomain(".adomainsomewhere"); cookie1.setMaxAge(50); cookie1.setPath("/apathsomewhere"); cookie1.setSecure(true); Cookie cookie2 = new DefaultCookie("myCookie2", "myValue2"); cookie2.setDomain(".anotherdomainsomewhere"); cookie2.setPath("/anotherpathsomewhere"); cookie2.setSecure(false); Cookie cookie3 = new DefaultCookie("myCookie3", "myValue3"); String encodedCookie = ClientCookieEncoder.STRICT.encode(cookie1, cookie2, cookie3); assertEquals(c3 + "; " + c2 + "; " + c1, encodedCookie); }
@Test public void testWrappedCookieValue() { ClientCookieEncoder.STRICT.encode(new DefaultCookie("myCookie", "\"foo\"")); }
@Test(expected = IllegalArgumentException.class) public void testRejectCookieValueWithSemicolon() { ClientCookieEncoder.STRICT.encode(new DefaultCookie("myCookie", "foo;bar")); }