diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-04-01 10:02:03 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-04-01 10:02:03 +0000 |
commit | cc8bc6b7b6cb429c6a0a4bebc180b70b564e4e99 (patch) | |
tree | 66a398403ade8f1bfd4b95de95b7ca2b5c0923ba /test/webrick | |
parent | 9d0fbe23b6ed84657eccac5d657b58eef2855361 (diff) |
Fri Apr 1 18:53:06 2011 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* lib/webrick/cookie.rb (WEBrick::Cookie.parse): 'white space is
permitted between tokens' according to RFC2965. Though 'Netscape
spec' does not define the syntax clearly, make it tolerant as a
server. As a real-world example, rest-client gem sends
'Cookie: foo=1;bar=2'
* test/webrick/test_cookie.rb (test_parse_non_whitespace): test it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/webrick')
-rw-r--r-- | test/webrick/test_cookie.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/webrick/test_cookie.rb b/test/webrick/test_cookie.rb index 14771fd01c..1275dc8eff 100644 --- a/test/webrick/test_cookie.rb +++ b/test/webrick/test_cookie.rb @@ -54,6 +54,26 @@ class TestWEBrickCookie < Test::Unit::TestCase assert_equal("9865ecfd514be7f7", cookies[1].value) end + def test_parse_non_whitespace + data = [ + '$Version="1";', + 'Customer="WILE_E_COYOTE";$Path="/acme";', + 'Part_Number="Rocket_Launcher_0001";$Path="/acme";', + 'Shipping="FedEx";$Path="/acme"' + ].join + cookies = WEBrick::Cookie.parse(data) + assert_equal(1, cookies[0].version) + assert_equal("Customer", cookies[0].name) + assert_equal("WILE_E_COYOTE", cookies[0].value) + assert_equal("/acme", cookies[0].path) + assert_equal(1, cookies[1].version) + assert_equal("Part_Number", cookies[1].name) + assert_equal("Rocket_Launcher_0001", cookies[1].value) + assert_equal(1, cookies[2].version) + assert_equal("Shipping", cookies[2].name) + assert_equal("FedEx", cookies[2].value) + end + def test_parse_set_cookie data = %(Customer="WILE_E_COYOTE"; Version="1"; Path="/acme") cookie = WEBrick::Cookie.parse_set_cookie(data) |