Methods
R
T
Instance Public methods
reset_callbacks()
# File activemodel/test/cases/validations/validates_test.rb, line 12
def reset_callbacks
  Person.reset_callbacks(:validate)
  Topic.reset_callbacks(:validate)
  PersonWithValidator.reset_callbacks(:validate)
end
test_defining_extra_default_keys_for_validates()
# File activemodel/test/cases/validations/validates_test.rb, line 150
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
test_validates_with_allow_nil_shared_conditions()
# File activemodel/test/cases/validations/validates_test.rb, line 83
def test_validates_with_allow_nil_shared_conditions
  Person.validates :karma, :length => { :minimum => 20 }, :email => true, :allow_nil => true
  person = Person.new
  assert person.valid?
end
test_validates_with_array()
# File activemodel/test/cases/validations/validates_test.rb, line 98
def test_validates_with_array
  Person.validates :gender, :inclusion => %w(m f)
  person = Person.new
  assert person.invalid?
  assert_equal ['is not included in the list'], person.errors[:gender]
  person.gender = "m"
  assert person.valid?
end
test_validates_with_attribute_specified_as_string()
# File activemodel/test/cases/validations/validates_test.rb, line 31
def test_validates_with_attribute_specified_as_string
  Person.validates "title", :numericality => true
  person = Person.new
  person.valid?
  assert_equal ['is not a number'], person.errors[:title]

  person = Person.new
  person.title = 123
  assert person.valid?
end
test_validates_with_built_in_validation()
# File activemodel/test/cases/validations/validates_test.rb, line 24
def test_validates_with_built_in_validation
  Person.validates :title, :numericality => true
  person = Person.new
  person.valid?
  assert_equal ['is not a number'], person.errors[:title]
end
test_validates_with_built_in_validation_and_options()
# File activemodel/test/cases/validations/validates_test.rb, line 42
def test_validates_with_built_in_validation_and_options
  Person.validates :salary, :numericality => { :message => 'my custom message' }
  person = Person.new
  person.valid?
  assert_equal ['my custom message'], person.errors[:salary]
end
test_validates_with_if_as_local_conditions()
# File activemodel/test/cases/validations/validates_test.rb, line 63
def test_validates_with_if_as_local_conditions
  Person.validates :karma, :presence => true, :email => { :unless => :condition_is_true }
  person = Person.new
  person.valid?
  assert_equal ["can't be blank"], person.errors[:karma]
end
test_validates_with_if_as_shared_conditions()
# File activemodel/test/cases/validations/validates_test.rb, line 70
def test_validates_with_if_as_shared_conditions
  Person.validates :karma, :presence => true, :email => true, :if => :condition_is_true
  person = Person.new
  person.valid?
  assert_equal ["can't be blank", "is not an email"], person.errors[:karma].sort
end
test_validates_with_included_validator()
# File activemodel/test/cases/validations/validates_test.rb, line 127
def test_validates_with_included_validator
  PersonWithValidator.validates :title, :presence => true
  person = PersonWithValidator.new
  person.valid?
  assert_equal ['Local validator'], person.errors[:title]
end
test_validates_with_included_validator_and_options()
# File activemodel/test/cases/validations/validates_test.rb, line 134
def test_validates_with_included_validator_and_options
  PersonWithValidator.validates :title, :presence => { :custom => ' please' }
  person = PersonWithValidator.new
  person.valid?
  assert_equal ['Local validator please'], person.errors[:title]
end
test_validates_with_included_validator_and_wildcard_shortcut()
# File activemodel/test/cases/validations/validates_test.rb, line 141
def test_validates_with_included_validator_and_wildcard_shortcut
  # Shortcut for PersonWithValidator.validates :title, :like => { :with => "Mr." }
  PersonWithValidator.validates :title, :like => "Mr."
  person = PersonWithValidator.new
  person.title = "Ms. Pacman"
  person.valid?
  assert_equal ['does not appear to be like Mr.'], person.errors[:title]
end
test_validates_with_messages_empty()
# File activemodel/test/cases/validations/validates_test.rb, line 18
def test_validates_with_messages_empty
  Person.validates :title, :presence => {:message => "" }
  person = Person.new
  assert !person.valid?, 'person should not be valid.'
end
test_validates_with_namespaced_validator_class()
# File activemodel/test/cases/validations/validates_test.rb, line 56
def test_validates_with_namespaced_validator_class
  Person.validates :karma, :'namespace/email' => true
  person = Person.new
  person.valid?
  assert_equal ['is not an email'], person.errors[:karma]
end
test_validates_with_range()
# File activemodel/test/cases/validations/validates_test.rb, line 107
def test_validates_with_range
  Person.validates :karma, :length => 6..20
  person = Person.new
  assert person.invalid?
  assert_equal ['is too short (minimum is 6 characters)'], person.errors[:karma]
  person.karma = 'something'
  assert person.valid?
end
test_validates_with_regexp()
# File activemodel/test/cases/validations/validates_test.rb, line 89
def test_validates_with_regexp
  Person.validates :karma, :format => /positive|negative/
  person = Person.new
  assert person.invalid?
  assert_equal ['is invalid'], person.errors[:karma]
  person.karma = "positive"
  assert person.valid?
end
test_validates_with_unknown_validator()
# File activemodel/test/cases/validations/validates_test.rb, line 123
def test_validates_with_unknown_validator
  assert_raise(ArgumentError) { Person.validates :karma, :unknown => true }
end
test_validates_with_unless_shared_conditions()
# File activemodel/test/cases/validations/validates_test.rb, line 77
def test_validates_with_unless_shared_conditions
  Person.validates :karma, :presence => true, :email => true, :unless => :condition_is_true
  person = Person.new
  assert person.valid?
end
test_validates_with_validator_class()
# File activemodel/test/cases/validations/validates_test.rb, line 49
def test_validates_with_validator_class
  Person.validates :karma, :email => true
  person = Person.new
  person.valid?
  assert_equal ['is not an email'], person.errors[:karma]
end
test_validates_with_validator_class_and_options()
# File activemodel/test/cases/validations/validates_test.rb, line 116
def test_validates_with_validator_class_and_options
  Person.validates :karma, :email => { :message => 'my custom message' }
  person = Person.new
  person.valid?
  assert_equal ['my custom message'], person.errors[:karma]
end