From d126c0d6c0e8c0803a8ce79d2baece4d3d24e509 Mon Sep 17 00:00:00 2001 From: Gannon McGibbon Date: Sat, 8 Jul 2017 01:31:22 +0300 Subject: Fix numericality equality validation on floats --- activemodel/test/cases/validations/numericality_validation_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'activemodel/test') diff --git a/activemodel/test/cases/validations/numericality_validation_test.rb b/activemodel/test/cases/validations/numericality_validation_test.rb index ca3c3bc40d..ca22e38c2d 100644 --- a/activemodel/test/cases/validations/numericality_validation_test.rb +++ b/activemodel/test/cases/validations/numericality_validation_test.rb @@ -289,6 +289,13 @@ class NumericalityValidationTest < ActiveModel::TestCase assert_raise(ArgumentError) { Topic.validates_numericality_of :approved, equal_to: "foo" } end + def test_validates_numericality_equality_for_float_and_big_decimal + Topic.validates_numericality_of :approved, equal_to: BigDecimal("65.6") + + invalid!([Float("65.5"), BigDecimal("65.7")], "must be equal to 65.6") + valid!([Float("65.6"), BigDecimal("65.6")]) + end + private def invalid!(values, error = nil) -- cgit v1.2.3