Changeset 7590
- Timestamp:
- 02/23/08 19:35:05 (9 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.1/lib/plugins/sfCompat10Plugin/lib/validator/sfNumberValidator.class.php
r5384 r7590 46 46 public function execute(&$value, &$error) 47 47 { 48 if (! is_numeric($value))48 if (!preg_match('/^\d+(\.\d+)?$/', $value)) 49 49 { 50 50 // it's NaN, what nerve! branches/1.1/lib/plugins/sfCompat10Plugin/test/unit/validator/sfNumberValidatorTest.php
r5384 r7590 13 13 require_once(dirname(__FILE__).'/sfValidatorTestHelper.class.php'); 14 14 15 $t = new lime_test( 49, new lime_output_color());15 $t = new lime_test(51, new lime_output_color()); 16 16 17 17 $context = sfContext::getInstance(); … … 24 24 $t->ok($v->execute($number, $error), '->execute() returns true if you don\'t define any parameter'); 25 25 26 $number = 'not a number'; 27 $error = null; 28 $t->ok(!$v->execute($number, $error), '->execute() returns "nan_error" if value is not a number'); 29 $t->is($error, 'Input is not a number', '->execute() changes "$error" with a default message if it returns false'); 26 foreach (array('not a number', '0xFE') as $number) 27 { 28 $error = null; 29 $t->ok(!$v->execute($number, $error), '->execute() returns "nan_error" if value is not a number'); 30 $t->is($error, 'Input is not a number', '->execute() changes "$error" with a default message if it returns false'); 31 } 30 32 31 33 foreach (array('any', 'decimal', 'float', 'int', 'integer') as $type)