diff options
author | Michal Zima <xhire@mujmalysvet.cz> | 2012-08-07 13:39:21 +0200 |
---|---|---|
committer | Michal Zima <xhire@mujmalysvet.cz> | 2012-11-26 12:34:32 +0100 |
commit | ea76e9a3126998578d683783483aa695cb6b657e (patch) | |
tree | ffb095736272c998fadba3a366c25f44823c3d74 /activemodel/test | |
parent | 02c30c64262fd9e1625bc7f3723729c4e62e610b (diff) | |
download | rails-ea76e9a3126998578d683783483aa695cb6b657e.tar.gz rails-ea76e9a3126998578d683783483aa695cb6b657e.tar.bz2 rails-ea76e9a3126998578d683783483aa695cb6b657e.zip |
Length validation handles correctly nil. Fix #7180
When nil or empty string are not allowed, they are not valid.
Diffstat (limited to 'activemodel/test')
-rw-r--r-- | activemodel/test/cases/validations/length_validation_test.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations/length_validation_test.rb b/activemodel/test/cases/validations/length_validation_test.rb index 113bfd6337..1a40ca8efc 100644 --- a/activemodel/test/cases/validations/length_validation_test.rb +++ b/activemodel/test/cases/validations/length_validation_test.rb @@ -375,4 +375,43 @@ class LengthValidationTest < ActiveModel::TestCase t.author_name = "A very long author name that should still be valid." * 100 assert t.valid? end + + def test_validates_length_of_using_maximum_should_not_allow_nil_when_nil_not_allowed + Topic.validates_length_of :title, :maximum => 10, :allow_nil => false + t = Topic.new + assert t.invalid? + end + + def test_validates_length_of_using_maximum_should_not_allow_nil_and_empty_string_when_blank_not_allowed + Topic.validates_length_of :title, :maximum => 10, :allow_blank => false + t = Topic.new + assert t.invalid? + + t.title = "" + assert t.invalid? + end + + def test_validates_length_of_using_both_minimum_and_maximum_should_not_allow_nil + Topic.validates_length_of :title, :minimum => 5, :maximum => 10 + t = Topic.new + assert t.invalid? + end + + def test_validates_length_of_using_minimum_0_should_not_allow_nil + Topic.validates_length_of :title, :minimum => 0 + t = Topic.new + assert t.invalid? + + t.title = "" + assert t.valid? + end + + def test_validates_length_of_using_is_0_should_not_allow_nil + Topic.validates_length_of :title, :is => 0 + t = Topic.new + assert t.invalid? + + t.title = "" + assert t.valid? + end end |