aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/validations_test.rb
diff options
context:
space:
mode:
authorBogdan Gusiev <agresso@gmail.com>2012-08-06 13:45:27 +0300
committerBogdan Gusiev <agresso@gmail.com>2012-08-06 13:45:27 +0300
commit2e4f7986b8ec90d7b41c385388be21b8cee79b9c (patch)
treed7dd64e1c97b9dcf1c263ebd2bd408b7fd7c9208 /activemodel/test/cases/validations_test.rb
parent5edfc463484827df364a1e589677d5c84dfac282 (diff)
downloadrails-2e4f7986b8ec90d7b41c385388be21b8cee79b9c.tar.gz
rails-2e4f7986b8ec90d7b41c385388be21b8cee79b9c.tar.bz2
rails-2e4f7986b8ec90d7b41c385388be21b8cee79b9c.zip
AM::Validation#validates: ability to pass custom exception to `:strict` option
Diffstat (limited to 'activemodel/test/cases/validations_test.rb')
-rw-r--r--activemodel/test/cases/validations_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations_test.rb b/activemodel/test/cases/validations_test.rb
index 8ea9745fbf..a9d32808da 100644
--- a/activemodel/test/cases/validations_test.rb
+++ b/activemodel/test/cases/validations_test.rb
@@ -11,6 +11,8 @@ require 'active_support/xml_mini'
class ValidationsTest < ActiveModel::TestCase
+ class CustomStrictValidationException < StandardError; end
+
def setup
Topic._validators.clear
end
@@ -323,6 +325,13 @@ class ValidationsTest < ActiveModel::TestCase
end
end
+ def test_strict_validation_custom_exception
+ Topic.validates_presence_of :title, :strict => CustomStrictValidationException
+ assert_raises CustomStrictValidationException do
+ Topic.new.valid?
+ end
+ end
+
def test_validates_with_bang
Topic.validates! :title, :presence => true
assert_raises ActiveModel::StrictValidationFailed do