Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5959246
LanguageHeTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
LanguageHeTest.php
View Options
<?php
/**
* @author Amir E. Aharoni
* @copyright Copyright © 2012, Amir E. Aharoni
* @file
*/
/**
* Tests for Hebrew
*
* @group Language
*/
class
LanguageHeTest
extends
LanguageClassesTestCase
{
/**
* The most common usage for the plural forms is two forms,
* for singular and plural. In this case, the second form
* is technically dual, but in practice it's used as plural.
* In some cases, usually with expressions of time, three forms
* are needed - singular, dual and plural.
* CLDR also specifies a fourth form for multiples of 10,
* which is very rare. It also has a mistake, because
* the number 10 itself is supposed to be just plural,
* so currently it's overridden in MediaWiki.
*/
// @todo the below test*PluralForms test methods can be refactored
// to use a single test method and data provider.
/**
* @dataProvider provideTwoPluralForms
* @covers \MediaWiki\Language\Language::convertPlural
*/
public
function
testTwoPluralForms
(
$result
,
$value
)
{
$forms
=
[
'one'
,
'other'
];
$this
->
assertEquals
(
$result
,
$this
->
getLang
()->
convertPlural
(
$value
,
$forms
)
);
}
/**
* @dataProvider provideThreePluralForms
* @covers \MediaWiki\Language\Language::convertPlural
*/
public
function
testThreePluralForms
(
$result
,
$value
)
{
$forms
=
[
'one'
,
'two'
,
'other'
];
$this
->
assertEquals
(
$result
,
$this
->
getLang
()->
convertPlural
(
$value
,
$forms
)
);
}
/**
* @dataProvider provideFourPluralForms
* @covers \MediaWiki\Language\Language::convertPlural
*/
public
function
testFourPluralForms
(
$result
,
$value
)
{
$forms
=
[
'one'
,
'two'
,
'many'
,
'other'
];
$this
->
assertEquals
(
$result
,
$this
->
getLang
()->
convertPlural
(
$value
,
$forms
)
);
}
/**
* @dataProvider provideFourPluralForms
* @covers \MediaWiki\Language\Language::convertPlural
*/
public
function
testGetPluralRuleType
(
$result
,
$value
)
{
$this
->
assertEquals
(
$result
,
$this
->
getLang
()->
getPluralRuleType
(
$value
)
);
}
public
static
function
provideTwoPluralForms
()
{
return
[
[
'other'
,
0
],
// Zero - plural
[
'one'
,
1
],
// Singular
[
'other'
,
2
],
// No third form provided, use it as plural
[
'other'
,
3
],
// Plural - other
[
'other'
,
10
],
// No fourth form provided, use it as plural
[
'other'
,
20
],
// No fourth form provided, use it as plural
];
}
public
static
function
provideThreePluralForms
()
{
return
[
[
'other'
,
0
],
// Zero - plural
[
'one'
,
1
],
// Singular
[
'two'
,
2
],
// Dual
[
'other'
,
3
],
// Plural - other
[
'other'
,
10
],
// No fourth form provided, use it as plural
[
'other'
,
20
],
// No fourth form provided, use it as plural
];
}
public
static
function
provideFourPluralForms
()
{
return
[
[
'other'
,
0
],
// Zero - plural
[
'one'
,
1
],
// Singular
[
'two'
,
2
],
// Dual
[
'other'
,
3
],
// Plural - other
[
'other'
,
10
],
// 10 is supposed to be plural (other), not "many"
[
'many'
,
20
],
// Fourth form provided - rare, but supported by CLDR
];
}
/**
* @dataProvider provideGrammar
* @covers \MediaWiki\Language\Language::convertGrammar
*/
public
function
testGrammar
(
$result
,
$word
,
$case
)
{
$this
->
assertEquals
(
$result
,
$this
->
getLang
()->
convertGrammar
(
$word
,
$case
)
);
}
/**
* The comments in the beginning of the line help avoid RTL problems
* with text editors.
*/
public
static
function
provideGrammar
()
{
return
[
[
/* result */
'וויקיפדיה'
,
/* word */
'ויקיפדיה'
,
/* case */
'תחילית'
,
],
[
/* result */
'וולפגנג'
,
/* word */
'וולפגנג'
,
/* case */
'prefixed'
,
],
[
/* result */
'קובץ'
,
/* word */
'הקובץ'
,
/* case */
'תחילית'
,
],
[
/* result */
'־Wikipedia'
,
/* word */
'Wikipedia'
,
/* case */
'תחילית'
,
],
[
/* result */
'־1995'
,
/* word */
'1995'
,
/* case */
'תחילית'
,
],
];
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Oct 3, 06:18 (2 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
41/32/0b8243ff1fd648c8b79ce08585fd
Default Alt Text
LanguageHeTest.php (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment