diff options
-rw-r--r-- | actionpack/lib/action_controller/test_case.rb | 12 | ||||
-rw-r--r-- | actionpack/test/controller/action_pack_assertions_test.rb | 2 | ||||
-rw-r--r-- | actionpack/test/controller/test_case_test.rb | 7 |
3 files changed, 20 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 3cdba85699..e96ff82a5a 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -431,6 +431,7 @@ module ActionController def process(action, http_method = 'GET', *args) check_required_ivars + http_method, args = handle_old_process_api(http_method, args) if args.first.is_a?(String) @request.env['RAW_POST_DATA'] = args.shift @@ -512,6 +513,17 @@ module ActionController end end + def handle_old_process_api(http_method, args) + # 4.0: Remove this method. + if http_method.is_a?(Hash) + ActiveSupport::Deprecation.warn("TestCase#process now expects the HTTP method as second argument: process(action, http_method, params, session, flash)") + args.unshift(http_method) + http_method = args.last.is_a?(String) ? args.last : "GET" + end + + [http_method, args] + end + def build_request_uri(action, parameters) unless @request.env["PATH_INFO"] options = @controller.respond_to?(:url_options) ? @controller.__send__(:url_options).merge(parameters) : parameters diff --git a/actionpack/test/controller/action_pack_assertions_test.rb b/actionpack/test/controller/action_pack_assertions_test.rb index b941136fb6..bdbf158b36 100644 --- a/actionpack/test/controller/action_pack_assertions_test.rb +++ b/actionpack/test/controller/action_pack_assertions_test.rb @@ -338,7 +338,7 @@ class ActionPackAssertionsControllerTest < ActionController::TestCase end def test_render_based_on_parameters - process :render_based_on_parameters, 'GET', "name" => "David" + process :render_based_on_parameters, "name" => "David" assert_equal "Mr. David", @response.body end diff --git a/actionpack/test/controller/test_case_test.rb b/actionpack/test/controller/test_case_test.rb index 429c25a3eb..73b860ac18 100644 --- a/actionpack/test/controller/test_case_test.rb +++ b/actionpack/test/controller/test_case_test.rb @@ -245,6 +245,13 @@ XML process :test_uri, "GET", :id => 7 assert_equal "/test_test/test/test_uri/7", @response.body end + + def test_process_with_old_api + assert_deprecated do + process :test_uri, :id => 7 + assert_equal "/test_test/test/test_uri/7", @response.body + end + end def test_process_with_request_uri_with_params_with_explicit_uri @request.env['PATH_INFO'] = "/explicit/uri" |