X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fcache%2FLocalisationCacheTest.php;h=4dd819a61b86ad3075ed70ef566732187dba4121;hp=ecdfae4614f27575e61d1f98edba4092fa4679fb;hb=e3537bdc00244cefdaa34710be0fb0d920336ed8;hpb=ab9436fb9a20b5a335574e36fdd476becabe2dd1 diff --git a/tests/phpunit/includes/cache/LocalisationCacheTest.php b/tests/phpunit/includes/cache/LocalisationCacheTest.php index ecdfae4614..4dd819a61b 100644 --- a/tests/phpunit/includes/cache/LocalisationCacheTest.php +++ b/tests/phpunit/includes/cache/LocalisationCacheTest.php @@ -1,6 +1,7 @@ createMock( LanguageNameUtils::class ); + $mockLangNameUtils->method( 'isValidBuiltInCode' )->will( $this->returnCallback( + function ( $code ) { + // Copy-paste, but it's only one line + return (bool)preg_match( '/^[a-z0-9-]{2,}$/', $code ); + } + ) ); + $mockLangNameUtils->method( 'isSupportedLanguage' )->will( $this->returnCallback( + function ( $code ) { + return in_array( $code, [ + 'ar', + 'arz', + 'ba', + 'de', + 'en', + 'ksh', + 'ru', + ] ); + } + ) ); + $mockLangNameUtils->method( 'getMessagesFileName' )->will( $this->returnCallback( + function ( $code ) { + global $IP; + $code = str_replace( '-', '_', ucfirst( $code ) ); + return "$IP/languages/messages/Messages$code.php"; + } + ) ); + $mockLangNameUtils->expects( $this->never() )->method( $this->anythingBut( + 'isValidBuiltInCode', 'isSupportedLanguage', 'getMessagesFileName' + ) ); + $lc = $this->getMockBuilder( LocalisationCache::class ) ->setConstructorArgs( [ - new ServiceOptions( LocalisationCache::$constructorOptions, [ + new ServiceOptions( LocalisationCache::CONSTRUCTOR_OPTIONS, [ 'forceRecache' => false, 'manualRecache' => false, 'ExtensionMessagesFiles' => [], 'MessagesDirs' => [], ] ), new LCStoreDB( [] ), - new NullLogger + new NullLogger, + [], + $mockLangNameUtils ] ) ->setMethods( [ 'getMessagesDirs' ] ) ->getMock();