From 1f99bdb62098095cccea0167155998eae492923f Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Tue, 5 Apr 2016 14:18:44 +0530 Subject: Add test case for interpolation with passing of data along with record attribute in error message, where a proc is passed. --- activemodel/test/cases/validations_test.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'activemodel/test/cases/validations_test.rb') 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 -- cgit v1.2.3