mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-31 17:16:18 +00:00
Fix formatting with locales using , as decimal separator
No double number formatting for readable size Fixed testPrecisionLocalized for travis (when locale is missing?) Switched locale to nl_NL and fixed test Skip test when locale is not available
This commit is contained in:
parent
3e1f97509a
commit
559fb5805b
2 changed files with 20 additions and 5 deletions
|
@ -596,6 +596,21 @@ class CakeNumberTest extends CakeTestCase {
|
||||||
setlocale(LC_NUMERIC, $restore);
|
setlocale(LC_NUMERIC, $restore);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test precision() with locales
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testPrecisionLocalized() {
|
||||||
|
$restore = setlocale(LC_NUMERIC, 0);
|
||||||
|
|
||||||
|
$this->skipIf(setlocale(LC_NUMERIC, 'de_DE') === false, "The German locale isn't available.");
|
||||||
|
|
||||||
|
$result = $this->Number->precision(1.234);
|
||||||
|
$this->assertEquals('1,234', $result);
|
||||||
|
setlocale(LC_NUMERIC, $restore);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testToPercentage method
|
* testToPercentage method
|
||||||
*
|
*
|
||||||
|
|
|
@ -84,7 +84,7 @@ class CakeNumber {
|
||||||
* @link http://book.cakephp.org/2.0/en/core-libraries/helpers/number.html#NumberHelper::precision
|
* @link http://book.cakephp.org/2.0/en/core-libraries/helpers/number.html#NumberHelper::precision
|
||||||
*/
|
*/
|
||||||
public static function precision($value, $precision = 3) {
|
public static function precision($value, $precision = 3) {
|
||||||
return sprintf("%01.{$precision}F", $value);
|
return sprintf("%01.{$precision}f", $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -99,13 +99,13 @@ class CakeNumber {
|
||||||
case $size < 1024:
|
case $size < 1024:
|
||||||
return __dn('cake', '%d Byte', '%d Bytes', $size, $size);
|
return __dn('cake', '%d Byte', '%d Bytes', $size, $size);
|
||||||
case round($size / 1024) < 1024:
|
case round($size / 1024) < 1024:
|
||||||
return __d('cake', '%d KB', self::precision($size / 1024, 0));
|
return __d('cake', '%s KB', self::precision($size / 1024, 0));
|
||||||
case round($size / 1024 / 1024, 2) < 1024:
|
case round($size / 1024 / 1024, 2) < 1024:
|
||||||
return __d('cake', '%.2f MB', self::precision($size / 1024 / 1024, 2));
|
return __d('cake', '%s MB', self::precision($size / 1024 / 1024, 2));
|
||||||
case round($size / 1024 / 1024 / 1024, 2) < 1024:
|
case round($size / 1024 / 1024 / 1024, 2) < 1024:
|
||||||
return __d('cake', '%.2f GB', self::precision($size / 1024 / 1024 / 1024, 2));
|
return __d('cake', '%s GB', self::precision($size / 1024 / 1024 / 1024, 2));
|
||||||
default:
|
default:
|
||||||
return __d('cake', '%.2f TB', self::precision($size / 1024 / 1024 / 1024 / 1024, 2));
|
return __d('cake', '%s TB', self::precision($size / 1024 / 1024 / 1024 / 1024, 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue