Deprecated old render parameter calls

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4947 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 315603e2
......@@ -29,7 +29,7 @@ Rake::TestTask.new(:test_action_pack) { |t|
t.libs << "test"
# make sure we include the controller tests (c*) first as on some systems
# this will not happen automatically and the tests (as a whole) will error
t.test_files=Dir.glob( "test/c*/*_test.rb" ) + Dir.glob( "test/[ft]*/*_test.rb" )
t.test_files=Dir.glob( "test/c*/**/*_test.rb" ) + Dir.glob( "test/[ft]*/*_test.rb" )
# t.pattern = 'test/*/*_test.rb'
t.verbose = true
}
......
......@@ -490,7 +490,7 @@ def url_for(options = {}, *parameters_for_method_reference) #:doc:
when Symbol
ActiveSupport::Deprecation.warn(
"WARNING: You called url_for(:#{options}), which is a deprecated API. Instead you should use the named " +
"WARNING: You called url_for(:#{options}), which is a deprecated API call. Instead you should use the named " +
"route directly, like #{options}(). Using symbols and parameters with url_for will be removed from Rails 2.0."
)
......@@ -671,12 +671,21 @@ def session_enabled?
def render(options = nil, deprecated_status = nil, &block) #:doc:
raise DoubleRenderError, "Can only render or redirect once per action" if performed?
# Backwards compatibility
unless options.is_a?(Hash)
if options == :update
options = {:update => true}
else
return render_file(options || default_template_name, deprecated_status, true)
if options.nil?
return render_file(default_template_name, deprecated_status, true)
else
# Backwards compatibility
unless options.is_a?(Hash)
if options == :update
options = { :update => true }
else
ActiveSupport::Deprecation.warn(
"WARNING: You called render('#{options}'), which is a deprecated API call. Instead you use " +
"render :file => #{options}. Calling render with just a string will be removed from Rails 2.0."
)
return render_file(options, deprecated_status, true)
end
end
end
......
......@@ -7,7 +7,7 @@ def deprecated_symbol_parameter_to_url_for
end
def deprecated_render_parameters
# render ""
render "fun/games/hello_world"
end
def home_url(greeting)
......@@ -17,6 +17,8 @@ def home_url(greeting)
def rescue_action(e) raise e end
end
Target.template_root = File.dirname(__FILE__) + "/../../fixtures"
def setup
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
......@@ -27,6 +29,15 @@ def test_deprecated_symbol_parameter_to_url_for
assert_deprecated("url_for(:home_url)") do
get :deprecated_symbol_parameter_to_url_for
end
assert_redirected_to "http://example.com/superstars"
end
def test_deprecated_render_parameters
assert_deprecated("render('fun/games/hello_world')") do
get :deprecated_render_parameters
end
assert_equal "Living in a nested world", @response.body
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册