Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Language/testcases
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- Unit tests for [[Module:Language]]. Click talk page to run tests. local p = require('Module:UnitTests') local m_Language = require('Module:Language') local name_from_tag = require('Module:Lang/sandbox')._name_from_tag function p:test_1_link() self:preprocess_equals_preprocess_many('{{#invoke:Language/sandbox|wiktlang|', '}}', '{{#invoke:Language|wiktlang|', '}}', { {"grc|δημοκρᾰτῐ́ᾱ"}, {"ha|àzàhàr̃iyyā̀"}, {"la|coëō"}, {"nci|Quetzalcōātl"}, {"ru|ру́сский язы́к"}, {"he|שלום"}, {"sh|ćá|ća" }, -- fake word with c-acute and tonal acute; add a real word if you know one }, {nowiki=1}) end local function test_patterns_get(main) local data = require('Module:Language/data/sandbox') local language_codes = {} if main then for code, values in pairs(data["languages"]) do table.insert(language_codes, {code, values.name}) end else for code, redirect_code in pairs(data["redirects"]) do local redirect_name if data["languages"][redirect_code] and data["languages"][redirect_code].name then redirect_name = data["languages"][redirect_code].name else redirect_name = name_from_tag({code}) if not redirect_name or redirect_name:find("error") then redirect_name = mw.language.fetchLanguageName(redirect_code, 'en') end end table.insert(language_codes, {code, redirect_name, redirect_code, redirect_name}) end end local function comp(a, b) return a[1] < b[1] end table.sort(language_codes, comp) return language_codes end function p:test_2_link() local wiktionary_test_patterns = test_patterns_get(true) local name_from_tag = require('Module:Lang')._name_from_tag local full_test_patterns = {} for i = 1, #wiktionary_test_patterns do local code = wiktionary_test_patterns[i][1] table.insert(full_test_patterns, {code .. "|test", code .. "|test"}) end self:preprocess_equals_preprocess_many('{{#invoke:Language/sandbox|wiktlang|', '}}', '{{#invoke:Language|wiktlang|no_cat=yes|', '}}', full_test_patterns, {nowiki=1}) end function p:test_3_link_redirects() local wiktionary_test_patterns = test_patterns_get(false) local name_from_tag = require('Module:Lang')._name_from_tag local full_test_patterns = {} for i = 1, #wiktionary_test_patterns do local code = wiktionary_test_patterns[i][1] table.insert(full_test_patterns, {code .. "|test", code .. "|test"}) end self:preprocess_equals_preprocess_many('{{#invoke:Language/sandbox|wiktlang|', '}}', '{{#invoke:Language|wiktlang|no_cat=yes|', '}}', full_test_patterns, {nowiki=1}) end function p:test_4_compare_language_names() local wiktionary_test_patterns = test_patterns_get(true) local name_from_tag = require('Module:Lang')._name_from_tag local full_test_patterns = {} for i = 1, #wiktionary_test_patterns do local code = wiktionary_test_patterns[i][1] local en_wiki_name = name_from_tag({code}) local wiktionary_name = wiktionary_test_patterns[i][2] if wiktionary_name then table.insert(full_test_patterns, {code .. ': ' .. wiktionary_name, code .. ': ' .. en_wiki_name}) end end self:preprocess_equals_many('', '', full_test_patterns, {nowiki=1}) end function p:test_5_compare_language_names_redirects() local wiktionary_test_patterns = test_patterns_get(false) local name_from_tag = require('Module:Lang')._name_from_tag local full_test_patterns = {} for i = 1, #wiktionary_test_patterns do local code = wiktionary_test_patterns[i][1] local wiktionary_name = wiktionary_test_patterns[i][2] local redirect_code = wiktionary_test_patterns[i][3] local en_wiki_name = name_from_tag({code}) local en_wiki_redirect_name = name_from_tag({redirect_code}) table.insert(full_test_patterns, { code .. ': ' .. wiktionary_name .. " / " .. redirect_code .. ": " .. wiktionary_name, code .. ': ' .. en_wiki_name .. " / " .. redirect_code .. ": " .. en_wiki_redirect_name, }) end self:preprocess_equals_many('', '', full_test_patterns, {nowiki=1}) end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Language/testcases/doc
(
edit
)