From 2b5d309aeb68e9d30d6e090a9c603efe780e50c7 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 8 Jul 2015 11:16:44 -0700 Subject: allocate new responses rather than recycling them There is no reason to "recycle" response objects when we can just allocate a new one. --- actionpack/lib/action_controller/test_case.rb | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 9a7da54c95..5489a0fde0 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -75,17 +75,9 @@ module ActionController end class TestResponse < ActionDispatch::TestResponse - def recycle! - initialize - end end class LiveTestResponse < Live::Response - def recycle! - @body = nil - initialize - end - def body @body ||= super end @@ -450,7 +442,8 @@ module ActionController @request.env['action_dispatch.cookies'] = nil @request.recycle! - @response.recycle! + @response = build_response @response_klass + @response.request = @request @controller.recycle! @request.env['REQUEST_METHOD'] = http_method @@ -504,11 +497,11 @@ module ActionController def setup_controller_request_and_response @controller = nil unless defined? @controller - response_klass = TestResponse + @response_klass = TestResponse if klass = self.class.controller_class if klass < ActionController::Live - response_klass = LiveTestResponse + @response_klass = LiveTestResponse end unless @controller begin @@ -521,7 +514,7 @@ module ActionController @request = build_request @request.env["rack.request.cookie_hash"] = {}.with_indifferent_access - @response = build_response response_klass + @response = build_response @response_klass @response.request = @request if @controller -- cgit v1.2.3