From d4c30a0226386f291bd8b1959fed12b3aca19164 Mon Sep 17 00:00:00 2001 From: Colin Kelley Date: Wed, 26 Dec 2012 10:31:05 -0800 Subject: Tests and fix for validates_presence of :allow_nil, :allow_blank Conflicts: activemodel/lib/active_model/errors.rb --- .../cases/validations/presence_validation_test.rb | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'activemodel/test/cases') diff --git a/activemodel/test/cases/validations/presence_validation_test.rb b/activemodel/test/cases/validations/presence_validation_test.rb index 510c13a7c3..fe2ee7b409 100644 --- a/activemodel/test/cases/validations/presence_validation_test.rb +++ b/activemodel/test/cases/validations/presence_validation_test.rb @@ -70,4 +70,38 @@ class PresenceValidationTest < ActiveModel::TestCase p[:karma] = "Cold" assert p.valid? end + + def test_allow_nil + Topic.validates_presence_of(:title, :allow_nil => true) + + t = Topic.new(:title => "something") + assert t.valid?, t.errors.full_messages + + t.title = "" + assert t.invalid? + assert_equal ["can't be blank"], t.errors[:title] + + t.title = " " + assert t.invalid?, t.errors.full_messages + assert_equal ["can't be blank"], t.errors[:title] + + t.title = nil + assert t.valid?, t.errors.full_messages + end + + def test_allow_blank + Topic.validates_presence_of(:title, :allow_blank => true) + + t = Topic.new(:title => "something") + assert t.valid?, t.errors.full_messages + + t.title = "" + assert t.valid?, t.errors.full_messages + + t.title = " " + assert t.valid?, t.errors.full_messages + + t.title = nil + assert t.valid?, t.errors.full_messages + end end -- cgit v1.2.3