<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguage%2Ftestcases</id>
	<title>Module:Language/testcases - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguage%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Language/testcases&amp;action=history"/>
	<updated>2026-05-27T06:40:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Language/testcases&amp;diff=137224&amp;oldid=prev</id>
		<title>imported&gt;Gonnym at 14:41, 4 November 2020</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Language/testcases&amp;diff=137224&amp;oldid=prev"/>
		<updated>2020-11-04T14:41:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Unit tests for [[Module:Language]]. Click talk page to run tests.&lt;br /&gt;
local p = require(&amp;#039;Module:UnitTests&amp;#039;)&lt;br /&gt;
local m_Language = require(&amp;#039;Module:Language&amp;#039;)&lt;br /&gt;
local name_from_tag = require(&amp;#039;Module:Lang/sandbox&amp;#039;)._name_from_tag&lt;br /&gt;
&lt;br /&gt;
function p:test_1_link()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Language/sandbox|wiktlang|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Language|wiktlang|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;quot;grc|δημοκρᾰτῐ́ᾱ&amp;quot;},&lt;br /&gt;
			{&amp;quot;ha|àzàhàr̃iyyā̀&amp;quot;},&lt;br /&gt;
			{&amp;quot;la|coëō&amp;quot;},&lt;br /&gt;
			{&amp;quot;nci|Quetzalcōātl&amp;quot;},&lt;br /&gt;
			{&amp;quot;ru|ру́сский язы́к&amp;quot;},&lt;br /&gt;
			{&amp;quot;he|שלום&amp;quot;},&lt;br /&gt;
			{&amp;quot;sh|ćá|ća&amp;quot; },														-- fake word with c-acute and tonal acute; add a real word if you know one&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function test_patterns_get(main)&lt;br /&gt;
	local data = require(&amp;#039;Module:Language/data/sandbox&amp;#039;)&lt;br /&gt;
	local language_codes = {}&lt;br /&gt;
&lt;br /&gt;
	if main then&lt;br /&gt;
		for code, values in pairs(data[&amp;quot;languages&amp;quot;]) do&lt;br /&gt;
			table.insert(language_codes, {code, values.name})&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	else&lt;br /&gt;
		for code, redirect_code in pairs(data[&amp;quot;redirects&amp;quot;]) do&lt;br /&gt;
			local redirect_name&lt;br /&gt;
			if data[&amp;quot;languages&amp;quot;][redirect_code] and data[&amp;quot;languages&amp;quot;][redirect_code].name then&lt;br /&gt;
				redirect_name = data[&amp;quot;languages&amp;quot;][redirect_code].name&lt;br /&gt;
			else&lt;br /&gt;
				redirect_name = name_from_tag({code})&lt;br /&gt;
				if not redirect_name or redirect_name:find(&amp;quot;error&amp;quot;) then&lt;br /&gt;
					redirect_name = mw.language.fetchLanguageName(redirect_code, &amp;#039;en&amp;#039;)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			table.insert(language_codes, {code, redirect_name, redirect_code, redirect_name})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function comp(a, b)&lt;br /&gt;
		return a[1] &amp;lt; b[1]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	table.sort(language_codes, comp)&lt;br /&gt;
	return language_codes&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p:test_2_link()&lt;br /&gt;
	local wiktionary_test_patterns = test_patterns_get(true)&lt;br /&gt;
	local name_from_tag = require(&amp;#039;Module:Lang&amp;#039;)._name_from_tag&lt;br /&gt;
	local full_test_patterns = {}&lt;br /&gt;
&lt;br /&gt;
	for i = 1, #wiktionary_test_patterns do&lt;br /&gt;
		local code = wiktionary_test_patterns[i][1]&lt;br /&gt;
		table.insert(full_test_patterns, {code .. &amp;quot;|test&amp;quot;, code .. &amp;quot;|test&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Language/sandbox|wiktlang|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Language|wiktlang|no_cat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, full_test_patterns, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p:test_3_link_redirects()&lt;br /&gt;
	local wiktionary_test_patterns = test_patterns_get(false)&lt;br /&gt;
	local name_from_tag = require(&amp;#039;Module:Lang&amp;#039;)._name_from_tag&lt;br /&gt;
	local full_test_patterns = {}&lt;br /&gt;
&lt;br /&gt;
	for i = 1, #wiktionary_test_patterns do&lt;br /&gt;
		local code = wiktionary_test_patterns[i][1]&lt;br /&gt;
		table.insert(full_test_patterns, {code .. &amp;quot;|test&amp;quot;, code .. &amp;quot;|test&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Language/sandbox|wiktlang|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Language|wiktlang|no_cat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, full_test_patterns, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p:test_4_compare_language_names()&lt;br /&gt;
	local wiktionary_test_patterns = test_patterns_get(true)&lt;br /&gt;
	local name_from_tag = require(&amp;#039;Module:Lang&amp;#039;)._name_from_tag&lt;br /&gt;
	local full_test_patterns = {}&lt;br /&gt;
&lt;br /&gt;
	for i = 1, #wiktionary_test_patterns do&lt;br /&gt;
		local code = wiktionary_test_patterns[i][1]&lt;br /&gt;
		local en_wiki_name = name_from_tag({code})&lt;br /&gt;
		local wiktionary_name = wiktionary_test_patterns[i][2]&lt;br /&gt;
		if wiktionary_name then&lt;br /&gt;
			table.insert(full_test_patterns, {code .. &amp;#039;: &amp;#039; .. wiktionary_name, code .. &amp;#039;: &amp;#039; .. en_wiki_name})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	self:preprocess_equals_many(&amp;#039;&amp;#039;, &amp;#039;&amp;#039;, full_test_patterns, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p:test_5_compare_language_names_redirects()&lt;br /&gt;
	local wiktionary_test_patterns = test_patterns_get(false)&lt;br /&gt;
	local name_from_tag = require(&amp;#039;Module:Lang&amp;#039;)._name_from_tag&lt;br /&gt;
	local full_test_patterns = {}&lt;br /&gt;
&lt;br /&gt;
	for i = 1, #wiktionary_test_patterns do&lt;br /&gt;
		local code = wiktionary_test_patterns[i][1]&lt;br /&gt;
		local wiktionary_name = wiktionary_test_patterns[i][2]&lt;br /&gt;
		local redirect_code = wiktionary_test_patterns[i][3]	&lt;br /&gt;
&lt;br /&gt;
		local en_wiki_name = name_from_tag({code})&lt;br /&gt;
		local en_wiki_redirect_name = name_from_tag({redirect_code})&lt;br /&gt;
&lt;br /&gt;
		table.insert(full_test_patterns, {&lt;br /&gt;
				code .. &amp;#039;: &amp;#039; .. wiktionary_name .. &amp;quot; / &amp;quot; .. redirect_code .. &amp;quot;: &amp;quot; .. wiktionary_name,&lt;br /&gt;
				code .. &amp;#039;: &amp;#039; .. en_wiki_name .. &amp;quot; / &amp;quot; .. redirect_code .. &amp;quot;: &amp;quot; .. en_wiki_redirect_name,&lt;br /&gt;
			})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	self:preprocess_equals_many(&amp;#039;&amp;#039;, &amp;#039;&amp;#039;, full_test_patterns, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Gonnym</name></author>
	</entry>
</feed>