Merge "Fix Language::parseFormattedNumber for lzh and zh-classical"
This commit is contained in:
commit
ab2d63b53e
2 changed files with 28 additions and 1 deletions
|
|
@ -3130,14 +3130,18 @@ class Language {
|
|||
* @param string $number
|
||||
* @return string
|
||||
*/
|
||||
function parseFormattedNumber( $number ) {
|
||||
public function parseFormattedNumber( $number ) {
|
||||
$s = $this->digitTransformTable();
|
||||
if ( $s ) {
|
||||
// eliminate empty array values such as ''. (bug 64347)
|
||||
$s = array_filter( $s );
|
||||
$number = strtr( $number, array_flip( $s ) );
|
||||
}
|
||||
|
||||
$s = $this->separatorTransformTable();
|
||||
if ( $s ) {
|
||||
// eliminate empty array values such as ''. (bug 64347)
|
||||
$s = array_filter( $s );
|
||||
$number = strtr( $number, array_flip( $s ) );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1484,6 +1484,29 @@ class LanguageTest extends LanguageClassesTestCase {
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider parseFormattedNumberProvider
|
||||
*/
|
||||
public function testParseFormattedNumber( $langCode, $number ) {
|
||||
$lang = Language::factory( $langCode );
|
||||
|
||||
$localisedNum = $lang->formatNum( $number );
|
||||
$normalisedNum = $lang->parseFormattedNumber( $localisedNum );
|
||||
|
||||
$this->assertEquals( $number, $normalisedNum );
|
||||
}
|
||||
|
||||
public function parseFormattedNumberProvider() {
|
||||
return array(
|
||||
array( 'de', 377.01 ),
|
||||
array( 'fa', 334 ),
|
||||
array( 'fa', 382.772 ),
|
||||
array( 'ar', 1844 ),
|
||||
array( 'lzh', 3731 ),
|
||||
array( 'zh-classical', 7432 )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Language::commafy()
|
||||
* @dataProvider provideCommafyData
|
||||
|
|
|
|||
Loading…
Reference in a new issue