wiki.techinc.nl/tests/phpunit/includes/languages/LanguageUkTest.php
Reedy 85396a9c99 tests: Fix @covers and @coversDefaultClass to have leading \
Change-Id: I5629f91387f2ac453ee4341bfe4bba310bd52f03
2024-02-16 22:43:56 +00:00

114 lines
2.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

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 LanguageUkTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
* @covers \Language::convertPlural
*/
public function testPlural( $result, $value ) {
$forms = [ 'one', 'few', 'many', 'other' ];
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
/**
* Test explicit plural forms - n=FormN forms
* @covers \Language::convertPlural
*/
public function testExplicitPlural() {
$forms = [ 'one', 'few', 'many', 'other', '12=dozen' ];
$this->assertEquals( 'dozen', $this->getLang()->convertPlural( 12, $forms ) );
$forms = [ 'one', 'few', 'many', '100=hundred', 'other', '12=dozen' ];
$this->assertEquals( 'hundred', $this->getLang()->convertPlural( 100, $forms ) );
}
/**
* @dataProvider providePlural
* @covers \Language::getPluralRuleType
*/
public function testGetPluralRuleType( $result, $value ) {
$this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
}
public static function providePlural() {
return [
[ 'one', 1 ],
[ 'many', 11 ],
[ 'one', 91 ],
[ 'one', 121 ],
[ 'few', 2 ],
[ 'few', 3 ],
[ 'few', 4 ],
[ 'few', 334 ],
[ 'many', 5 ],
[ 'many', 15 ],
[ 'many', 120 ],
];
}
/**
* @dataProvider providePluralTwoForms
* @covers \Language::convertPlural
*/
public function testPluralTwoForms( $result, $value ) {
$forms = [ '1=one', 'other' ];
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
public static function providePluralTwoForms() {
return [
[ 'one', 1 ],
[ 'other', 11 ],
[ 'other', 91 ],
[ 'other', 121 ],
];
}
/**
* @dataProvider providerGrammar
* @covers \Language::convertGrammar
*/
public function testGrammar( $result, $word, $case ) {
$this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
}
public static function providerGrammar() {
yield 'Wikipedia genitive' => [
'Вікіпедії',
'Вікіпедія',
'genitive',
];
yield 'Wikispecies genitive' => [
'Віківидів',
'Віківиди',
'genitive',
];
yield 'Wikiquote genitive' => [
'Вікіцитат',
'Вікіцитати',
'genitive',
];
yield 'Wikibooks genitive' => [
'Вікіпідручника',
'Вікіпідручник',
'genitive',
];
yield 'Wikipedia accusative' => [
'Вікіпедію',
'Вікіпедія',
'accusative',
];
yield 'MediaWiki locative' => [
'у MediaWiki',
'MediaWiki',
'locative',
];
}
}