Module:LC zh/testcases
![]() | This is the test suite for the module Module:LC zh. Results of the test cases. |
![]() | Uses Lua: |
All tests passed.
test_main:
Text | Expected | Actual | |
---|---|---|---|
![]() |
{{#invoke:LC zh|main}} | An error | Caught expected error: Lua error: Unknown content type code "nil". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}}} | An error | Caught expected error: Lua error: Unknown content type code "nil". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = N}} | An error | Caught expected error: Lua error: Missing parameter "ns". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = N|ns = }} | ||
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = N|ns = User}} | User | User |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = N|ns = Help}} | Help | Help |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T}} | An error | Caught expected error: Lua error: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T|ns = User}} | An error | Caught expected error: Lua error in Module:LC_zh at line 579: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T|ns = User|zh-hans = Example|zh-hant = Example}} | User:Example | User:Example |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T|ns = Help|zh-hans = 示例|zh-hant = 範例}} | Help:示例 | Help:示例 |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T|ns = Help|zh-hant = 範例}} | Help:範例 | Help:範例 |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T|hide_ns = 1|ns = Help}} | An error | Caught expected error: Lua error: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = T|hide_ns = 1|ns = Help|zh-hans = 示例|zh-hant = 範例}} | 示例 | 示例 |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = H}} | An error | Caught expected error: Lua error in Module:LC_zh at line 608: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = H|zh-hans = 用户|zh-hant = 使用者|zh-hk = 用戶}} | 用户 | 用户 |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type = C}} | An error | Caught expected error: Lua error: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{#invoke:LC zh|main|lang = {{{lang|}}}|type=C|zh-hans=示例|zh-hant=範例}} | 示例 | 示例 |
test_template:
Text | Expected | Actual | |
---|---|---|---|
![]() |
{{LC zh}} | An error | Caught expected error: Lua error: Unknown content type code "nil". |
![]() |
{{LC zh|lang = {{{lang|}}}}} | An error | Caught expected error: Lua error: Unknown content type code "nil". |
![]() |
{{LC zh|lang = {{{lang|}}}|type = N}} | An error | Caught expected error: Lua error: Missing parameter "ns". |
![]() |
{{LC zh|lang = {{{lang|}}}|type = N|ns = }} | ||
![]() |
{{LC zh|lang = {{{lang|}}}|type = N|ns = User}} | User | User |
![]() |
{{LC zh|lang = {{{lang|}}}|type = N|ns = Help}} | Help | Help |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T}} | An error | Caught expected error: Lua error: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T|ns = User}} | An error | Caught expected error: Lua error in Module:LC_zh at line 579: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T|ns = User|zh-hans = Example|zh-hant = Example}} | User:Example | User:Example |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T|ns = Help|zh-hans = 示例|zh-hant = 範例}} | Help:示例 | Help:示例 |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T|ns = Help|zh-hant = 範例}} | Help:範例 | Help:範例 |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T|hide_ns = 1|ns = Help}} | An error | Caught expected error: Lua error: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{LC zh|lang = {{{lang|}}}|type = T|hide_ns = 1|ns = Help|zh-hans = 示例|zh-hant = 範例}} | 示例 | 示例 |
![]() |
{{LC zh|lang = {{{lang|}}}|type = H}} | An error | Caught expected error: Lua error in Module:LC_zh at line 608: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{LC zh|lang = {{{lang|}}}|type = H|zh-hans = 用户|zh-hant = 使用者|zh-hk = 用戶}} | 用户 | 用户 |
![]() |
{{LC zh|lang = {{{lang|}}}|type = C}} | An error | Caught expected error: Lua error: Require at least one of the parameter: "zh-hans", "zh-hant", "zh-hk". |
![]() |
{{LC zh|lang = {{{lang|}}}|type=C|zh-hans=示例|zh-hant=範例}} | 示例 | 示例 |
test_template_localized_link:
Text | Expected | Actual | |
---|---|---|---|
![]() |
{{Localized link}} | [[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style="display:none">[[:{{{1}}}| ]]</span> | [[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style="display:none">[[:{{{1}}}| ]]</span> |
test_template_localized_link_sandbox:
Text | Expected | Actual | |
---|---|---|---|
![]() |
{{Localized link/sandbox}} | [[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style="display:none">[[:{{{1}}}| ]]</span> | [[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style="display:none">[[:{{{1}}}| ]]</span> |
--- Unit tests for [[Module:LC zh]]. Click talk page to run tests.
--
-- self:preprocess_equals( "{{#invoke:LC zh|main}}", "" )
--
-- self:preprocess_equals_many(
-- "{{#invoke:LC zh|main|", "}}",
-- {
-- { "", "" },
-- }
-- )
--
-- @var table
local p = require( [[Module:UnitTests]] )
local current_frame = mw.getCurrentFrame()
-- Title.pageLang.code is an expensive function in Scribunto, thus not using
-- pageLang.code here
--
-- @var string
local page_lang_code = current_frame:preprocess( "{{PAGELANGUAGE}}" )
-- @var string
local ui_lang_code = current_frame:callParserFunction{
name = "int", args = { "lang" }
}
-- @var string
local function lang_code_type( lang_code )
if lang_code == "zh" then
return "zh"
elseif (
lang_code == "zh-hans" or
lang_code == "zh-cn" or
lang_code == "zh-my" or
lang_code == "zh-sg"
) then
return "zh-hans"
elseif (
lang_code == "zh-hant" or
lang_code == "zh-tw"
) then
return "zh-hant"
elseif (
lang_code == "zh-hk" or
lang_code == "zh-mo"
) then
return "zh-hk"
else
return nil
end
end
-- @var string
local function ui_lang_code_type()
return lang_code_type( ui_lang_code )
end
-- @return table
local function provide_test_main()
return {
{ "lang = {{{lang|}}}", error = true },
{ "lang = {{{lang|}}}|type = N", error = true },
{ "lang = {{{lang|}}}|type = N|ns = ", "" },
{
"lang = {{{lang|}}}|type = N|ns = User",
page_lang_code == "zh" and
"-{zh:User; zh-hans:用户; zh-hant:使用者; zh-hk:用戶;}-" or
ui_lang_code_type() == "zh" and "User" or
ui_lang_code_type() == "zh-hans" and "用户" or
ui_lang_code_type() == "zh-hant" and "使用者" or
ui_lang_code_type() == "zh-hk" and "用戶" or
"User"
},
{
"lang = {{{lang|}}}|type = N|ns = Help",
page_lang_code == "zh" and
"-{zh:Help; zh-hans:帮助; zh-hant:說明;}-" or
ui_lang_code_type() == "zh" and "Help" or
ui_lang_code_type() == "zh-hans" and "帮助" or
ui_lang_code_type() == "zh-hant" and "說明" or
ui_lang_code_type() == "zh-hk" and "說明" or
"Help"
},
{ "lang = {{{lang|}}}|type = T", error = true },
{ "lang = {{{lang|}}}|type = T|ns = User", error = true },
{
"lang = {{{lang|}}}|type = T|ns = User|zh-hans = Example|zh-hant = Example",
page_lang_code == "zh" and
"-{zh:User; zh-hans:用户; zh-hant:使用者; zh-hk:用戶;}-:" ..
"-{zh-hans:Example; zh-hant:Example;}-" or
ui_lang_code_type() == "zh-hans" and "用户:Example" or
ui_lang_code_type() == "zh-hant" and "使用者:Example" or
ui_lang_code_type() == "zh-hk" and "用戶:Example" or
"User:Example"
},
{
"lang = {{{lang|}}}|type = T|ns = Help|zh-hans = 示例|zh-hant = 範例",
page_lang_code == "zh" and
"-{zh:Help; zh-hans:帮助; zh-hant:說明;}-:" ..
"-{zh-hans:示例; zh-hant:範例;}-" or
ui_lang_code_type() == "zh-hans" and "帮助:示例" or
ui_lang_code_type() == "zh-hant" and "說明:範例" or
ui_lang_code_type() == "zh-hk" and "說明:範例" or
"Help:示例"
},
{
"lang = {{{lang|}}}|type = T|ns = Help|zh-hant = 範例",
page_lang_code == "zh" and
"-{zh:Help; zh-hans:帮助; zh-hant:說明;}-:" ..
"範例" or
ui_lang_code_type() == "zh-hans" and "帮助:範例" or
ui_lang_code_type() == "zh-hant" and "說明:範例" or
ui_lang_code_type() == "zh-hk" and "說明:範例" or
"Help:範例"
},
{ "lang = {{{lang|}}}|type = T|hide_ns = 1|ns = Help", error = true },
{
"lang = {{{lang|}}}|type = T|hide_ns = 1|ns = Help|zh-hans = 示例|zh-hant = 範例",
page_lang_code == "zh" and
"-{zh-hans:示例; zh-hant:範例;}-" or
ui_lang_code_type() == "zh-hans" and "示例" or
ui_lang_code_type() == "zh-hant" and "範例" or
ui_lang_code_type() == "zh-hk" and "範例" or
"示例"
},
{ "lang = {{{lang|}}}|type = H", error = true },
{
"lang = {{{lang|}}}|type = H|zh-hans = 用户|zh-hant = 使用者|zh-hk = 用戶",
page_lang_code == "zh" and
"<span id=\"用户\"></span>" ..
"<span id=\"使用者\"></span>" ..
"<span id=\"用戶\"></span>" ..
"-{zh-hans:用户; zh-hant:使用者; zh-hk:用戶;}-" or
ui_lang_code_type() == "zh-hans" and
"<span id=\"用户\"></span>" ..
"<span id=\"使用者\"></span>" ..
"<span id=\"用戶\"></span>" ..
"用户" or
ui_lang_code_type() == "zh-hant" and
"<span id=\"用户\"></span>" ..
"<span id=\"使用者\"></span>" ..
"<span id=\"用戶\"></span>" ..
"使用者" or
ui_lang_code_type() == "zh-hk" and
"<span id=\"用户\"></span>" ..
"<span id=\"使用者\"></span>" ..
"<span id=\"用戶\"></span>" ..
"用戶" or
"<span id=\"用户\"></span>" ..
"<span id=\"使用者\"></span>" ..
"<span id=\"用戶\"></span>" ..
"用户"
},
{ "lang = {{{lang|}}}|type = C", error = true },
{
"lang = {{{lang|}}}|type=C|zh-hans=示例|zh-hant=範例",
page_lang_code == "zh" and
"-{zh-hans:示例; zh-hant:範例;}-" or
ui_lang_code_type() == "zh-hans" and "示例" or
ui_lang_code_type() == "zh-hant" and "範例" or
ui_lang_code_type() == "zh-hk" and "範例" or
"示例"
},
}
end
function p:test_main()
self:preprocess_expect_error( "{{#invoke:LC zh|main}}" )
self:preprocess_equals_many(
"{{#invoke:LC zh|main|", "}}", provide_test_main()
)
end
function p:test_template()
self:preprocess_expect_error( "{{LC zh}}" )
self:preprocess_equals_many( "{{LC zh|", "}}", provide_test_main() )
end
-- TODO
function p:test_template_localized_link()
self:preprocess_equals( "{{Localized link}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
if page_lang_code == "zh" and ui_lang_code_type() ~= nil then
if ui_lang_code_type() == "zh" then
self:preprocess_equals( "{{Localized link}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
elseif ui_lang_code_type() == "zh-hans" then
self:preprocess_equals( "{{Localized link}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
elseif ui_lang_code_type() == "zh-hant" then
self:preprocess_equals( "{{Localized link}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
elseif ui_lang_code_type() == "zh-hk" then
self:preprocess_equals( "{{Localized link}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
end
end
end
function p:test_template_localized_link_sandbox()
self:preprocess_equals( "{{Localized link/sandbox}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
if page_lang_code == "zh" and ui_lang_code_type() ~= nil then
if ui_lang_code_type() == "zh" then
self:preprocess_equals( "{{Localized link/sandbox}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
elseif ui_lang_code_type() == "zh-hans" then
self:preprocess_equals( "{{Localized link/sandbox}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
elseif ui_lang_code_type() == "zh-hant" then
self:preprocess_equals( "{{Localized link/sandbox}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
elseif ui_lang_code_type() == "zh-hk" then
self:preprocess_equals( "{{Localized link/sandbox}}", "[[Special:MyLanguage/{{{1}}}|{{{1}}}]]<span style=\"display:none\">[[:{{{1}}}| ]]</span>", { nowiki = true })
end
end
end
return p