aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-01-05 06:23:28 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-01-05 06:23:28 -0300
commit58f52677e8f1ea37b91a6c5d9028f93b1a36ea54 (patch)
tree574923445c8b693b37929afcfa3ba60c9f039830 /railties/test
parentdf1f290712225781b1effe4f028aacb98ddb6208 (diff)
downloadrails-58f52677e8f1ea37b91a6c5d9028f93b1a36ea54.tar.gz
rails-58f52677e8f1ea37b91a6c5d9028f93b1a36ea54.tar.bz2
rails-58f52677e8f1ea37b91a6c5d9028f93b1a36ea54.zip
Ensure that raise_on_unexpected_params configuration will work
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/application/configuration_test.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index 920798c930..ab0ab2f401 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -567,6 +567,54 @@ module ApplicationTests
assert_equal 'permitted', last_response.body
end
+ test "config.action_controller.raise_on_unexpected_params = true" do
+ app_file 'app/controllers/posts_controller.rb', <<-RUBY
+ class PostsController < ActionController::Base
+ def create
+ render text: params.require(:post).permit(:name)
+ end
+ end
+ RUBY
+
+ add_to_config <<-RUBY
+ routes.prepend do
+ resources :posts
+ end
+ config.action_controller.raise_on_unexpected_params = true
+ RUBY
+
+ require "#{app_path}/config/environment"
+
+ assert_equal true, ActionController::Parameters.raise_on_unexpected
+
+ post "/posts", {post: {"title" =>"zomg"}}
+ assert_match /We're sorry, but something went wrong/, last_response.body
+ end
+
+ test "config.action_controller.raise_on_unexpected_params is true by default on development" do
+ ENV["RAILS_ENV"] = "development"
+
+ require "#{app_path}/config/environment"
+
+ assert_equal true, ActionController::Parameters.raise_on_unexpected
+ end
+
+ test "config.action_controller.raise_on_unexpected_params is true by defaul on test" do
+ ENV["RAILS_ENV"] = "test"
+
+ require "#{app_path}/config/environment"
+
+ assert_equal true, ActionController::Parameters.raise_on_unexpected
+ end
+
+ test "config.action_controller.raise_on_unexpected_params is false by default on production" do
+ ENV["RAILS_ENV"] = "production"
+
+ require "#{app_path}/config/environment"
+
+ assert_equal false, ActionController::Parameters.raise_on_unexpected
+ end
+
test "config.action_dispatch.ignore_accept_header" do
make_basic_app do |app|
app.config.action_dispatch.ignore_accept_header = true