From 3f62813c51e7c2547616a8fa8d874c678aa20b9c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Tue, 10 Oct 2017 22:36:31 +0200 Subject: [PATCH 1/1] Add test cases for digit grouping (commafy) in Polish According to the typographical convention, a thousands separator should not be inserted in numbers that are four digits long (between 1000 and 9999), unlike in English where it's usually acceptable. This logic is currently implemented in LanguagePl::commafy(). Bug: T177846 Change-Id: I6dbd8febcf59000067cdd7d3c11111f2f77f4e66 --- .../languages/classes/LanguagePlTest.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/phpunit/languages/classes/LanguagePlTest.php b/tests/phpunit/languages/classes/LanguagePlTest.php index a6d0f2e1cc..d7a0074397 100644 --- a/tests/phpunit/languages/classes/LanguagePlTest.php +++ b/tests/phpunit/languages/classes/LanguagePlTest.php @@ -74,4 +74,31 @@ class LanguagePlTest extends LanguageClassesTestCase { [ 'other', 201 ], ]; } + + /** + * @covers LanguagePl::commafy() + * @dataProvider provideCommafyData + */ + public function testCommafy( $number, $numbersWithCommas ) { + $this->assertEquals( + $numbersWithCommas, + $this->getLang()->commafy( $number ), + "commafy('$number')" + ); + } + + public static function provideCommafyData() { + // Note that commafy() always uses English separators (',' and '.') instead of + // Polish (' ' and ','). There is another function that converts them later. + return [ + [ 1000, '1000' ], + [ 10000, '10,000' ], + [ 1000.0001, '1000.0001' ], + [ 10000.0001, '10,000.0001' ], + [ -1000, '-1000' ], + [ -10000, '-10,000' ], + [ -1000.0001, '-1000.0001' ], + [ -10000.0001, '-10,000.0001' ], + ]; + } } -- 2.20.1