diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2019-01-22 15:33:54 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-22 15:33:54 -0500 |
commit | ea6a488f51f439854bf3c528e4225eb45f767d00 (patch) | |
tree | e976030770f2bfe896efa47afdf01860eb60e1e3 /activemodel/test/cases | |
parent | 0815474d2f3d98e6d6844adaa771cf08ca1b5616 (diff) | |
parent | f01e38509c442903edaf12f23749193ce1f2d1d9 (diff) | |
download | rails-ea6a488f51f439854bf3c528e4225eb45f767d00.tar.gz rails-ea6a488f51f439854bf3c528e4225eb45f767d00.tar.bz2 rails-ea6a488f51f439854bf3c528e4225eb45f767d00.zip |
Merge pull request #35010 from Edouard-chin/ec-numericality-validator-fix
Fix NumericalityValidator on object responding to `to_f`:
Diffstat (limited to 'activemodel/test/cases')
-rw-r--r-- | activemodel/test/cases/validations/numericality_validation_test.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations/numericality_validation_test.rb b/activemodel/test/cases/validations/numericality_validation_test.rb index eb4b02df93..fcdf123062 100644 --- a/activemodel/test/cases/validations/numericality_validation_test.rb +++ b/activemodel/test/cases/validations/numericality_validation_test.rb @@ -281,6 +281,19 @@ class NumericalityValidationTest < ActiveModel::TestCase assert_predicate topic, :invalid? end + def test_validates_numericalty_with_object_acting_as_numeric + klass = Class.new do + def to_f + 123.54 + end + end + + Topic.validates_numericality_of :price + topic = Topic.new(price: klass.new) + + assert_predicate topic, :valid? + end + def test_validates_numericality_with_invalid_args assert_raise(ArgumentError) { Topic.validates_numericality_of :approved, greater_than_or_equal_to: "foo" } assert_raise(ArgumentError) { Topic.validates_numericality_of :approved, less_than_or_equal_to: "foo" } |