aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorDavid Chelimsky <dchelimsky@gmail.com>2011-05-17 06:55:03 -0400
committerDavid Chelimsky <dchelimsky@gmail.com>2011-05-17 06:57:14 -0400
commit13950a8cc94ab93bb20976f2797b1df9740849b3 (patch)
treedf46d1c28141145fc9b4c654a00391f6696fe488 /actionpack/lib/action_controller
parentee82e1c3015392c87c88ee32003763210a75d1ec (diff)
downloadrails-13950a8cc94ab93bb20976f2797b1df9740849b3.tar.gz
rails-13950a8cc94ab93bb20976f2797b1df9740849b3.tar.bz2
rails-13950a8cc94ab93bb20976f2797b1df9740849b3.zip
add more robust test for wrapping params with anonymous class
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/metal/params_wrapper.rb3
-rw-r--r--actionpack/lib/action_controller/test_case.rb6
2 files changed, 6 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/metal/params_wrapper.rb b/actionpack/lib/action_controller/metal/params_wrapper.rb
index b7c46919fe..b7c37ce1c1 100644
--- a/actionpack/lib/action_controller/metal/params_wrapper.rb
+++ b/actionpack/lib/action_controller/metal/params_wrapper.rb
@@ -140,7 +140,6 @@ module ActionController
# This method also does namespace lookup. Foo::Bar::UsersController will
# try to find Foo::Bar::User, Foo::User and finally User.
def _default_wrap_model #:nodoc:
- # Return nil if the class is unnamed (i.e., anonymous)
return nil if self.name.nil?
model_name = self.name.sub(/Controller$/, '').singularize
@@ -229,7 +228,7 @@ module ActionController
# Checks if we should perform parameters wrapping.
def _wrapper_enabled?
ref = request.content_mime_type.try(:ref)
- _wrapper_formats.include?(ref) && !request.request_parameters[_wrapper_key]
+ _wrapper_formats.include?(ref) && _wrapper_key && !request.request_parameters[_wrapper_key]
end
end
end
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb
index 0085f542aa..5e4b48a531 100644
--- a/actionpack/lib/action_controller/test_case.rb
+++ b/actionpack/lib/action_controller/test_case.rb
@@ -413,7 +413,11 @@ module ActionController
@request.env['REQUEST_METHOD'] = http_method
parameters ||= {}
- @request.assign_parameters(@routes, @controller.class.name.underscore.sub(/_controller$/, ''), action.to_s, parameters)
+ controller_class_name = @controller.class.name ?
+ @controller.class.name.underscore.sub(/_controller$/, '') :
+ "anonymous_controller"
+
+ @request.assign_parameters(@routes, controller_class_name, action.to_s, parameters)
@request.session = ActionController::TestSession.new(session) if session
@request.session["flash"] = @request.flash.update(flash || {})