Author: jboynes
Date: Fri Jan 10 03:08:28 2014
New Revision: 1557017

URL: http://svn.apache.org/r1557017
Log:
add tests for setting v1 cookie values

Modified:
    tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java
    
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupportSeparatorsAllowed.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java?rev=1557017&r1=1557016&r2=1557017&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java Fri 
Jan 10 03:08:28 2014
@@ -33,6 +33,7 @@ public class TestSetCookieSupport {
     @Test
     public void v0NullValue() {
         Cookie cookie = new Cookie("foo", null);
+        // should this throw an IAE?
 //        Assert.assertEquals("foo=", SetCookieSupport.generateHeader(cookie));
         Assert.assertEquals("foo=\"\"", 
SetCookieSupport.generateHeader(cookie));
     }
@@ -109,4 +110,95 @@ public class TestSetCookieSupport {
 //        Assert.assertEquals("foo=a\"b\\c", 
SetCookieSupport.generateHeader(cookie));
         Assert.assertEquals("foo=\"a\\\"b\\\\c\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
     }
+
+    @Test
+    public void v1simpleCookie() {
+        Cookie cookie = new Cookie("foo", "bar");
+        cookie.setVersion(1);
+        Assert.assertEquals("foo=bar; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1NullValue() {
+        Cookie cookie = new Cookie("foo", null);
+        cookie.setVersion(1);
+        // should this throw an IAE?
+        Assert.assertEquals("foo=\"\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1QuotedValue() {
+        Cookie cookie = new Cookie("foo", "\"bar\"");
+        cookie.setVersion(1);
+        // should this be escaping the quotes rather than passing through?
+        Assert.assertEquals("foo=\"bar\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsSemicolon() {
+        Cookie cookie = new Cookie("foo", "a;b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a;b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsComma() {
+        Cookie cookie = new Cookie("foo", "a,b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a,b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsSpace() {
+        Cookie cookie = new Cookie("foo", "a b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsEquals() {
+        Cookie cookie = new Cookie("foo", "a=b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a=b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsQuote() {
+        Cookie cookie = new Cookie("foo", "a\"b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a\\\"b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Ignore("bug 55975")
+    @Test
+    public void v1ValueContainsNonV0Separator() {
+        Cookie cookie = new Cookie("foo", "a()<>@,;:\\\"/[]?={}b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a()<>@,;:\\\\\\\"/[]?={}b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Ignore("bug 55975")
+    @Test
+    public void v1ValueContainsBackslash() {
+        Cookie cookie = new Cookie("foo", "a\\b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a\\\\b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+
+    @Ignore("bug 55975")
+    @Test
+    public void v1ValueContainsBackslashAndQuote() {
+        Cookie cookie = new Cookie("foo", "a\"b\\c");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a\\\"b\\\\c\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
 }

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupportSeparatorsAllowed.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupportSeparatorsAllowed.java?rev=1557017&r1=1557016&r2=1557017&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupportSeparatorsAllowed.java
 (original)
+++ 
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupportSeparatorsAllowed.java
 Fri Jan 10 03:08:28 2014
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.http;
 import javax.servlet.http.Cookie;
 
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class TestSetCookieSupportSeparatorsAllowed {
@@ -97,4 +98,97 @@ public class TestSetCookieSupportSeparat
         Cookie cookie = new Cookie("foo", "a\"b\\c");
         Assert.assertEquals("foo=a\"b\\c", 
SetCookieSupport.generateHeader(cookie));
     }
+
+    @Test
+    public void v1simpleCookie() {
+        Cookie cookie = new Cookie("foo", "bar");
+        cookie.setVersion(1);
+        Assert.assertEquals("foo=bar; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1NullValue() {
+        Cookie cookie = new Cookie("foo", null);
+        cookie.setVersion(1);
+        // should this throw an IAE?
+        Assert.assertEquals("foo=\"\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1QuotedValue() {
+        Cookie cookie = new Cookie("foo", "\"bar\"");
+        cookie.setVersion(1);
+        // should this be escaping the quotes rather than passing through?
+        Assert.assertEquals("foo=\"bar\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsSemicolon() {
+        Cookie cookie = new Cookie("foo", "a;b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a;b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsComma() {
+        Cookie cookie = new Cookie("foo", "a,b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a,b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Test
+    public void v1ValueContainsSpace() {
+        Cookie cookie = new Cookie("foo", "a b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Ignore("bug 55984")
+    @Test
+    public void v1ValueContainsEquals() {
+        Cookie cookie = new Cookie("foo", "a=b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a=b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Ignore("bug 55984")
+    @Test
+    public void v1ValueContainsQuote() {
+        Cookie cookie = new Cookie("foo", "a\"b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a\\\"b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Ignore("bug 55975")
+    @Test
+    public void v1ValueContainsNonV0Separator() {
+        Cookie cookie = new Cookie("foo", "a()<>@,;:\\\"/[]?={}b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a()<>@,;:\\\\\\\"/[]?={}b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+    @Ignore("bug 55975")
+    @Test
+    public void v1ValueContainsBackslash() {
+        Cookie cookie = new Cookie("foo", "a\\b");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a\\\\b\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
+
+
+    @Ignore("bug 55975")
+    @Test
+    public void v1ValueContainsBackslashAndQuote() {
+        Cookie cookie = new Cookie("foo", "a\"b\\c");
+        cookie.setVersion(1);
+        // should this be throwing IAE rather than adding quotes?
+        Assert.assertEquals("foo=\"a\\\"b\\\\c\"; Version=1", 
SetCookieSupport.generateHeader(cookie));
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to