Skip to content

Commit ba117b2

Browse files
committed
Revert "Improve testing of cookies in functional tests:"
This reverts commit e2523ff.
1 parent f13fe8f commit ba117b2

File tree

5 files changed

+5
-102
lines changed

5 files changed

+5
-102
lines changed

actionpack/lib/action_controller/test_case.rb

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,6 @@ def assign_parameters(routes, controller_path, action, parameters = {})
171171
end
172172

173173
def recycle!
174-
write_cookies!
175-
@env.delete('HTTP_COOKIE') if @cookies.blank?
176-
@env.delete('action_dispatch.cookies')
177-
@cookies = nil
178174
@formats = nil
179175
@env.delete_if { |k, v| k =~ /^(action_dispatch|rack)\.request/ }
180176
@env.delete_if { |k, v| k =~ /^action_dispatch\.rescue/ }
@@ -301,11 +297,7 @@ def exists?; true; end
301297
# and cookies, though. For sessions, you just do:
302298
#
303299
# @request.session[:key] = "value"
304-
# @request.cookies[:key] = "value"
305-
#
306-
# To clear the cookies for a test just clear the request's cookies hash:
307-
#
308-
# @request.cookies.clear
300+
# @request.cookies["key"] = "value"
309301
#
310302
# == Testing named routes
311303
#
@@ -419,7 +411,6 @@ def process(action, parameters = nil, session = nil, flash = nil, http_method =
419411
Base.class_eval { include Testing }
420412
@controller.process_with_new_base_test(@request, @response)
421413
@request.session.delete('flash') if @request.session['flash'].blank?
422-
@request.cookies.merge!(@response.cookies)
423414
@response
424415
end
425416

actionpack/lib/action_dispatch/testing/test_process.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def flash
2222
end
2323

2424
def cookies
25-
@request.cookies.merge(@response.cookies).with_indifferent_access
25+
@request.cookies.merge(@response.cookies)
2626
end
2727

2828
def redirect_to_url

actionpack/lib/action_dispatch/testing/test_request.rb

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
require 'active_support/core_ext/object/blank'
22
require 'active_support/core_ext/hash/reverse_merge'
3-
require 'rack/utils'
43

54
module ActionDispatch
65
class TestRequest < Request
@@ -77,14 +76,10 @@ def cookies
7776
private
7877
def write_cookies!
7978
unless @cookies.blank?
80-
@env['HTTP_COOKIE'] = @cookies.map { |name, value| escape_cookie(name, value) }.join('; ')
79+
@env['HTTP_COOKIE'] = @cookies.map { |name, value| "#{name}=#{value};" }.join(' ')
8180
end
8281
end
8382

84-
def escape_cookie(name, value)
85-
"#{Rack::Utils.escape(name)}=#{Rack::Utils.escape(value)}"
86-
end
87-
8883
def delete_nil_values!
8984
@env.delete_if { |k, v| v.nil? }
9085
end

actionpack/test/dispatch/cookies_test.rb

Lines changed: 0 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -94,30 +94,6 @@ def delete_cookie_with_domain
9494
cookies.delete(:user_name, :domain => :all)
9595
head :ok
9696
end
97-
98-
def symbol_key
99-
cookies[:user_name] = "david"
100-
head :ok
101-
end
102-
103-
def string_key
104-
cookies['user_name'] = "david"
105-
head :ok
106-
end
107-
108-
def symbol_key_mock
109-
cookies[:user_name] = "david" if cookies[:user_name] == "andrew"
110-
head :ok
111-
end
112-
113-
def string_key_mock
114-
cookies['user_name'] = "david" if cookies['user_name'] == "andrew"
115-
head :ok
116-
end
117-
118-
def noop
119-
head :ok
120-
end
12197
end
12298

12399
tests TestController
@@ -315,65 +291,6 @@ def test_deleting_cookie_with_all_domain_option
315291
assert_cookie_header "user_name=; domain=.nextangle.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"
316292
end
317293

318-
def test_cookies_hash_is_indifferent_access
319-
[:symbol_key, :string_key].each do |cookie_key|
320-
get cookie_key
321-
assert_equal "david", cookies[:user_name]
322-
assert_equal "david", cookies['user_name']
323-
end
324-
end
325-
326-
def test_setting_request_cookies_is_indifferent_access
327-
@request.cookies.clear
328-
@request.cookies[:user_name] = "andrew"
329-
get :string_key_mock
330-
assert_equal "david", cookies[:user_name]
331-
332-
@request.cookies.clear
333-
@request.cookies['user_name'] = "andrew"
334-
get :symbol_key_mock
335-
assert_equal "david", cookies['user_name']
336-
end
337-
338-
def test_cookies_retained_across_requests
339-
get :symbol_key
340-
assert_equal "user_name=david; path=/", @response.headers["Set-Cookie"]
341-
assert_equal "david", cookies[:user_name]
342-
343-
get :noop
344-
assert_nil @response.headers["Set-Cookie"]
345-
assert_equal "user_name=david", @request.env['HTTP_COOKIE']
346-
assert_equal "david", cookies[:user_name]
347-
348-
get :noop
349-
assert_nil @response.headers["Set-Cookie"]
350-
assert_equal "user_name=david", @request.env['HTTP_COOKIE']
351-
assert_equal "david", cookies[:user_name]
352-
end
353-
354-
def test_cookies_can_be_cleared
355-
get :symbol_key
356-
assert_equal "user_name=david; path=/", @response.headers["Set-Cookie"]
357-
assert_equal "david", cookies[:user_name]
358-
359-
@request.cookies.clear
360-
get :noop
361-
assert_nil @response.headers["Set-Cookie"]
362-
assert_nil @request.env['HTTP_COOKIE']
363-
assert_nil cookies[:user_name]
364-
365-
get :symbol_key
366-
assert_equal "user_name=david; path=/", @response.headers["Set-Cookie"]
367-
assert_equal "david", cookies[:user_name]
368-
end
369-
370-
def test_cookies_are_escaped
371-
@request.cookies[:user_ids] = '1;2'
372-
get :noop
373-
assert_equal "user_ids=1%3B2", @request.env['HTTP_COOKIE']
374-
assert_equal "1;2", cookies[:user_ids]
375-
end
376-
377294
private
378295
def assert_cookie_header(expected)
379296
header = @response.headers["Set-Cookie"]

actionpack/test/dispatch/test_request_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ class TestRequestTest < ActiveSupport::TestCase
3636

3737
req.cookies["user_name"] = "david"
3838
assert_equal({"user_name" => "david"}, req.cookies)
39-
assert_equal "user_name=david", req.env["HTTP_COOKIE"]
39+
assert_equal "user_name=david;", req.env["HTTP_COOKIE"]
4040

4141
req.cookies["login"] = "XJ-122"
4242
assert_equal({"user_name" => "david", "login" => "XJ-122"}, req.cookies)
43-
assert_equal %w(login=XJ-122 user_name=david), req.env["HTTP_COOKIE"].split(/; /).sort
43+
assert_equal %w(login=XJ-122 user_name=david), req.env["HTTP_COOKIE"].split(/; ?/).sort
4444
end
4545
end

0 commit comments

Comments
 (0)