Ticket #9937: making_cookies_return_an_array_if_you_gave_it_an_array.diff
| File making_cookies_return_an_array_if_you_gave_it_an_array.diff, 1.7 kB (added by queso, 1 year ago) |
|---|
-
actionpack/test/controller/cookie_test.rb
old new 18 18 cookies["user_name"] = { "value" => "david", "expires" => Time.local(2005, 10, 10) } 19 19 cookies["login"] = "XJ-122" 20 20 end 21 21 22 22 def access_frozen_cookies 23 23 cookies["will"] = "work" 24 24 end … … 92 92 assert_equal nil, jar["something_else"] 93 93 end 94 94 95 def test_cookiejar_accessor_with_array_value 96 a = %w{1 2 3} 97 @request.cookies["pages"] = CGI::Cookie.new("name" => "pages", "value" => a, "expires" => Time.local(2025, 10, 10)) 98 @controller.request = @request 99 jar = ActionController::CookieJar.new(@controller) 100 assert_equal a, jar["pages"] 101 end 102 95 103 def test_delete_cookie_with_path 96 104 get :delete_cookie_with_path 97 105 assert_equal "/beaten", @response.headers["cookie"].first.path -
actionpack/lib/action_controller/cookies.rb
old new 44 44 # Returns the value of the cookie by +name+ -- or nil if no such cookie exists. You set new cookies using cookies[]= 45 45 # (for simple name/value cookies without options). 46 46 def [](name) 47 @cookies[name.to_s].value.first if @cookies[name.to_s] && @cookies[name.to_s].respond_to?(:value) 47 cookie = @cookies[name.to_s] 48 if cookie && cookie.respond_to?(:value) 49 cookie.size > 1 ? cookie.value : cookie.value.to_s 50 end 48 51 end 49 52 50 53 def []=(name, options)