Module:Lang/testcases/ISO 639 deprecated and override tag from name explained

local p = require('Module:UnitTests')

--

local function test_patterns_get(lanauage_list) local lang_data = mw.loadData('Module:Lang/data'); -- language name override and transliteration tool-tip tables local override_table = lang_data.override; local tpats = -- collect test patterns here for tag, names in pairs (lanauage_list) do local pattern = ; -- here we assemble the test pattern for if override_table[tag] then table.insert (pattern, override_table[tag][1]); -- add first only to the pattern table.insert (pattern, tag); -- add the 'expected result' else table.insert (pattern, names[1]); -- add first only to the pattern table.insert (pattern, tag); -- add the 'expected result' end table.insert (tpats, pattern); -- accumulate in list of patterns end

local function comp (a, b) -- local function used by table.sort return a[2] < b[2]; -- ascending sort by code (because test limits are by code) end table.sort (tpats, comp); -- make the list pretty return tpats; -- and doneend

----------------------------< T E S T _ T A G _ F R O M _ N A M E >------------------------------------------

function p:test_tag_from_name_iso_639_deprecated local test_patterns = test_patterns_get(mw.loadData("Module:Lang/data/iana languages").deprecated) self:preprocess_equals_preprocess_many('', , , test_patterns,)end

function p:test_tag_from_name_iso_639_override local test_patterns = test_patterns_get(mw.loadData('Module:Lang/data').override) self:preprocess_equals_preprocess_many('', , , test_patterns,)end

return p