diff --git a/lib/Cake/Test/Case/Utility/CakeNumberTest.php b/lib/Cake/Test/Case/Utility/CakeNumberTest.php index bb3fe92ee..9ce874d1d 100644 --- a/lib/Cake/Test/Case/Utility/CakeNumberTest.php +++ b/lib/Cake/Test/Case/Utility/CakeNumberTest.php @@ -141,31 +141,31 @@ class CakeNumberTest extends CakeTestCase { public function testMultibyteFormat() { $value = '5199100.0006'; $result = $this->Number->format($value, array( - 'thousands' => ' ', - 'decimals' => '&', - 'places' => 3, - 'escape' => false, - 'before' => '', + 'thousands' => ' ', + 'decimals' => '&', + 'places' => 3, + 'escape' => false, + 'before' => '', )); $expected = '5 199 100&001'; $this->assertEquals($expected, $result); $value = 1000.45; $result = $this->Number->format($value, array( - 'thousands' => ',,', - 'decimals' => '.a', - 'escape' => false, + 'thousands' => ',,', + 'decimals' => '.a', + 'escape' => false, )); $expected = '$1,,000.a45'; $this->assertEquals($expected, $result); $value = 519919827593784.00; $this->Number->addFormat('RUR', array( - 'thousands' => 'ø€ƒ‡™', - 'decimals' => '(§.§)', - 'escape' => false, - 'wholeSymbol' => '€', - 'wholePosition' => 'after', + 'thousands' => 'ø€ƒ‡™', + 'decimals' => '(§.§)', + 'escape' => false, + 'wholeSymbol' => '€', + 'wholePosition' => 'after', )); $result = $this->Number->currency($value, 'RUR'); $expected = '519ø€ƒ‡™919ø€ƒ‡™827ø€ƒ‡™593ø€ƒ‡™784(§.§)00€'; @@ -173,9 +173,9 @@ class CakeNumberTest extends CakeTestCase { $value = '13371337.1337'; $result = CakeNumber::format($value, array( - 'thousands' => '- |-| /-\ >< () |2 -', - 'decimals' => '- £€€† -', - 'before' => '' + 'thousands' => '- |-| /-\ >< () |2 -', + 'decimals' => '- £€€† -', + 'before' => '' )); $expected = '13- |-| /-\ >< () |2 -371- |-| /-\ >< () |2 -337- £€€† -13'; $this->assertEquals($expected, $result); @@ -335,6 +335,19 @@ class CakeNumberTest extends CakeTestCase { $this->assertEquals($expected, $result); } +/** + * Test that the default fraction handling does not cause issues. + * + * @return void + */ + public function testCurrencyFractionSymbol() { + $result = $this->Number->currency(0.2, '', array( + 'places' => 2, + 'decimal' => '.' + )); + $this->assertEquals('0.2', $result); + } + /** * Test adding currency format options to the number helper * diff --git a/lib/Cake/Utility/CakeNumber.php b/lib/Cake/Utility/CakeNumber.php index 8d43c4169..ecba8c04e 100644 --- a/lib/Cake/Utility/CakeNumber.php +++ b/lib/Cake/Utility/CakeNumber.php @@ -75,7 +75,7 @@ class CakeNumber { * @var array */ protected static $_currencyDefaults = array( - 'wholeSymbol' => '', 'wholePosition' => 'before', 'fractionSymbol' => '', 'fractionPosition' => 'after', + 'wholeSymbol' => '', 'wholePosition' => 'before', 'fractionSymbol' => false, 'fractionPosition' => 'after', 'zero' => '0', 'places' => 2, 'thousands' => ',', 'decimals' => '.', 'negative' => '()', 'escape' => true, 'fractionExponent' => 2 );