mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Unify functional and integration tests cookie helpers
This commit is contained in:
@@ -285,37 +285,28 @@ module ActionController
|
||||
app = Rack::Lint.new(@app)
|
||||
status, headers, body = app.call(env)
|
||||
response = ::Rack::MockResponse.new(status, headers, body)
|
||||
|
||||
@request_count += 1
|
||||
@request = Request.new(env)
|
||||
|
||||
@html_document = nil
|
||||
@response = Response.new
|
||||
@response.status = @status = response.status
|
||||
@response.headers = @headers = response.headers
|
||||
@response.body = @body = response.body
|
||||
|
||||
@status = response.status
|
||||
@status_message = ActionDispatch::StatusCodes::STATUS_CODES[@status]
|
||||
@headers = response.headers
|
||||
@body = response.body
|
||||
|
||||
(@headers['Set-Cookie'] || "").split("\n").each do |cookie|
|
||||
name, value = cookie.match(/^([^=]*)=([^;]*);/)[1,2]
|
||||
@cookies[name] = value
|
||||
end
|
||||
|
||||
if @controller = ActionController::Base.last_instantiation
|
||||
@request = @controller.request
|
||||
@response = @controller.response
|
||||
@controller.send(:set_test_assigns)
|
||||
else
|
||||
@request = Request.new(env)
|
||||
@response = Response.new
|
||||
@response.status = @status
|
||||
@response.headers = @headers
|
||||
@response.body = @body
|
||||
end
|
||||
@cookies.merge!(@response.cookies)
|
||||
@html_document = nil
|
||||
|
||||
# Decorate the response with the standard behavior of the
|
||||
# TestResponse so that things like assert_response can be
|
||||
# used in integration tests.
|
||||
@response.extend(TestResponseBehavior)
|
||||
|
||||
if @controller = ActionController::Base.last_instantiation
|
||||
@controller.send(:set_test_assigns)
|
||||
end
|
||||
|
||||
return @status
|
||||
end
|
||||
|
||||
|
||||
@@ -297,7 +297,7 @@ class IntegrationProcessTest < ActionController::IntegrationTest
|
||||
assert_response 410
|
||||
assert_response :gone
|
||||
assert_equal "cookie_1=; path=/\ncookie_3=chocolate; path=/", headers["Set-Cookie"]
|
||||
assert_equal({"cookie_1"=>"", "cookie_2"=>"oatmeal", "cookie_3"=>"chocolate"}, cookies)
|
||||
assert_equal({"cookie_1"=>nil, "cookie_2"=>"oatmeal", "cookie_3"=>"chocolate"}, cookies)
|
||||
assert_equal "Gone", response.body
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user