aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2011-02-05 16:00:57 -0800
committerCarl Lerche <me@carllerche.com>2011-02-05 16:00:57 -0800
commited7614aa7de2eaeba16c9af11cf09b4fd7ed6819 (patch)
treea3556b1e7add54b9463edfaa40037a8385308063 /activemodel/test
parent7176ade35b4d6b167873991e0851f3fb9d46ae3b (diff)
downloadrails-ed7614aa7de2eaeba16c9af11cf09b4fd7ed6819.tar.gz
rails-ed7614aa7de2eaeba16c9af11cf09b4fd7ed6819.tar.bz2
rails-ed7614aa7de2eaeba16c9af11cf09b4fd7ed6819.zip
Provide a way to specify alternate option keys for validates
Diffstat (limited to 'activemodel/test')
-rw-r--r--activemodel/test/cases/validations/validates_test.rb11
-rw-r--r--activemodel/test/models/topic.rb4
2 files changed, 15 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations/validates_test.rb b/activemodel/test/cases/validations/validates_test.rb
index 431d2fd623..779f6c8448 100644
--- a/activemodel/test/cases/validations/validates_test.rb
+++ b/activemodel/test/cases/validations/validates_test.rb
@@ -1,6 +1,7 @@
# encoding: utf-8
require 'cases/helper'
require 'models/person'
+require 'models/topic'
require 'models/person_with_validator'
require 'validators/email_validator'
require 'validators/namespace/email_validator'
@@ -11,6 +12,7 @@ class ValidatesTest < ActiveModel::TestCase
def reset_callbacks
Person.reset_callbacks(:validate)
+ Topic.reset_callbacks(:validate)
PersonWithValidator.reset_callbacks(:validate)
end
@@ -139,4 +141,13 @@ class ValidatesTest < ActiveModel::TestCase
person.valid?
assert_equal ['does not appear to be like Mr.'], person.errors[:title]
end
+
+ def test_defining_extra_default_keys_for_validates
+ Topic.validates :title, :confirmation => true, :message => 'Y U NO CONFIRM'
+ topic = Topic.new
+ topic.title = "What's happening"
+ topic.title_confirmation = "Not this"
+ assert !topic.valid?
+ assert_equal ['Y U NO CONFIRM'], topic.errors[:title]
+ end
end
diff --git a/activemodel/test/models/topic.rb b/activemodel/test/models/topic.rb
index ff34565bdb..2f0bb95071 100644
--- a/activemodel/test/models/topic.rb
+++ b/activemodel/test/models/topic.rb
@@ -2,6 +2,10 @@ class Topic
include ActiveModel::Validations
include ActiveModel::Validations::Callbacks
+ def self._validates_default_keys
+ super | [ :message ]
+ end
+
attr_accessor :title, :author_name, :content, :approved
attr_accessor :after_validation_performed