wiki.techinc.nl/tests/phpunit/includes/languages/LanguageBe_taraskTest.php
Timo Tijhof 7c39f76452 Move Language subclasses to includes/
Depending on which namespace we want these classes to have after
T166010 they could either stay in includes/languages/ (plural) in
their own MediaWiki\Languages\-namespace dedicated to Language
subclasses, or they could go in into a subdirectory like
`includes/language/languages/` if we want to keep them in the same
top-level namespace as other Language classes and services, but in
a more nested namespace.

For now, I've made the smaller change and kept the Language subclasses
in their own directory directly under includes/, not nested further.

Bug: T225756
Change-Id: I01015424707b442853879fd50c97f00215e5c2fa
2021-08-04 23:44:46 +01:00

103 lines
2.4 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
// phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
/**
* @group Language
* @covers LanguageBe_tarask
*/
class LanguageBe_taraskTest extends LanguageClassesTestCase {
// phpcs:enable
/**
* Make sure the language code we are given is indeed
* be-tarask. This is to ensure LanguageClassesTestCase
* does not give us the wrong language.
*/
public function testBeTaraskTestsUsesBeTaraskCode() {
$this->assertEquals( 'be-tarask',
$this->getLang()->getCode()
);
}
/**
* @see T25156 & r64981
* @covers Language::normalizeForSearch
*/
public function testSearchRightSingleQuotationMarkAsApostroph() {
$this->assertEquals(
"'",
$this->getLang()->normalizeForSearch( '' ),
'T25156: U+2019 conversion to U+0027'
);
}
/**
* @see T25156 & r64981
* @covers Language::formatNum
*/
public function testFormatNum() {
$this->assertEquals( '1 234 567', $this->getLang()->formatNum( '1234567' ) );
$this->assertEquals( '12 345', $this->getLang()->formatNum( '12345' ) );
}
/**
* @see T25156 & r64981
* @covers Language::formatNum
*/
public function testDoesNotCommafyFourDigitsNumber() {
$this->assertSame( '1234', $this->getLang()->formatNum( '1234' ) );
}
/**
* @dataProvider providePlural
* @covers Language::convertPlural
*/
public function testPlural( $result, $value ) {
$forms = [ 'one', 'few', 'many', 'other' ];
$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 [
[ '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 [
[ 'other', 0 ],
[ 'one', 1 ],
[ 'other', 11 ],
[ 'other', 91 ],
[ 'other', 121 ],
];
}
}