From eff1d390680c8c0425aded350db781b612dac17a Mon Sep 17 00:00:00 2001 From: rohit Date: Tue, 18 May 2010 05:54:53 +0530 Subject: [PATCH 1/2] Add a valid hex that shouldn't be valid to ActiveModel numericality tests [#4622 state:commited] --- .../validations/numericality_validation_test.rb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/activemodel/test/cases/validations/numericality_validation_test.rb b/activemodel/test/cases/validations/numericality_validation_test.rb index 963ad64..8e77a02 100644 --- a/activemodel/test/cases/validations/numericality_validation_test.rb +++ b/activemodel/test/cases/validations/numericality_validation_test.rb @@ -18,7 +18,7 @@ class NumericalityValidationTest < ActiveModel::TestCase FLOATS = [0.0, 10.0, 10.5, -10.5, -0.0001] + FLOAT_STRINGS INTEGERS = [0, 10, -10] + INTEGER_STRINGS BIGDECIMAL = BIGDECIMAL_STRINGS.collect! { |bd| BigDecimal.new(bd) } - JUNK = ["not a number", "42 not a number", "0xdeadbeef", "0xinvalidhex", "00-1", "--3", "+-3", "+3-1", "-+019.0", "12.12.13.12", "123\nnot a number"] + JUNK = ["not a number", "42 not a number", "0xdeadbeef", "0xinvalidhex", "0Xdeadbeef", "00-1", "--3", "+-3", "+3-1", "-+019.0", "12.12.13.12", "123\nnot a number"] INFINITY = [1.0/0.0] def test_default_validates_numericality_of -- 1.7.0.4 From 31464aaf25875c45be47c11e2e3475eb9dc9c157 Mon Sep 17 00:00:00 2001 From: rohit Date: Tue, 18 May 2010 06:09:45 +0530 Subject: [PATCH 2/2] Fixed numericality validator in ActiveModel to reject hex numbers for floats completely [#4622 state:commited] --- .../lib/active_model/validations/numericality.rb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/activemodel/lib/active_model/validations/numericality.rb b/activemodel/lib/active_model/validations/numericality.rb index ac8308b..062b4cd 100644 --- a/activemodel/lib/active_model/validations/numericality.rb +++ b/activemodel/lib/active_model/validations/numericality.rb @@ -58,7 +58,7 @@ module ActiveModel def parse_raw_value_as_a_number(raw_value) case raw_value - when /\A0x/ + when /\A0[xX]/ nil else begin -- 1.7.0.4