X-Git-Url: https://git.cyclocoop.org/admin/?a=blobdiff_plain;f=tests%2Fphpunit%2Flanguages%2FLanguageTest.php;h=9e41a4eabbe0d386fa8b2a67610373527aaebd94;hb=bbd518baff8140a7ac3342cf176af542da4ad58b;hp=77c3c02368fa5aab72cb4f61e04c3c0c3cb56663;hpb=04fdc78370dbc042116488d6826e19bf3910273b;p=lhc%2Fweb%2Fwiklou.git
diff --git a/tests/phpunit/languages/LanguageTest.php b/tests/phpunit/languages/LanguageTest.php
index 77c3c02368..9e41a4eabb 100644
--- a/tests/phpunit/languages/LanguageTest.php
+++ b/tests/phpunit/languages/LanguageTest.php
@@ -24,188 +24,188 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideFormattableTimes() {
- return array(
- array(
+ return [
+ [
9.45,
- array(),
+ [],
'9.5 s',
'formatTimePeriod() rounding (<10s)'
- ),
- array(
+ ],
+ [
9.45,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'9.5 seconds',
'formatTimePeriod() rounding (<10s)'
- ),
- array(
+ ],
+ [
9.95,
- array(),
+ [],
'10 s',
'formatTimePeriod() rounding (<10s)'
- ),
- array(
+ ],
+ [
9.95,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'10 seconds',
'formatTimePeriod() rounding (<10s)'
- ),
- array(
+ ],
+ [
59.55,
- array(),
+ [],
'1 min 0 s',
'formatTimePeriod() rounding (<60s)'
- ),
- array(
+ ],
+ [
59.55,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'1 minute 0 seconds',
'formatTimePeriod() rounding (<60s)'
- ),
- array(
+ ],
+ [
119.55,
- array(),
+ [],
'2 min 0 s',
'formatTimePeriod() rounding (<1h)'
- ),
- array(
+ ],
+ [
119.55,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'2 minutes 0 seconds',
'formatTimePeriod() rounding (<1h)'
- ),
- array(
+ ],
+ [
3599.55,
- array(),
+ [],
'1 h 0 min 0 s',
'formatTimePeriod() rounding (<1h)'
- ),
- array(
+ ],
+ [
3599.55,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'1 hour 0 minutes 0 seconds',
'formatTimePeriod() rounding (<1h)'
- ),
- array(
+ ],
+ [
7199.55,
- array(),
+ [],
'2 h 0 min 0 s',
'formatTimePeriod() rounding (>=1h)'
- ),
- array(
+ ],
+ [
7199.55,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'2 hours 0 minutes 0 seconds',
'formatTimePeriod() rounding (>=1h)'
- ),
- array(
+ ],
+ [
7199.55,
'avoidseconds',
'2 h 0 min',
'formatTimePeriod() rounding (>=1h), avoidseconds'
- ),
- array(
+ ],
+ [
7199.55,
- array( 'avoid' => 'avoidseconds', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidseconds', 'noabbrevs' => true ],
'2 hours 0 minutes',
'formatTimePeriod() rounding (>=1h), avoidseconds'
- ),
- array(
+ ],
+ [
7199.55,
'avoidminutes',
'2 h 0 min',
'formatTimePeriod() rounding (>=1h), avoidminutes'
- ),
- array(
+ ],
+ [
7199.55,
- array( 'avoid' => 'avoidminutes', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidminutes', 'noabbrevs' => true ],
'2 hours 0 minutes',
'formatTimePeriod() rounding (>=1h), avoidminutes'
- ),
- array(
+ ],
+ [
172799.55,
'avoidseconds',
'48 h 0 min',
'formatTimePeriod() rounding (=48h), avoidseconds'
- ),
- array(
+ ],
+ [
172799.55,
- array( 'avoid' => 'avoidseconds', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidseconds', 'noabbrevs' => true ],
'48 hours 0 minutes',
'formatTimePeriod() rounding (=48h), avoidseconds'
- ),
- array(
+ ],
+ [
259199.55,
'avoidminutes',
'3 d 0 h',
'formatTimePeriod() rounding (>48h), avoidminutes'
- ),
- array(
+ ],
+ [
259199.55,
- array( 'avoid' => 'avoidminutes', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidminutes', 'noabbrevs' => true ],
'3 days 0 hours',
'formatTimePeriod() rounding (>48h), avoidminutes'
- ),
- array(
+ ],
+ [
176399.55,
'avoidseconds',
'2 d 1 h 0 min',
'formatTimePeriod() rounding (>48h), avoidseconds'
- ),
- array(
+ ],
+ [
176399.55,
- array( 'avoid' => 'avoidseconds', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidseconds', 'noabbrevs' => true ],
'2 days 1 hour 0 minutes',
'formatTimePeriod() rounding (>48h), avoidseconds'
- ),
- array(
+ ],
+ [
176399.55,
'avoidminutes',
'2 d 1 h',
'formatTimePeriod() rounding (>48h), avoidminutes'
- ),
- array(
+ ],
+ [
176399.55,
- array( 'avoid' => 'avoidminutes', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidminutes', 'noabbrevs' => true ],
'2 days 1 hour',
'formatTimePeriod() rounding (>48h), avoidminutes'
- ),
- array(
+ ],
+ [
259199.55,
'avoidseconds',
'3 d 0 h 0 min',
'formatTimePeriod() rounding (>48h), avoidseconds'
- ),
- array(
+ ],
+ [
259199.55,
- array( 'avoid' => 'avoidseconds', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidseconds', 'noabbrevs' => true ],
'3 days 0 hours 0 minutes',
'formatTimePeriod() rounding (>48h), avoidseconds'
- ),
- array(
+ ],
+ [
172801.55,
'avoidseconds',
'2 d 0 h 0 min',
'formatTimePeriod() rounding, (>48h), avoidseconds'
- ),
- array(
+ ],
+ [
172801.55,
- array( 'avoid' => 'avoidseconds', 'noabbrevs' => true ),
+ [ 'avoid' => 'avoidseconds', 'noabbrevs' => true ],
'2 days 0 hours 0 minutes',
'formatTimePeriod() rounding, (>48h), avoidseconds'
- ),
- array(
+ ],
+ [
176460.55,
- array(),
+ [],
'2 d 1 h 1 min 1 s',
'formatTimePeriod() rounding, recursion, (>48h)'
- ),
- array(
+ ],
+ [
176460.55,
- array( 'noabbrevs' => true ),
+ [ 'noabbrevs' => true ],
'2 days 1 hour 1 minute 1 second',
'formatTimePeriod() rounding, recursion, (>48h)'
- ),
- );
+ ],
+ ];
}
/**
@@ -281,7 +281,7 @@ class LanguageTest extends LanguageClassesTestCase {
// Actual HTML...
$this->assertEquals(
$expected,
- $this->getLang()->truncateHTML( $input, $len, $ellipsis )
+ $this->getLang()->truncateHtml( $input, $len, $ellipsis )
);
}
@@ -289,59 +289,59 @@ class LanguageTest extends LanguageClassesTestCase {
* @return array Format is ($len, $ellipsis, $input, $expected)
*/
public static function provideHTMLTruncateData() {
- return array(
- array( 0, 'XXX', "1234567890", "XXX" ),
- array( 8, 'XXX', "1234567890", "12345XXX" ),
- array( 5, 'XXXXXXXXXXXXXXX', '1234567890', "1234567890" ),
- array( 2, '***',
+ return [
+ [ 0, 'XXX', "1234567890", "XXX" ],
+ [ 8, 'XXX', "1234567890", "12345XXX" ],
+ [ 5, 'XXXXXXXXXXXXXXX', '1234567890', "1234567890" ],
+ [ 2, '***',
'
',
'
',
- ),
- array( 2, '***',
+ ],
+ [ 2, '***',
'123456789
',
'***
',
- ),
- array( 2, '***',
+ ],
+ [ 2, '***',
' 23456789
',
'***
',
- ),
- array( 3, '***',
+ ],
+ [ 3, '***',
'123456789
',
'***
',
- ),
- array( 4, '***',
+ ],
+ [ 4, '***',
'123456789
',
'1***
',
- ),
- array( 5, '***',
+ ],
+ [ 5, '***',
'123456789',
'12***',
- ),
- array( 6, '***',
+ ],
+ [ 6, '***',
'123456789
',
'123***
',
- ),
- array( 6, '***',
+ ],
+ [ 6, '***',
'12 456789
',
'12 ***
',
- ),
- array( 7, '***',
+ ],
+ [ 7, '***',
'123456
789',
'1234***
',
- ),
- array( 8, '***',
+ ],
+ [ 8, '***',
'123456789
',
'12345***
',
- ),
- array( 9, '***',
+ ],
+ [ 9, '***',
'',
'',
- ),
- array( 10, '***',
+ ],
+ [ 10, '***',
'123456789
',
'123456789
',
- ),
- );
+ ],
+ ];
}
/**
@@ -363,37 +363,37 @@ class LanguageTest extends LanguageClassesTestCase {
* http://www.bortzmeyer.org/gabuzomeu-parsing-language-tags.html
*/
public static function provideWellFormedLanguageTags() {
- return array(
- array( 'fr', 'two-letter code' ),
- array( 'fr-latn', 'two-letter code with lower case script code' ),
- array( 'fr-Latn-FR', 'two-letter code with title case script code and uppercase country code' ),
- array( 'fr-Latn-419', 'two-letter code with title case script code and region number' ),
- array( 'fr-FR', 'two-letter code with uppercase' ),
- array( 'ax-TZ', 'Not in the registry, but well-formed' ),
- array( 'fr-shadok', 'two-letter code with variant' ),
- array( 'fr-y-myext-myext2', 'non-x singleton' ),
- array( 'fra-Latn', 'ISO 639 can be 3-letters' ),
- array( 'fra', 'three-letter language code' ),
- array( 'fra-FX', 'three-letter language code with country code' ),
- array( 'i-klingon', 'grandfathered with singleton' ),
- array( 'I-kLINgon', 'tags are case-insensitive...' ),
- array( 'no-bok', 'grandfathered without singleton' ),
- array( 'i-enochian', 'Grandfathered' ),
- array( 'x-fr-CH', 'private use' ),
- array( 'es-419', 'two-letter code with region number' ),
- array( 'en-Latn-GB-boont-r-extended-sequence-x-private', 'weird, but well-formed' ),
- array( 'ab-x-abc-x-abc', 'anything goes after x' ),
- array( 'ab-x-abc-a-a', 'anything goes after x, including several non-x singletons' ),
- array( 'i-default', 'grandfathered' ),
- array( 'abcd-Latn', 'Language of 4 chars reserved for future use' ),
- array( 'AaBbCcDd-x-y-any-x', 'Language of 5-8 chars, registered' ),
- array( 'de-CH-1901', 'with country and year' ),
- array( 'en-US-x-twain', 'with country and singleton' ),
- array( 'zh-cmn', 'three-letter variant' ),
- array( 'zh-cmn-Hant', 'three-letter variant and script' ),
- array( 'zh-cmn-Hant-HK', 'three-letter variant, script and country' ),
- array( 'xr-p-lze', 'Extension' ),
- );
+ return [
+ [ 'fr', 'two-letter code' ],
+ [ 'fr-latn', 'two-letter code with lower case script code' ],
+ [ 'fr-Latn-FR', 'two-letter code with title case script code and uppercase country code' ],
+ [ 'fr-Latn-419', 'two-letter code with title case script code and region number' ],
+ [ 'fr-FR', 'two-letter code with uppercase' ],
+ [ 'ax-TZ', 'Not in the registry, but well-formed' ],
+ [ 'fr-shadok', 'two-letter code with variant' ],
+ [ 'fr-y-myext-myext2', 'non-x singleton' ],
+ [ 'fra-Latn', 'ISO 639 can be 3-letters' ],
+ [ 'fra', 'three-letter language code' ],
+ [ 'fra-FX', 'three-letter language code with country code' ],
+ [ 'i-klingon', 'grandfathered with singleton' ],
+ [ 'I-kLINgon', 'tags are case-insensitive...' ],
+ [ 'no-bok', 'grandfathered without singleton' ],
+ [ 'i-enochian', 'Grandfathered' ],
+ [ 'x-fr-CH', 'private use' ],
+ [ 'es-419', 'two-letter code with region number' ],
+ [ 'en-Latn-GB-boont-r-extended-sequence-x-private', 'weird, but well-formed' ],
+ [ 'ab-x-abc-x-abc', 'anything goes after x' ],
+ [ 'ab-x-abc-a-a', 'anything goes after x, including several non-x singletons' ],
+ [ 'i-default', 'grandfathered' ],
+ [ 'abcd-Latn', 'Language of 4 chars reserved for future use' ],
+ [ 'AaBbCcDd-x-y-any-x', 'Language of 5-8 chars, registered' ],
+ [ 'de-CH-1901', 'with country and year' ],
+ [ 'en-US-x-twain', 'with country and singleton' ],
+ [ 'zh-cmn', 'three-letter variant' ],
+ [ 'zh-cmn-Hant', 'three-letter variant and script' ],
+ [ 'zh-cmn-Hant-HK', 'three-letter variant, script and country' ],
+ [ 'xr-p-lze', 'Extension' ],
+ ];
}
/**
@@ -415,40 +415,40 @@ class LanguageTest extends LanguageClassesTestCase {
* http://www.bortzmeyer.org/gabuzomeu-parsing-language-tags.html
*/
public static function provideMalformedLanguageTags() {
- return array(
- array( 'f', 'language too short' ),
- array( 'f-Latn', 'language too short with script' ),
- array( 'xr-lxs-qut', 'variants too short' ), # extlangS
- array( 'fr-Latn-F', 'region too short' ),
- array( 'a-value', 'language too short with region' ),
- array( 'tlh-a-b-foo', 'valid three-letter with wrong variant' ),
- array(
+ return [
+ [ 'f', 'language too short' ],
+ [ 'f-Latn', 'language too short with script' ],
+ [ 'xr-lxs-qut', 'variants too short' ], # extlangS
+ [ 'fr-Latn-F', 'region too short' ],
+ [ 'a-value', 'language too short with region' ],
+ [ 'tlh-a-b-foo', 'valid three-letter with wrong variant' ],
+ [
'i-notexist',
'grandfathered but not registered: invalid, even if we only test well-formedness'
- ),
- array( 'abcdefghi-012345678', 'numbers too long' ),
- array( 'ab-abc-abc-abc-abc', 'invalid extensions' ),
- array( 'ab-abcd-abc', 'invalid extensions' ),
- array( 'ab-ab-abc', 'invalid extensions' ),
- array( 'ab-123-abc', 'invalid extensions' ),
- array( 'a-Hant-ZH', 'short language with valid extensions' ),
- array( 'a1-Hant-ZH', 'invalid character in language' ),
- array( 'ab-abcde-abc', 'invalid extensions' ),
- array( 'ab-1abc-abc', 'invalid characters in extensions' ),
- array( 'ab-ab-abcd', 'invalid order of extensions' ),
- array( 'ab-123-abcd', 'invalid order of extensions' ),
- array( 'ab-abcde-abcd', 'invalid extensions' ),
- array( 'ab-1abc-abcd', 'invalid characters in extensions' ),
- array( 'ab-a-b', 'extensions too short' ),
- array( 'ab-a-x', 'extensions too short, even with singleton' ),
- array( 'ab--ab', 'two separators' ),
- array( 'ab-abc-', 'separator in the end' ),
- array( '-ab-abc', 'separator in the beginning' ),
- array( 'abcd-efg', 'language too long' ),
- array( 'aabbccddE', 'tag too long' ),
- array( 'pa_guru', 'A tag with underscore is invalid in strict mode' ),
- array( 'de-f', 'subtag too short' ),
- );
+ ],
+ [ 'abcdefghi-012345678', 'numbers too long' ],
+ [ 'ab-abc-abc-abc-abc', 'invalid extensions' ],
+ [ 'ab-abcd-abc', 'invalid extensions' ],
+ [ 'ab-ab-abc', 'invalid extensions' ],
+ [ 'ab-123-abc', 'invalid extensions' ],
+ [ 'a-Hant-ZH', 'short language with valid extensions' ],
+ [ 'a1-Hant-ZH', 'invalid character in language' ],
+ [ 'ab-abcde-abc', 'invalid extensions' ],
+ [ 'ab-1abc-abc', 'invalid characters in extensions' ],
+ [ 'ab-ab-abcd', 'invalid order of extensions' ],
+ [ 'ab-123-abcd', 'invalid order of extensions' ],
+ [ 'ab-abcde-abcd', 'invalid extensions' ],
+ [ 'ab-1abc-abcd', 'invalid characters in extensions' ],
+ [ 'ab-a-b', 'extensions too short' ],
+ [ 'ab-a-x', 'extensions too short, even with singleton' ],
+ [ 'ab--ab', 'two separators' ],
+ [ 'ab-abc-', 'separator in the end' ],
+ [ '-ab-abc', 'separator in the beginning' ],
+ [ 'abcd-efg', 'language too long' ],
+ [ 'aabbccddE', 'tag too long' ],
+ [ 'pa_guru', 'A tag with underscore is invalid in strict mode' ],
+ [ 'de-f', 'subtag too short' ],
+ ];
}
/**
@@ -475,15 +475,15 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideLanguageCodes() {
- return array(
- array( 'fr', true, 'Two letters, minor case' ),
- array( 'EN', false, 'Two letters, upper case' ),
- array( 'tyv', true, 'Three letters' ),
- array( 'tokipona', true, 'long language code' ),
- array( 'be-tarask', true, 'With dash' ),
- array( 'be-x-old', true, 'With extension (two dashes)' ),
- array( 'be_tarask', false, 'Reject underscores' ),
- );
+ return [
+ [ 'fr', true, 'Two letters, minor case' ],
+ [ 'EN', false, 'Two letters, upper case' ],
+ [ 'tyv', true, 'Three letters' ],
+ [ 'tokipona', true, 'long language code' ],
+ [ 'be-tarask', true, 'With dash' ],
+ [ 'be-x-old', true, 'With extension (two dashes)' ],
+ [ 'be_tarask', false, 'Reject underscores' ],
+ ];
}
/**
@@ -499,11 +499,11 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideKnownLanguageTags() {
- return array(
- array( 'fr', 'simple code' ),
- array( 'bat-smg', 'an MW legacy tag' ),
- array( 'sgs', 'an internal standard MW name, for which a legacy tag is used externally' ),
- );
+ return [
+ [ 'fr', 'simple code' ],
+ [ 'bat-smg', 'an MW legacy tag' ],
+ [ 'sgs', 'an internal standard MW name, for which a legacy tag is used externally' ],
+ ];
}
/**
@@ -535,10 +535,10 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideUnknownLanguageTags() {
- return array(
- array( 'mw', 'non-existent two-letter code' ),
- array( 'foo"assertEquals(
$expected,
$this->getLang()->formatDuration( $duration, $intervals ),
@@ -1172,128 +1172,128 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideFormatDuration() {
- return array(
- array(
+ return [
+ [
0,
'0 seconds',
- ),
- array(
+ ],
+ [
1,
'1 second',
- ),
- array(
+ ],
+ [
2,
'2 seconds',
- ),
- array(
+ ],
+ [
60,
'1 minute',
- ),
- array(
+ ],
+ [
2 * 60,
'2 minutes',
- ),
- array(
+ ],
+ [
3600,
'1 hour',
- ),
- array(
+ ],
+ [
2 * 3600,
'2 hours',
- ),
- array(
+ ],
+ [
24 * 3600,
'1 day',
- ),
- array(
+ ],
+ [
2 * 86400,
'2 days',
- ),
- array(
+ ],
+ [
// ( 365 + ( 24 * 3 + 25 ) / 400 ) * 86400 = 31556952
( 365 + ( 24 * 3 + 25 ) / 400.0 ) * 86400,
'1 year',
- ),
- array(
+ ],
+ [
2 * 31556952,
'2 years',
- ),
- array(
+ ],
+ [
10 * 31556952,
'1 decade',
- ),
- array(
+ ],
+ [
20 * 31556952,
'2 decades',
- ),
- array(
+ ],
+ [
100 * 31556952,
'1 century',
- ),
- array(
+ ],
+ [
200 * 31556952,
'2 centuries',
- ),
- array(
+ ],
+ [
1000 * 31556952,
'1 millennium',
- ),
- array(
+ ],
+ [
2000 * 31556952,
'2 millennia',
- ),
- array(
+ ],
+ [
9001,
'2 hours, 30 minutes and 1 second'
- ),
- array(
+ ],
+ [
3601,
'1 hour and 1 second'
- ),
- array(
+ ],
+ [
31556952 + 2 * 86400 + 9000,
'1 year, 2 days, 2 hours and 30 minutes'
- ),
- array(
+ ],
+ [
42 * 1000 * 31556952 + 42,
'42 millennia and 42 seconds'
- ),
- array(
+ ],
+ [
60,
'60 seconds',
- array( 'seconds' ),
- ),
- array(
+ [ 'seconds' ],
+ ],
+ [
61,
'61 seconds',
- array( 'seconds' ),
- ),
- array(
+ [ 'seconds' ],
+ ],
+ [
1,
'1 second',
- array( 'seconds' ),
- ),
- array(
+ [ 'seconds' ],
+ ],
+ [
31556952 + 2 * 86400 + 9000,
'1 year, 2 days and 150 minutes',
- array( 'years', 'days', 'minutes' ),
- ),
- array(
+ [ 'years', 'days', 'minutes' ],
+ ],
+ [
42,
'0 days',
- array( 'years', 'days' ),
- ),
- array(
+ [ 'years', 'days' ],
+ ],
+ [
31556952 + 2 * 86400 + 9000,
'1 year, 2 days and 150 minutes',
- array( 'minutes', 'days', 'years' ),
- ),
- array(
+ [ 'minutes', 'days', 'years' ],
+ ],
+ [
42,
'0 days',
- array( 'days', 'years' ),
- ),
- );
+ [ 'days', 'years' ],
+ ],
+ ];
}
/**
@@ -1310,19 +1310,19 @@ class LanguageTest extends LanguageClassesTestCase {
public static function provideCheckTitleEncodingData() {
// @codingStandardsIgnoreStart Ignore Generic.Files.LineLength.TooLong
- return array(
- array( "" ),
- array( "United States of America" ), // 7bit ASCII
- array( rawurldecode( "S%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e" ) ),
- array(
+ return [
+ [ "" ],
+ [ "United States of America" ], // 7bit ASCII
+ [ rawurldecode( "S%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e" ) ],
+ [
rawurldecode(
"Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn"
)
- ),
+ ],
// The following two data sets come from bug 36839. They fail if checkTitleEncoding uses a regexp to test for
// valid UTF-8 encoding and the pcre.recursion_limit is low (like, say, 1024). They succeed if checkTitleEncoding
// uses mb_check_encoding for its test.
- array(
+ [
rawurldecode(
"Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn%7C"
. "Catherine%20Willows%7CDavid%20Hodges%7CDavid%20Phillips%7CGil%20Grissom%7CGreg%20Sanders%7CHodges%7C"
@@ -1339,8 +1339,8 @@ class LanguageTest extends LanguageClassesTestCase {
. "Sara%20Sidle%7CSofia%20Curtis%7CS%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e%7CWallace%20Langham%7C"
. "Warrick%20Brown%7CWendy%20Simms%7C%C3%89tats-Unis"
),
- ),
- array(
+ ],
+ [
rawurldecode(
"Mod%C3%A8le%3AArrondissements%20homonymes%7CMod%C3%A8le%3ABandeau%20standard%20pour%20page%20d'homonymie%7C"
. "Mod%C3%A8le%3ABatailles%20homonymes%7CMod%C3%A8le%3ACantons%20homonymes%7C"
@@ -1358,8 +1358,8 @@ class LanguageTest extends LanguageClassesTestCase {
. "Mod%C3%A8le%3ATitres%20homonymes%7CMod%C3%A8le%3AToponymie%7CMod%C3%A8le%3AUnit%C3%A9s%20homonymes%7C"
. "Mod%C3%A8le%3AVilles%20homonymes%7CMod%C3%A8le%3A%C3%89difices%20religieux%20homonymes"
)
- )
- );
+ ]
+ ];
// @codingStandardsIgnoreEnd
}
@@ -1376,50 +1376,50 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideRomanNumeralsData() {
- return array(
- array( 1, 'I' ),
- array( 2, 'II' ),
- array( 3, 'III' ),
- array( 4, 'IV' ),
- array( 5, 'V' ),
- array( 6, 'VI' ),
- array( 7, 'VII' ),
- array( 8, 'VIII' ),
- array( 9, 'IX' ),
- array( 10, 'X' ),
- array( 20, 'XX' ),
- array( 30, 'XXX' ),
- array( 40, 'XL' ),
- array( 49, 'XLIX' ),
- array( 50, 'L' ),
- array( 60, 'LX' ),
- array( 70, 'LXX' ),
- array( 80, 'LXXX' ),
- array( 90, 'XC' ),
- array( 99, 'XCIX' ),
- array( 100, 'C' ),
- array( 200, 'CC' ),
- array( 300, 'CCC' ),
- array( 400, 'CD' ),
- array( 500, 'D' ),
- array( 600, 'DC' ),
- array( 700, 'DCC' ),
- array( 800, 'DCCC' ),
- array( 900, 'CM' ),
- array( 999, 'CMXCIX' ),
- array( 1000, 'M' ),
- array( 1989, 'MCMLXXXIX' ),
- array( 2000, 'MM' ),
- array( 3000, 'MMM' ),
- array( 4000, 'MMMM' ),
- array( 5000, 'MMMMM' ),
- array( 6000, 'MMMMMM' ),
- array( 7000, 'MMMMMMM' ),
- array( 8000, 'MMMMMMMM' ),
- array( 9000, 'MMMMMMMMM' ),
- array( 9999, 'MMMMMMMMMCMXCIX' ),
- array( 10000, 'MMMMMMMMMM' ),
- );
+ return [
+ [ 1, 'I' ],
+ [ 2, 'II' ],
+ [ 3, 'III' ],
+ [ 4, 'IV' ],
+ [ 5, 'V' ],
+ [ 6, 'VI' ],
+ [ 7, 'VII' ],
+ [ 8, 'VIII' ],
+ [ 9, 'IX' ],
+ [ 10, 'X' ],
+ [ 20, 'XX' ],
+ [ 30, 'XXX' ],
+ [ 40, 'XL' ],
+ [ 49, 'XLIX' ],
+ [ 50, 'L' ],
+ [ 60, 'LX' ],
+ [ 70, 'LXX' ],
+ [ 80, 'LXXX' ],
+ [ 90, 'XC' ],
+ [ 99, 'XCIX' ],
+ [ 100, 'C' ],
+ [ 200, 'CC' ],
+ [ 300, 'CCC' ],
+ [ 400, 'CD' ],
+ [ 500, 'D' ],
+ [ 600, 'DC' ],
+ [ 700, 'DCC' ],
+ [ 800, 'DCCC' ],
+ [ 900, 'CM' ],
+ [ 999, 'CMXCIX' ],
+ [ 1000, 'M' ],
+ [ 1989, 'MCMLXXXIX' ],
+ [ 2000, 'MM' ],
+ [ 3000, 'MMM' ],
+ [ 4000, 'MMMM' ],
+ [ 5000, 'MMMMM' ],
+ [ 6000, 'MMMMMM' ],
+ [ 7000, 'MMMMMMM' ],
+ [ 8000, 'MMMMMMMM' ],
+ [ 9000, 'MMMMMMMMM' ],
+ [ 9999, 'MMMMMMMMMCMXCIX' ],
+ [ 10000, 'MMMMMMMMMM' ],
+ ];
}
/**
@@ -1435,62 +1435,62 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideHebrewNumeralsData() {
- return array(
- array( -1, -1 ),
- array( 0, 0 ),
- array( 1, "×'" ),
- array( 2, "×'" ),
- array( 3, "×'" ),
- array( 4, "×'" ),
- array( 5, "×'" ),
- array( 6, "×'" ),
- array( 7, "×'" ),
- array( 8, "×'" ),
- array( 9, "×'" ),
- array( 10, "×'" ),
- array( 11, '×"×' ),
- array( 14, '×"×' ),
- array( 15, '×"×' ),
- array( 16, '×"×' ),
- array( 17, '×"×' ),
- array( 20, "×'" ),
- array( 21, '×"×' ),
- array( 30, "×'" ),
- array( 40, "×'" ),
- array( 50, "× '" ),
- array( 60, "ס'" ),
- array( 70, "×¢'" ),
- array( 80, "פ'" ),
- array( 90, "צ'" ),
- array( 99, 'צ"×' ),
- array( 100, "ק'" ),
- array( 101, 'ק"×' ),
- array( 110, 'ק"×' ),
- array( 200, "ר'" ),
- array( 300, "ש'" ),
- array( 400, "ת'" ),
- array( 500, 'ת"ק' ),
- array( 800, 'ת"ת' ),
- array( 1000, "×' ×××£" ),
- array( 1001, "×'×'" ),
- array( 1012, "×'×\"×" ),
- array( 1020, "×'×'" ),
- array( 1030, "×'×'" ),
- array( 1081, "×'פ\"×" ),
- array( 2000, "×' ××פ××" ),
- array( 2016, "×'×\"×" ),
- array( 3000, "×' ××פ××" ),
- array( 4000, "×' ××פ××" ),
- array( 4904, "×'תתק\"×" ),
- array( 5000, "×' ××פ××" ),
- array( 5680, "×'תר\"×£" ),
- array( 5690, "×'תר\"×¥" ),
- array( 5708, "×'תש\"×" ),
- array( 5720, "×'תש\"×" ),
- array( 5740, "×'תש\"×" ),
- array( 5750, "×'תש\"×" ),
- array( 5775, "×'תשע\"×" ),
- );
+ return [
+ [ -1, -1 ],
+ [ 0, 0 ],
+ [ 1, "×'" ],
+ [ 2, "×'" ],
+ [ 3, "×'" ],
+ [ 4, "×'" ],
+ [ 5, "×'" ],
+ [ 6, "×'" ],
+ [ 7, "×'" ],
+ [ 8, "×'" ],
+ [ 9, "×'" ],
+ [ 10, "×'" ],
+ [ 11, '×"×' ],
+ [ 14, '×"×' ],
+ [ 15, '×"×' ],
+ [ 16, '×"×' ],
+ [ 17, '×"×' ],
+ [ 20, "×'" ],
+ [ 21, '×"×' ],
+ [ 30, "×'" ],
+ [ 40, "×'" ],
+ [ 50, "× '" ],
+ [ 60, "ס'" ],
+ [ 70, "×¢'" ],
+ [ 80, "פ'" ],
+ [ 90, "צ'" ],
+ [ 99, 'צ"×' ],
+ [ 100, "ק'" ],
+ [ 101, 'ק"×' ],
+ [ 110, 'ק"×' ],
+ [ 200, "ר'" ],
+ [ 300, "ש'" ],
+ [ 400, "ת'" ],
+ [ 500, 'ת"ק' ],
+ [ 800, 'ת"ת' ],
+ [ 1000, "×' ×××£" ],
+ [ 1001, "×'×'" ],
+ [ 1012, "×'×\"×" ],
+ [ 1020, "×'×'" ],
+ [ 1030, "×'×'" ],
+ [ 1081, "×'פ\"×" ],
+ [ 2000, "×' ××פ××" ],
+ [ 2016, "×'×\"×" ],
+ [ 3000, "×' ××פ××" ],
+ [ 4000, "×' ××פ××" ],
+ [ 4904, "×'תתק\"×" ],
+ [ 5000, "×' ××פ××" ],
+ [ 5680, "×'תר\"×£" ],
+ [ 5690, "×'תר\"×¥" ],
+ [ 5708, "×'תש\"×" ],
+ [ 5720, "×'תש\"×" ],
+ [ 5740, "×'תש\"×" ],
+ [ 5750, "×'תש\"×" ],
+ [ 5775, "×'תשע\"×" ],
+ ];
}
/**
@@ -1504,38 +1504,38 @@ class LanguageTest extends LanguageClassesTestCase {
public static function providePluralData() {
// Params are: [expected text, number given, [the plural forms]]
- return array(
- array( 'plural', 0, array(
+ return [
+ [ 'plural', 0, [
'singular', 'plural'
- ) ),
- array( 'explicit zero', 0, array(
+ ] ],
+ [ 'explicit zero', 0, [
'0=explicit zero', 'singular', 'plural'
- ) ),
- array( 'explicit one', 1, array(
+ ] ],
+ [ 'explicit one', 1, [
'singular', 'plural', '1=explicit one',
- ) ),
- array( 'singular', 1, array(
+ ] ],
+ [ 'singular', 1, [
'singular', 'plural', '0=explicit zero',
- ) ),
- array( 'plural', 3, array(
+ ] ],
+ [ 'plural', 3, [
'0=explicit zero', '1=explicit one', 'singular', 'plural'
- ) ),
- array( 'explicit eleven', 11, array(
+ ] ],
+ [ 'explicit eleven', 11, [
'singular', 'plural', '11=explicit eleven',
- ) ),
- array( 'plural', 12, array(
+ ] ],
+ [ 'plural', 12, [
'singular', 'plural', '11=explicit twelve',
- ) ),
- array( 'plural', 12, array(
+ ] ],
+ [ 'plural', 12, [
'singular', 'plural', '=explicit form',
- ) ),
- array( 'other', 2, array(
+ ] ],
+ [ 'other', 2, [
'kissa=kala', '1=2=3', 'other',
- ) ),
- array( '', 2, array(
+ ] ],
+ [ '', 2, [
'0=explicit zero', '1=explicit one',
- ) ),
- );
+ ] ],
+ ];
}
/**
@@ -1579,24 +1579,24 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideTranslateBlockExpiry() {
- return array(
- array( '2 hours', '2 hours', 'simple data from ipboptions' ),
- array( 'indefinite', 'infinite', 'infinite from ipboptions' ),
- array( 'indefinite', 'infinity', 'alternative infinite from ipboptions' ),
- array( 'indefinite', 'indefinite', 'another alternative infinite from ipboptions' ),
- array( array( 'formatDuration', 1023 * 60 * 60 ), '1023 hours', 'relative' ),
- array( array( 'formatDuration', -1023 ), '-1023 seconds', 'negative relative' ),
- array( array( 'formatDuration', 0 ), 'now', 'now' ),
- array(
- array( 'timeanddate', '20120102070000' ),
+ return [
+ [ '2 hours', '2 hours', 'simple data from ipboptions' ],
+ [ 'indefinite', 'infinite', 'infinite from ipboptions' ],
+ [ 'indefinite', 'infinity', 'alternative infinite from ipboptions' ],
+ [ 'indefinite', 'indefinite', 'another alternative infinite from ipboptions' ],
+ [ [ 'formatDuration', 1023 * 60 * 60 ], '1023 hours', 'relative' ],
+ [ [ 'formatDuration', -1023 ], '-1023 seconds', 'negative relative' ],
+ [ [ 'formatDuration', 0 ], 'now', 'now' ],
+ [
+ [ 'timeanddate', '20120102070000' ],
'2012-1-1 7:00 +1 day',
'mixed, handled as absolute'
- ),
- array( array( 'timeanddate', '19910203040506' ), '1991-2-3 4:05:06', 'absolute' ),
- array( array( 'timeanddate', '19700101000000' ), '1970-1-1 0:00:00', 'absolute at epoch' ),
- array( array( 'timeanddate', '19691231235959' ), '1969-12-31 23:59:59', 'time before epoch' ),
- array( 'dummy', 'dummy', 'return garbage as is' ),
- );
+ ],
+ [ [ 'timeanddate', '19910203040506' ], '1991-2-3 4:05:06', 'absolute' ],
+ [ [ 'timeanddate', '19700101000000' ], '1970-1-1 0:00:00', 'absolute at epoch' ],
+ [ [ 'timeanddate', '19691231235959' ], '1969-12-31 23:59:59', 'time before epoch' ],
+ [ 'dummy', 'dummy', 'return garbage as is' ],
+ ];
}
/**
@@ -1612,14 +1612,14 @@ class LanguageTest extends LanguageClassesTestCase {
}
public function parseFormattedNumberProvider() {
- return array(
- array( 'de', 377.01 ),
- array( 'fa', 334 ),
- array( 'fa', 382.772 ),
- array( 'ar', 1844 ),
- array( 'lzh', 3731 ),
- array( 'zh-classical', 7432 )
- );
+ return [
+ [ 'de', 377.01 ],
+ [ 'fa', 334 ],
+ [ 'fa', 382.772 ],
+ [ 'ar', 1844 ],
+ [ 'lzh', 3731 ],
+ [ 'zh-classical', 7432 ]
+ ];
}
/**
@@ -1635,25 +1635,25 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideCommafyData() {
- return array(
- array( -1, '-1' ),
- array( 10, '10' ),
- array( 100, '100' ),
- array( 1000, '1,000' ),
- array( 10000, '10,000' ),
- array( 100000, '100,000' ),
- array( 1000000, '1,000,000' ),
- array( -1.0001, '-1.0001' ),
- array( 1.0001, '1.0001' ),
- array( 10.0001, '10.0001' ),
- array( 100.0001, '100.0001' ),
- array( 1000.0001, '1,000.0001' ),
- array( 10000.0001, '10,000.0001' ),
- array( 100000.0001, '100,000.0001' ),
- array( 1000000.0001, '1,000,000.0001' ),
- array( '200000000000000000000', '200,000,000,000,000,000,000' ),
- array( '-200000000000000000000', '-200,000,000,000,000,000,000' ),
- );
+ return [
+ [ -1, '-1' ],
+ [ 10, '10' ],
+ [ 100, '100' ],
+ [ 1000, '1,000' ],
+ [ 10000, '10,000' ],
+ [ 100000, '100,000' ],
+ [ 1000000, '1,000,000' ],
+ [ -1.0001, '-1.0001' ],
+ [ 1.0001, '1.0001' ],
+ [ 10.0001, '10.0001' ],
+ [ 100.0001, '100.0001' ],
+ [ 1000.0001, '1,000.0001' ],
+ [ 10000.0001, '10,000.0001' ],
+ [ 100000.0001, '100,000.0001' ],
+ [ 1000000.0001, '1,000,000.0001' ],
+ [ '200000000000000000000', '200,000,000,000,000,000,000' ],
+ [ '-200000000000000000000', '-200,000,000,000,000,000,000' ],
+ ];
}
/**
@@ -1665,11 +1665,11 @@ class LanguageTest extends LanguageClassesTestCase {
$s = $lang->getMessageFromDB( 'word-separator' );
$c = $lang->getMessageFromDB( 'comma-separator' );
- $this->assertEquals( '', $lang->listToText( array() ) );
- $this->assertEquals( 'a', $lang->listToText( array( 'a' ) ) );
- $this->assertEquals( "a{$and}{$s}b", $lang->listToText( array( 'a', 'b' ) ) );
- $this->assertEquals( "a{$c}b{$and}{$s}c", $lang->listToText( array( 'a', 'b', 'c' ) ) );
- $this->assertEquals( "a{$c}b{$c}c{$and}{$s}d", $lang->listToText( array( 'a', 'b', 'c', 'd' ) ) );
+ $this->assertEquals( '', $lang->listToText( [] ) );
+ $this->assertEquals( 'a', $lang->listToText( [ 'a' ] ) );
+ $this->assertEquals( "a{$and}{$s}b", $lang->listToText( [ 'a', 'b' ] ) );
+ $this->assertEquals( "a{$c}b{$and}{$s}c", $lang->listToText( [ 'a', 'b', 'c' ] ) );
+ $this->assertEquals( "a{$c}b{$c}c{$and}{$s}d", $lang->listToText( [ 'a', 'b', 'c', 'd' ] ) );
}
/**
@@ -1681,12 +1681,12 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideIsSupportedLanguage() {
- return array(
- array( 'en', true, 'is supported language' ),
- array( 'fi', true, 'is supported language' ),
- array( 'bunny', false, 'is not supported language' ),
- array( 'FI', false, 'is not supported language, input should be in lower case' ),
- );
+ return [
+ [ 'en', true, 'is supported language' ],
+ [ 'fi', true, 'is supported language' ],
+ [ 'bunny', false, 'is not supported language' ],
+ [ 'FI', false, 'is not supported language, input should be in lower case' ],
+ ];
}
/**
@@ -1703,15 +1703,15 @@ class LanguageTest extends LanguageClassesTestCase {
}
public static function provideGetParentLanguage() {
- return array(
- array( 'zh-cn', 'zh', 'zh is the parent language of zh-cn' ),
- array( 'zh', 'zh', 'zh is defined as the parent language of zh, '
- . 'because zh converter can convert zh-cn to zh' ),
- array( 'zh-invalid', null, 'do not be fooled by arbitrarily composed language codes' ),
- array( 'en-gb', null, 'en does not have converter' ),
- array( 'en', null, 'en does not have converter. Although FakeConverter '
- . 'handles en -> en conversion but it is useless' ),
- );
+ return [
+ [ 'zh-cn', 'zh', 'zh is the parent language of zh-cn' ],
+ [ 'zh', 'zh', 'zh is defined as the parent language of zh, '
+ . 'because zh converter can convert zh-cn to zh' ],
+ [ 'zh-invalid', null, 'do not be fooled by arbitrarily composed language codes' ],
+ [ 'en-gb', null, 'en does not have converter' ],
+ [ 'en', null, 'en does not have converter. Although FakeConverter '
+ . 'handles en -> en conversion but it is useless' ],
+ ];
}
/**
@@ -1728,14 +1728,27 @@ class LanguageTest extends LanguageClassesTestCase {
public static function provideGetNamespaceAliases() {
// TODO: Add tests for NS_PROJECT_TALK and GenderNamespaces
- return array(
- array(
+ return [
+ [
'zh',
- array(
+ [
'æ件' => NS_FILE,
'æªæ¡' => NS_FILE,
- ),
- ),
- );
+ ],
+ ],
+ ];
+ }
+
+ public function testEquals() {
+ $en1 = new Language();
+ $en1->setCode( 'en' );
+
+ $en2 = Language::factory( 'en' );
+ $en2->setCode( 'en' );
+
+ $this->assertTrue( $en1->equals( $en2 ), 'en equals en' );
+
+ $fr = Language::factory( 'fr' );
+ $this->assertFalse( $en1->equals( $fr ), 'en not equals fr' );
}
}