From 3c81a57d013df71da47219ae7f8c05c0bb0d8b4f Mon Sep 17 00:00:00 2001 From: Ian Ricketson Date: Fri, 19 Jun 2020 12:11:23 -0600 Subject: [PATCH] Revert strict decimial comparison --- lib/Doctrine/Validator.php | 2 +- tests/ValidatorTestCase.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/Validator.php b/lib/Doctrine/Validator.php index ffb9412fb..afd1709ac 100644 --- a/lib/Doctrine/Validator.php +++ b/lib/Doctrine/Validator.php @@ -171,7 +171,7 @@ public static function isValidType($var, $type) case 'float': case 'double': case 'decimal': - return (string) $var === (string) (float) $var; + return (string) $var == (string) (float) $var; case 'integer': return (string) $var === (string)round((float) $var); case 'string': diff --git a/tests/ValidatorTestCase.php b/tests/ValidatorTestCase.php index 401588afa..92943fa29 100644 --- a/tests/ValidatorTestCase.php +++ b/tests/ValidatorTestCase.php @@ -80,6 +80,13 @@ public function testIsValidType() $this->assertFalse(Doctrine_Validator::isValidType($var, 'array')); $this->assertFalse(Doctrine_Validator::isValidType($var, 'object')); + $var = '123.00'; + $this->assertTrue(Doctrine_Validator::isValidType($var, 'string')); + $this->assertFalse(Doctrine_Validator::isValidType($var, 'integer')); + $this->assertTrue(Doctrine_Validator::isValidType($var, 'float')); + $this->assertFalse(Doctrine_Validator::isValidType($var, 'array')); + $this->assertFalse(Doctrine_Validator::isValidType($var, 'object')); + $var = ''; $this->assertTrue(Doctrine_Validator::isValidType($var, 'string')); $this->assertFalse(Doctrine_Validator::isValidType($var, 'integer'));