Skip to content

Commit

Permalink
Added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
spiliot committed Apr 22, 2013
1 parent 50e3307 commit 2d7f6fc
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
17 changes: 13 additions & 4 deletions lib/Cake/Test/Case/Utility/ValidationTest.php
Expand Up @@ -1958,29 +1958,38 @@ public function testExtension() {
* @return void * @return void
*/ */
public function testMoney() { public function testMoney() {
$this->assertTrue(Validation::money('100'));
$this->assertTrue(Validation::money('100.11'));
$this->assertTrue(Validation::money('100.112'));
$this->assertTrue(Validation::money('100.1'));
$this->assertTrue(Validation::money('100.111,1'));
$this->assertTrue(Validation::money('100.111,11'));
$this->assertFalse(Validation::money('100.111,111'));
$this->assertFalse(Validation::money('text'));

$this->assertTrue(Validation::money('$100')); $this->assertTrue(Validation::money('$100'));
$this->assertTrue(Validation::money('$100.11')); $this->assertTrue(Validation::money('$100.11'));
$this->assertTrue(Validation::money('$100.112')); $this->assertTrue(Validation::money('$100.112'));
$this->assertFalse(Validation::money('$100.1')); $this->assertTrue(Validation::money('$100.1'));
$this->assertFalse(Validation::money('$100.1111')); $this->assertFalse(Validation::money('$100.1111'));
$this->assertFalse(Validation::money('text')); $this->assertFalse(Validation::money('text'));


$this->assertTrue(Validation::money('100', 'right')); $this->assertTrue(Validation::money('100', 'right'));
$this->assertTrue(Validation::money('100.11$', 'right')); $this->assertTrue(Validation::money('100.11$', 'right'));
$this->assertTrue(Validation::money('100.112$', 'right')); $this->assertTrue(Validation::money('100.112$', 'right'));
$this->assertFalse(Validation::money('100.1$', 'right')); $this->assertTrue(Validation::money('100.1$', 'right'));
$this->assertFalse(Validation::money('100.1111$', 'right')); $this->assertFalse(Validation::money('100.1111$', 'right'));


$this->assertTrue(Validation::money('€100')); $this->assertTrue(Validation::money('€100'));
$this->assertTrue(Validation::money('€100.11')); $this->assertTrue(Validation::money('€100.11'));
$this->assertTrue(Validation::money('€100.112')); $this->assertTrue(Validation::money('€100.112'));
$this->assertFalse(Validation::money('€100.1')); $this->assertTrue(Validation::money('€100.1'));
$this->assertFalse(Validation::money('€100.1111')); $this->assertFalse(Validation::money('€100.1111'));


$this->assertTrue(Validation::money('100', 'right')); $this->assertTrue(Validation::money('100', 'right'));
$this->assertTrue(Validation::money('100.11€', 'right')); $this->assertTrue(Validation::money('100.11€', 'right'));
$this->assertTrue(Validation::money('100.112€', 'right')); $this->assertTrue(Validation::money('100.112€', 'right'));
$this->assertFalse(Validation::money('100.1€', 'right')); $this->assertTrue(Validation::money('100.1€', 'right'));
$this->assertFalse(Validation::money('100.1111€', 'right')); $this->assertFalse(Validation::money('100.1111€', 'right'));
} }


Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Utility/Validation.php
Expand Up @@ -528,7 +528,7 @@ public static function maxLength($check, $max) {
* @return boolean Success * @return boolean Success
*/ */
public static function money($check, $symbolPosition = 'left') { public static function money($check, $symbolPosition = 'left') {
$money = '(?!0,?\d)(?:\d{1,3}(?:([, .])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\1)[,.]\d{1})?'; $money = '(?!0,?\d)(?:\d{1,3}(?:([, .])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\1)[,.]\d{1,2})?';
if ($symbolPosition === 'right') { if ($symbolPosition === 'right') {
$regex = '/^' . $money . '(?<!\x{00a2})\p{Sc}?$/u'; $regex = '/^' . $money . '(?<!\x{00a2})\p{Sc}?$/u';
} else { } else {
Expand Down

0 comments on commit 2d7f6fc

Please sign in to comment.