mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make cookies hash in ActionDispatch::TestProcess indifferent access [#5761 state:committed]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
This commit is contained in:
parent
02039e9752
commit
990f52ebd7
2 changed files with 19 additions and 1 deletions
|
@ -22,7 +22,7 @@ module ActionDispatch
|
||||||
end
|
end
|
||||||
|
|
||||||
def cookies
|
def cookies
|
||||||
@request.cookies.merge(@response.cookies)
|
HashWithIndifferentAccess.new(@request.cookies.merge(@response.cookies))
|
||||||
end
|
end
|
||||||
|
|
||||||
def redirect_to_url
|
def redirect_to_url
|
||||||
|
|
|
@ -94,6 +94,16 @@ class CookiesTest < ActionController::TestCase
|
||||||
cookies.delete(:user_name, :domain => :all)
|
cookies.delete(:user_name, :domain => :all)
|
||||||
head :ok
|
head :ok
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def symbol_key
|
||||||
|
cookies[:user_name] = "david"
|
||||||
|
head :ok
|
||||||
|
end
|
||||||
|
|
||||||
|
def string_key
|
||||||
|
cookies['user_name'] = "david"
|
||||||
|
head :ok
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
tests TestController
|
tests TestController
|
||||||
|
@ -291,6 +301,14 @@ class CookiesTest < ActionController::TestCase
|
||||||
assert_cookie_header "user_name=; domain=.nextangle.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"
|
assert_cookie_header "user_name=; domain=.nextangle.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_cookies_hash_is_indifferent_access
|
||||||
|
[:symbol_key, :string_key].each do |cookie_key|
|
||||||
|
get cookie_key
|
||||||
|
assert_equal "david", cookies[:user_name]
|
||||||
|
assert_equal "david", cookies['user_name']
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def assert_cookie_header(expected)
|
def assert_cookie_header(expected)
|
||||||
header = @response.headers["Set-Cookie"]
|
header = @response.headers["Set-Cookie"]
|
||||||
|
|
Loading…
Reference in a new issue