* @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 ) );
}
);
}
+ /**
+ * @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