X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fcache%2FMessageCacheTest.php;h=bd744c01ca6da33a45942450d0a9ab2579039b54;hb=6ff1a938e4f59647872987a491f8cb017636bc5f;hp=9c59e659f905b2e3c85f5b0b38d2db8f43b93760;hpb=e19a52f2f5376b08c303d31bdcfec56da560f2b0;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/cache/MessageCacheTest.php b/tests/phpunit/includes/cache/MessageCacheTest.php index 9c59e659f9..bd744c01ca 100644 --- a/tests/phpunit/includes/cache/MessageCacheTest.php +++ b/tests/phpunit/includes/cache/MessageCacheTest.php @@ -19,17 +19,11 @@ class MessageCacheTest extends MediaWikiLangTestCase { protected function configureLanguages() { // for the test, we need the content language to be anything but English, // let's choose e.g. German (de) - $langCode = 'de'; - $langObj = Language::factory( $langCode ); - - $this->setMwGlobals( array( - 'wgLanguageCode' => $langCode, - 'wgLang' => $langObj, - 'wgContLang' => $langObj, - ) ); + $this->setUserLang( 'de' ); + $this->setContentLang( 'de' ); } - function addDBData() { + function addDBDataOnce() { $this->configureLanguages(); // Set up messages and fallbacks ab -> ru -> de @@ -89,20 +83,20 @@ class MessageCacheTest extends MediaWikiLangTestCase { } function provideMessagesForFallback() { - return array( - array( 'FallbackLanguageTest-Full', 'ab', 'ab' ), - array( 'FallbackLanguageTest-Partial', 'ab', 'ru' ), - array( 'FallbackLanguageTest-ContLang', 'ab', 'de' ), - array( 'FallbackLanguageTest-None', 'ab', false ), + return [ + [ 'FallbackLanguageTest-Full', 'ab', 'ab' ], + [ 'FallbackLanguageTest-Partial', 'ab', 'ru' ], + [ 'FallbackLanguageTest-ContLang', 'ab', 'de' ], + [ 'FallbackLanguageTest-None', 'ab', false ], // Existing message with customizations on the fallbacks - array( 'sunday', 'ab', 'амҽыш' ), + [ 'sunday', 'ab', 'амҽыш' ], // bug 46579 - array( 'FallbackLanguageTest-NoDervContLang', 'de', 'de/none' ), + [ 'FallbackLanguageTest-NoDervContLang', 'de', 'de/none' ], // UI language different from content language should only use de/none as last option - array( 'FallbackLanguageTest-NoDervContLang', 'fit', 'de/none' ), - ); + [ 'FallbackLanguageTest-NoDervContLang', 'fit', 'de/none' ], + ]; } /** @@ -117,11 +111,33 @@ class MessageCacheTest extends MediaWikiLangTestCase { } function provideMessagesForFullKeys() { - return array( - array( 'MessageCacheTest-FullKeyTest/ru', 'ru', 'ru' ), - array( 'MessageCacheTest-FullKeyTest/ru', 'ab', 'ru' ), - array( 'MessageCacheTest-FullKeyTest/ru/foo', 'ru', false ), - ); + return [ + [ 'MessageCacheTest-FullKeyTest/ru', 'ru', 'ru' ], + [ 'MessageCacheTest-FullKeyTest/ru', 'ab', 'ru' ], + [ 'MessageCacheTest-FullKeyTest/ru/foo', 'ru', false ], + ]; } + /** + * @dataProvider provideNormalizeKey + */ + public function testNormalizeKey( $key, $expected ) { + $actual = MessageCache::normalizeKey( $key ); + $this->assertEquals( $expected, $actual ); + } + + public function provideNormalizeKey() { + return [ + [ 'Foo', 'foo' ], + [ 'foo', 'foo' ], + [ 'fOo', 'fOo' ], + [ 'FOO', 'fOO' ], + [ 'Foo bar', 'foo_bar' ], + [ 'Ćab', 'ćab' ], + [ 'Ćab_e 3', 'ćab_e_3' ], + [ 'ĆAB', 'ćAB' ], + [ 'ćab', 'ćab' ], + [ 'ćaB', 'ćaB' ], + ]; + } }