From bb00feb2330269c4eaaaa3544c5f597e297098b6 Mon Sep 17 00:00:00 2001 From: Mingye Wang Date: Mon, 15 Apr 2019 10:08:27 -0400 Subject: [PATCH 1/1] Add handler for Language::findVariantLink() I am not sure about the tests as it is supposed to return without doing anything to $link in the dummy implementation. There could be a point in reusing the $nt for something, but I can't think about an interface in the title library for it yet. Bug: T49725 --- includes/engines/LuaCommon/LanguageLibrary.php | 16 +++++++++++++++- .../engines/LuaCommon/lualib/mw.language.lua | 4 ++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/includes/engines/LuaCommon/LanguageLibrary.php b/includes/engines/LuaCommon/LanguageLibrary.php index 54d7bfa..accf527 100644 --- a/includes/engines/LuaCommon/LanguageLibrary.php +++ b/includes/engines/LuaCommon/LanguageLibrary.php @@ -19,6 +19,7 @@ class Scribunto_LuaLanguageLibrary extends Scribunto_LuaLibraryBase { 'isValidBuiltInCode', 'fetchLanguageName', 'fetchLanguageNames', + 'findVariantLink', 'getFallbacksFor', ]; $methods = [ @@ -137,7 +138,20 @@ class Scribunto_LuaLanguageLibrary extends Scribunto_LuaLibraryBase { } /** - * Handler for fetchLanguageNames + * Handler for findVariantLink + * @internal + * @param string $link + * @return string + */ + public function findVariantLink( $link ) { + $this->checkType( 'findVariantLink', 1, $link, 'string' ); + $nt = Title::newFromText( $link ); + Language::findVariantLink( $link, $nt, true ); + return $link; + } + + /** + * Handler for getFallbacksFor * @internal * @param string $code * @return string[][] diff --git a/includes/engines/LuaCommon/lualib/mw.language.lua b/includes/engines/LuaCommon/lualib/mw.language.lua index edd7110..c0a45aa 100644 --- a/includes/engines/LuaCommon/lualib/mw.language.lua +++ b/includes/engines/LuaCommon/lualib/mw.language.lua @@ -55,6 +55,10 @@ function language.fetchLanguageNames( inLanguage, include ) return php.fetchLanguageNames( inLanguage, include ) end +function language.findVariantLink( link ) + return php.findVariantLink( link ) +end + function language.getFallbacksFor( code ) return php.getFallbacksFor( code ) end -- 2.20.1.windows.1