wiki.techinc.nl/tests/phpunit/includes/languages/LanguagePlTest.php
Daimona Eaytoy 48a1c0bb2f Autofix spacing around commas
This was done automatically using the
`Universal.WhiteSpace.CommaSpacing` sniff, which will be included in the
next release of the MW PHPCS config.

Some of these have been adjusted manually where the autofix broke
vertical alignment.

Change-Id: I54a4668d8a2759b9d7de47742c943a535a04e211
2023-10-25 01:08:44 +02:00

106 lines
2.5 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* @author Amir E. Aharoni
* @copyright Copyright © 2012, Amir E. Aharoni
* @file
*/
/**
* @group Language
*/
class LanguagePlTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
* @covers Language::convertPlural
*/
public function testPlural( $result, $value ) {
$forms = [ 'one', 'few', 'many' ];
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
/**
* @dataProvider providePlural
* @covers Language::getPluralRuleType
*/
public function testGetPluralRuleType( $result, $value ) {
$this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
}
public static function providePlural() {
return [
[ 'many', 0 ],
[ 'one', 1 ],
[ 'few', 2 ],
[ 'few', 3 ],
[ 'few', 4 ],
[ 'many', 5 ],
[ 'many', 9 ],
[ 'many', 10 ],
[ 'many', 11 ],
[ 'many', 21 ],
[ 'few', 22 ],
[ 'few', 23 ],
[ 'few', 24 ],
[ 'many', 25 ],
[ 'many', 200 ],
[ 'many', 201 ],
];
}
/**
* @dataProvider providePluralTwoForms
* @covers Language::convertPlural
*/
public function testPluralTwoForms( $result, $value ) {
$forms = [ 'one', 'other' ];
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
public static function providePluralTwoForms() {
return [
[ 'other', 0 ],
[ 'one', 1 ],
[ 'other', 2 ],
[ 'other', 3 ],
[ 'other', 4 ],
[ 'other', 5 ],
[ 'other', 9 ],
[ 'other', 10 ],
[ 'other', 11 ],
[ 'other', 21 ],
[ 'other', 22 ],
[ 'other', 23 ],
[ 'other', 24 ],
[ 'other', 25 ],
[ 'other', 200 ],
[ 'other', 201 ],
];
}
/**
* @covers Language::formatNum()
* @dataProvider provideFormatNum
*/
public function testFormatNum( $number, $formattedNum, $desc ) {
$this->assertEquals(
$formattedNum,
$this->getLang()->formatNum( $number ),
$desc
);
}
public static function provideFormatNum() {
return [
[ 1000, '1000', 'No change' ],
[ 10000, '10 000', 'Only separator transform. Separator is NO-BREAK Space, not Space' ],
[ 1000.0001, '1000,0001',
'No change since this is below minimumGroupingDigits, just separator transform' ],
[ 10000.123456, '10 000,123456', 'separator transform' ],
[ -1000, '1000', 'No change, other than minus replacement' ],
[ -10000, '10 000', 'Only separator transform' ],
[ -1000.0001, '1000,0001',
'No change since this is below minimumGroupingDigits, just separator transform' ],
[ -10000.789, '10 000,789', '' ],
];
}
}