Module:Lang/testcases/ISO 639-3-1 category from tag
Module Talk
< Module:Lang‎ | testcases
Module documentation​[​create​] [purge]
You might want to create a documentation page for this Scribunto module.
Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages.
Add categories to the /doc subpage. Subpages of this module.
local p = require​(​'Module:UnitTests'​)​
--[[--------------------------< T E S T _ P A T T E R N S _ G E T >--------------------------------------------​
Build a table of test patterns where each entry in the table is a table with two members: {"<code>", "<cat name according to Module:Lang>"}
]]
local function test_patterns_get() local cat_from_tag = require​(​'Module:Lang'​).​_category_from_tag -- use Module:Lang to create the 'expected results' local iana_data = mw​.​loadData​(​'Module:Language/data/iana languages').active -- use the iana data local code_mask = '^[a-h]%l%l' -- used to limit number of tests local tpats = {} -- collect test patterns here for code in pairs(iana_data) do -- list of names not needed here local pattern = {} -- here we assemble the test pattern for <code> if code​:​find​(​code_mask​) then -- if code within limits (three-character codes) table.insert(pattern, code) -- add it to the pattern table.insert(pattern, cat_from_tag ({code})) -- call module:lang and add the 'expected results' for code to pattern table.insert(tpats, pattern) -- accumulate in list of patterns end end
local function comp(a, b) -- local function used by table.sort() return a[1] < b[1] -- ascending sort by code end table.sort (tpats, comp) -- make the list pretty return tpats -- and done​end​
--[[--------------------------< T E S T _ C A T E G O R Y _ F R O M _ T A G >----------------------------------​]]​
function p​:​test_category_from_tag_iso_639_3_1​() local test_patterns = test_patterns_get() self​:​preprocess_equals_preprocess_many​(​'{{#invoke:Lang/sandbox|category_from_tag|'​, '}}', '', '', test_patterns, {nowiki=1})end
return p
Last edited on 3 October 2020, at 15:09
Content is available under CC BY-SA 3.0 unless otherwise noted.
Privacy policy
Terms of Use
Desktop
HomeRandom Nearby Log in Settings DonateAbout WikipediaDisclaimers
LanguageWatchEdit