diff options
author | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-10-30 20:40:05 +0000 |
---|---|---|
committer | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-10-30 20:40:05 +0000 |
commit | aa57e68b06852f69677a9c5fbf6c7937d18b77e2 (patch) | |
tree | 862ede7646ebbd0c876cfd294df72ba6c2b5e7fa /test/webrick/test_cgi.rb | |
parent | 8ffc7573102c021a135a89bf666f80db6c3274d3 (diff) | |
download | ruby-aa57e68b06852f69677a9c5fbf6c7937d18b77e2.tar.gz |
* lib/webrick/httpservlet/cgihandler.rb
(WEBrick::HTTPServlet::CGIHandler#do_GET): the value of Set-Cookie:
header field should be splited into each cookie. [ruby-Bugs:2199]
* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method
to parse the value of Set-Cookie: header field.
* test/webrick/test_cookie.rb, test/webrick/test_cgi.rb,
test/webrick/webrick.cgi: add some test for cookie.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/webrick/test_cgi.rb')
-rw-r--r-- | test/webrick/test_cgi.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/webrick/test_cgi.rb b/test/webrick/test_cgi.rb index b3e13ba2c5..7e3f4ee5f0 100644 --- a/test/webrick/test_cgi.rb +++ b/test/webrick/test_cgi.rb @@ -51,6 +51,28 @@ class TestWEBrickCGI < Test::Unit::TestCase assert_match(%r{/$}, ary[0]) assert_match(%r{/webrick.cgi$}, ary[1]) } + + req = Net::HTTP::Get.new("/webrick.cgi") + req["Cookie"] = "CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001" + http.request(req){|res| + assert_equal( + "CUSTOMER=WILE_E_COYOTE\nPART_NUMBER=ROCKET_LAUNCHER_0001\n", + res.body) + } + + req = Net::HTTP::Get.new("/webrick.cgi") + cookie = %{$Version="1"; } + cookie << %{Customer="WILE_E_COYOTE"; $Path="/acme"; } + cookie << %{Part_Number="Rocket_Launcher_0001"; $Path="/acme"; } + cookie << %{Shipping="FedEx"; $Path="/acme"} + req["Cookie"] = cookie + http.request(req){|res| + assert_equal("Customer=WILE_E_COYOTE, Shipping=FedEx", + res["Set-Cookie"]) + assert_equal("Customer=WILE_E_COYOTE\n" + + "Part_Number=Rocket_Launcher_0001\n" + + "Shipping=FedEx\n", res.body) + } } end end |