aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2016-09-27 14:33:16 +0200
committerJean Boussier <jean.boussier@gmail.com>2016-09-27 14:33:16 +0200
commit33fd23e0772fab8932b66486e2c4993376db7f94 (patch)
tree49ba0491ed6b0d76e25c1340f419cb485bc6267b /activemodel/test/cases
parent7750b049eedfc639e3d5b8f06b51743d71962dd2 (diff)
downloadrails-33fd23e0772fab8932b66486e2c4993376db7f94.tar.gz
rails-33fd23e0772fab8932b66486e2c4993376db7f94.tar.bz2
rails-33fd23e0772fab8932b66486e2c4993376db7f94.zip
Do not leak the Errors default proc when calling to_hash or as_json
Diffstat (limited to 'activemodel/test/cases')
-rw-r--r--activemodel/test/cases/errors_test.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb
index 3288b5543c..95ca1f3969 100644
--- a/activemodel/test/cases/errors_test.rb
+++ b/activemodel/test/cases/errors_test.rb
@@ -250,6 +250,16 @@ class ErrorsTest < ActiveModel::TestCase
assert_equal({ name: ["cannot be blank"] }, person.errors.to_hash)
end
+ test "to_hash returns a hash without default proc" do
+ person = Person.new
+ assert_nil person.errors.to_hash.default_proc
+ end
+
+ test "as_json returns a hash without default proc" do
+ person = Person.new
+ assert_nil person.errors.as_json.default_proc
+ end
+
test "full_messages creates a list of error messages with the attribute name included" do
person = Person.new
person.errors.add(:name, "cannot be blank")