aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel
diff options
context:
space:
mode:
authorVipul A M <vipulnsward@gmail.com>2016-04-05 14:18:44 +0530
committerVipul A M <vipulnsward@gmail.com>2016-04-05 14:18:44 +0530
commit1f99bdb62098095cccea0167155998eae492923f (patch)
treebc3df5a70daac85337fbbe7665b8fa40a497ba6e /activemodel
parent58bdf2790b6c61066a580d140117a105854d6051 (diff)
downloadrails-1f99bdb62098095cccea0167155998eae492923f.tar.gz
rails-1f99bdb62098095cccea0167155998eae492923f.tar.bz2
rails-1f99bdb62098095cccea0167155998eae492923f.zip
Add test case for interpolation with passing of data along with record attribute in error message, where a proc is passed.
Diffstat (limited to 'activemodel')
-rw-r--r--activemodel/test/cases/validations_test.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations_test.rb b/activemodel/test/cases/validations_test.rb
index 18b8d9e4af..2a4e9f842f 100644
--- a/activemodel/test/cases/validations_test.rb
+++ b/activemodel/test/cases/validations_test.rb
@@ -452,4 +452,12 @@ class ValidationsTest < ActiveModel::TestCase
assert t.invalid?
assert_equal ["You have failed me for the last time, Admiral."], t.errors[:title]
end
+
+ def test_validation_with_message_as_proc_that_takes_record_and_data_as_a_parameters
+ Topic.validates_presence_of(:title, message: proc { |record, data| "#{data[:attribute]} is missing. You have failed me for the last time, #{record.author_name}." })
+
+ t = Topic.new(author_name: 'Admiral')
+ assert t.invalid?
+ assert_equal ["Title is missing. You have failed me for the last time, Admiral."], t.errors[:title]
+ end
end