<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.stiles.casa/index.php?action=history&amp;feed=atom&amp;title=Module%3ALang%2Ftestcases</id>
	<title>Module:Lang/testcases - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stiles.casa/index.php?action=history&amp;feed=atom&amp;title=Module%3ALang%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="https://wiki.stiles.casa/index.php?title=Module:Lang/testcases&amp;action=history"/>
	<updated>2026-05-18T11:46:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://wiki.stiles.casa/index.php?title=Module:Lang/testcases&amp;diff=7346&amp;oldid=prev</id>
		<title>imported&gt;Gonnym at 12:14, 17 November 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.stiles.casa/index.php?title=Module:Lang/testcases&amp;diff=7346&amp;oldid=prev"/>
		<updated>2020-11-17T12:14:20Z</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;local p = require(&amp;#039;Module:UnitTests&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; L A N G _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I T A L I C &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |italic= with values:&lt;br /&gt;
- &amp;#039;yes&amp;#039;,&lt;br /&gt;
- &amp;#039;no&amp;#039;,&lt;br /&gt;
- &amp;#039;invert&amp;#039;,&lt;br /&gt;
- &amp;#039;italic&amp;#039;,&lt;br /&gt;
- present but not set,&lt;br /&gt;
- invalid &amp;#039;whatever&amp;#039;,&lt;br /&gt;
- parameter not present.&lt;br /&gt;
&lt;br /&gt;
|italic=yes or |italic=no overrides every other parameter that might set the rendered text&amp;#039;s font.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_01_lang_italic()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar|text=text|italic=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar|text=text|italic=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;no&amp;#039;},&lt;br /&gt;
			{&amp;#039;invert&amp;#039;},&lt;br /&gt;
			{&amp;#039;italic&amp;#039;},&lt;br /&gt;
			{&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;whatever&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar|text=text}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar|text=text}}&amp;#039;,&lt;br /&gt;
		{nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I T A L I C _ W I T H _ S C R I P T &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |italic=yes and |italic=no when |script=arab or |script=latn is set.&lt;br /&gt;
&lt;br /&gt;
|italic=yes should override whatever |script= might say.&lt;br /&gt;
&lt;br /&gt;
The value assigned to |script= shall be appended to the language code; for |script=arab the module shall add&lt;br /&gt;
dir=&amp;quot;rtl&amp;quot; to the text&amp;#039;s enclosing &amp;lt;span&amp;gt; and insert the &amp;amp;lrm; marker.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_02_lang_italic_with_script()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar|text=text|italic=yes|script=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar|text=text|italic=yes|script=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;latn&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar|text=text|italic=no|script=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar|text=text|italic=no|script=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;latn&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; R T L &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |rtl= with values &amp;#039;yes&amp;#039;, &amp;#039;no&amp;#039;, present but not set, and the invalid &amp;#039;whatever&amp;#039;.&lt;br /&gt;
There is a separate test for the parameter not present.&lt;br /&gt;
&lt;br /&gt;
|rtl=yes adds dir=&amp;quot;rtl&amp;quot; to the text&amp;#039;s enclosing &amp;lt;span&amp;gt; and inserts the &amp;amp;lrm; marker.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_03_lang_rtl()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar|text=text|rtl=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar|text=text|rtl=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;no&amp;#039;},&lt;br /&gt;
			{&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;whatever&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar|text=text}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar|text=text}}&amp;#039;,&lt;br /&gt;
		{nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I E T F _ D E C O D I N G &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |code= with values that should not produce error messages:&lt;br /&gt;
	&amp;#039;de&amp;#039;, &amp;#039;de-ch&amp;#039;, &amp;#039;de-CH-1901&amp;#039;, &amp;#039;ru-RU-petr1708&amp;#039;, &amp;#039;1ca&amp;#039;, es-419.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_04_lang_ietf()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|text=text|code=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|text=text|code=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;de&amp;#039;},					-- code&lt;br /&gt;
			{&amp;#039;nav&amp;#039;},				-- code&lt;br /&gt;
			{&amp;#039;1ca&amp;#039;},				-- non-standard code&lt;br /&gt;
			{&amp;#039;cmn-Latn&amp;#039;},			-- code-script; shall italicize text&lt;br /&gt;
			{&amp;#039;he-hebr&amp;#039;},			-- code-script; shall insert rtl&lt;br /&gt;
			{&amp;#039;de-ch&amp;#039;},				-- code-region&lt;br /&gt;
			{&amp;#039;de-1901&amp;#039;},			-- code-numeric variant&lt;br /&gt;
			{&amp;#039;ru-petr1708&amp;#039;},		-- code-alnum variant&lt;br /&gt;
			{&amp;#039;ca-valencia&amp;#039;},		-- code-alpha variant&lt;br /&gt;
			{&amp;#039;ru-ru-petr1708&amp;#039;},		-- code-region-variant&lt;br /&gt;
			{&amp;#039;es-419&amp;#039;},				-- code-numeric region&lt;br /&gt;
			{&amp;#039;ru-Cyrl-RU&amp;#039;},			-- code-script-region&lt;br /&gt;
			{&amp;#039;ca-419-valencia&amp;#039;},	-- code-numeric reigion-variant&lt;br /&gt;
			{&amp;#039;cel-x-proto&amp;#039;},		-- private-use&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I N V E R T _ I T A L I C S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests text ouput with |italic=invert set.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_05_lang_invert_italics()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|code=ar&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|code=ar&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;|text=text|italic=invert&amp;#039;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;text&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;text&amp;#039;s&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=text&amp;#039;s|italic=invert&amp;quot;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; L A N G _ X X _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I T A L I C &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
- &amp;#039;yes&amp;#039;,&lt;br /&gt;
- &amp;#039;no&amp;#039;,&lt;br /&gt;
- &amp;#039;invert&amp;#039;,&lt;br /&gt;
- &amp;#039;italic&amp;#039;,&lt;br /&gt;
- present but not set,&lt;br /&gt;
- invalid &amp;#039;whatever&amp;#039;,&lt;br /&gt;
- parameter not present.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|italic=yes or |italic=no overrides every other parameter that might set the rendered text&amp;#039;s font.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_06_lang_xx_italic()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text=text|italic=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text=text|italic=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;no&amp;#039;},&lt;br /&gt;
			{&amp;#039;invert&amp;#039;},&lt;br /&gt;
			{&amp;#039;italic&amp;#039;},&lt;br /&gt;
			{&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;whatever&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text}}&amp;#039;,&lt;br /&gt;
		{nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I T A L I C _ W I T H _ S C R I P T &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |italic=yes and |italic=no when |script=arab or |script=latn is set.&lt;br /&gt;
&lt;br /&gt;
|italic=yes should override whatever |script= might say.&lt;br /&gt;
&lt;br /&gt;
The value assigned to |script= shall be appended to the language code; for |script=arab the module shall add&lt;br /&gt;
dir=&amp;quot;rtl&amp;quot; to the text&amp;#039;s enclosing &amp;lt;span&amp;gt; and insert the &amp;amp;lrm; marker.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_07_lang_xx_italic_with_script()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text=text|italic=yes|script=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text=text|italic=yes|script=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;latn&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text=text|italic=no|script=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text=text|italic=no|script=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;latn&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; S C R I P T &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |script=arab and |script=latn with |italic= preset but not set and |italic= not present.&lt;br /&gt;
&lt;br /&gt;
|script=arab shall not italicize text.&lt;br /&gt;
|script=latn shall italicize text.&lt;br /&gt;
&lt;br /&gt;
The value assigned to |script= shall be appended to the language code; for |script=arab the module shall add&lt;br /&gt;
dir=&amp;quot;rtl&amp;quot; to the text&amp;#039;s enclosing &amp;lt;span&amp;gt; and insert the &amp;amp;lrm; marker.&lt;br /&gt;
&lt;br /&gt;
There is no {{lang}} version of this test because {{lang}} has no need for separate |script=, |region=, and |variant=&lt;br /&gt;
parameters - those subtags can all be added to the IETF language code in the template&amp;#039;s first positional parameter ({{{1}}}).&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_08_lang_xx_script()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text=text|italic=|script=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text=text|italic=|script=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;latn&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text=text|script=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text=text|script=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;latn&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; R T L &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |rtl= with values &amp;#039;yes&amp;#039;, &amp;#039;no&amp;#039;, present but not set, and the invalid &amp;#039;whatever&amp;#039;.&lt;br /&gt;
There is a separate test for the parameter not present.&lt;br /&gt;
&lt;br /&gt;
|rtl=yes adds dir=&amp;quot;rtl&amp;quot; to the text&amp;#039;s enclosing &amp;lt;span&amp;gt; and inserts the &amp;amp;lrm; marker.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_09_lang_xx_rtl()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text=text|rtl=&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text=text|rtl=&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;no&amp;#039;},&lt;br /&gt;
			{&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;whatever&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_preprocess(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar|text}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar|text}}&amp;#039;,&lt;br /&gt;
		{nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L A N G _ T R A N S L I T &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Tests various supported combinations of translit formats.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_10_lang_xx_translit()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;code=ar|rtl=yes|text=نص العنصر النائب|translit=nasu aleunsur alnnay&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|rtl=yes|text=نص العنصر النائب|translit=nasu aleunsur alnnay|translit-script=Arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|rtl=yes|text=نص العنصر النائب|translit=nasu aleunsur alnnay|translit-std=DIN&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|rtl=yes|text=نص العنصر النائب|translit=nasu aleunsur alnnay|translit-std=ALA&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|عربى|translit=ʿarabī&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|عربى|translit=ʿarabī|lit=Arabic&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|عربى|translit=ʿarabī|translation=Arabic&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|عربى|translit=ʿarabī|lit=Arabic|links=no&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|عربى|translation=Arabic&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|عربى|translation=Arabic|links=no&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ff|text=𞤁𞤢𞤲𞤣𞤢𞤴𞤯𞤫|translit=something|translit-script=Adlm&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ff|text=𞤁𞤢𞤲𞤣𞤢𞤴𞤯𞤫|translit=something|translit-script=Adlm|translit-std=ALA&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ar|text=نص العنصر النائب|translit=nasu aleunsur alnnay|translit-std=DIN|translit-script=arab&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=gem|text=test|translit=ʿarabī|translation=Arabic&amp;#039;},			-- not valid translations, the test is here to see the link with a collective lagnauge&lt;br /&gt;
			{&amp;#039;code=ath|text=test|translit=ʿarabī|translation=Arabic&amp;#039;},			-- not valid translations, the test is here to see the link with a collective lagnauge&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L I N K _ A N D _ L A B E L &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Tests various supported combinations of |link= and |label= combinations.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_11_lang_xx_link_and_label()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;code=uk|морити голодом|lit=to kill by starvation|translit=moryty holodom|label=none&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=uk|морити голодом|lit=to kill by starvation|translit=moryty holodom|label=none|link=no&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ff|text=test|translit=something|translit-script=Adlm|label=none&amp;#039;},&lt;br /&gt;
			{&amp;#039;code=ff|text=test|translit=something|translit-script=Adlm|label=test label&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I N V E R T _ I T A L I C S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests text ouput with |italic=invert set.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_12_lang_xx_invert_italics()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|code=ar&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|code=ar&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;|text=text|italic=invert&amp;#039;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;text&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=&amp;#039;&amp;#039;text&amp;#039;s&amp;#039;&amp;#039;|italic=invert&amp;quot;},&lt;br /&gt;
			{&amp;quot;|text=text&amp;#039;s|italic=invert&amp;quot;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; T R A N S L _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; T R A N S L _ F O R M A T S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests various supported combinations of translit formats.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_13_transl_formats()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|transl|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|transl|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			-- language with transliteration standard (std) tests:&lt;br /&gt;
			{&amp;#039;ja|iso|test&amp;#039;}, -- get code value:			x (y language) transliteration&lt;br /&gt;
			{&amp;#039;kana|iso|test&amp;#039;}, -- get script value:		x (y script) transliteration&lt;br /&gt;
			{&amp;#039;oto|iso|test&amp;#039;}, -- get default value:		x transliteration&lt;br /&gt;
&lt;br /&gt;
			-- code or script found in &amp;quot;no_std&amp;quot; tests:&lt;br /&gt;
			-- TODO: no current code example {&amp;#039;???|test&amp;#039;}, -- no_std code:&lt;br /&gt;
			{&amp;#039;xsux|test&amp;#039;}, -- no_std script:			x transliteration (whatever the override value is)&lt;br /&gt;
&lt;br /&gt;
			-- translit-script tests:&lt;br /&gt;
			{&amp;#039;Cyrl|š&amp;#039;}, -- script:						x-script transliteration&lt;br /&gt;
&lt;br /&gt;
			-- no translit-script or std tests:&lt;br /&gt;
			{&amp;#039;ar|test&amp;#039;}, -- romanization:				x-language romanization&lt;br /&gt;
			{&amp;#039;oto|test&amp;#039;}, -- romanization collective:	x languages romanization&lt;br /&gt;
			&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I T A L I C S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Tests module parameter |italic= with values &amp;#039;yes&amp;#039;, &amp;#039;no&amp;#039;, present but not set, default, unset, and the invalid &amp;#039;whatever&amp;#039;.&lt;br /&gt;
There is a separate test for the parameter not present.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_14_transl_italics()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|transl|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|transl|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;ar|nasu aleunsur alnnayib|italic=&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar|nasu aleunsur alnnayib|italic=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar|nasu aleunsur alnnayib|italic=no&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar|nasu aleunsur alnnayib|italic=default&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar|nasu aleunsur alnnayib|italic=whatever&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar|nasu \&amp;#039;\&amp;#039;aleunsur\&amp;#039;\&amp;#039; alnnayib|italic=unset&amp;#039;},&lt;br /&gt;
			{&amp;#039;Arab|nasu \&amp;#039;\&amp;#039;aleunsur\&amp;#039;\&amp;#039; alnnayib|italic=unset&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; C A T E G O R Y _ F R O M _ T A G _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; C A T E G O R Y _ F R O M _ T A G &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Returns category links from IETF tags.&lt;br /&gt;
&lt;br /&gt;
A complete list of valid tests can be found here:&lt;br /&gt;
* Module:Lang/testcases/ISO 639-1 category from tag&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-1 category from tag (A–H)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-2 category from tag (I–N)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-3 category from tag (O–Z)&lt;br /&gt;
* Module:Lang/testcases/ISO 639 deprecated and override category from tag&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_15_category_from_tag()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|category_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|category_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;fr|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;ber|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;en|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;en-gb|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;fr&amp;#039;},&lt;br /&gt;
			{&amp;#039;FR&amp;#039;},&lt;br /&gt;
			{&amp;#039;ber&amp;#039;},&lt;br /&gt;
			{&amp;#039;BER&amp;#039;},&lt;br /&gt;
			{&amp;#039;en&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN&amp;#039;},&lt;br /&gt;
			{&amp;#039;en-gb&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN-GB&amp;#039;},&lt;br /&gt;
		})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; N A M E _ F R O M _ T A G _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; N A M E _ F R O M _ T A G &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Returns language names from IETF tags.&lt;br /&gt;
&lt;br /&gt;
A complete list of valid tests can be found here:&lt;br /&gt;
* Module:Lang/testcases/ISO 639-1 name from tag&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-1 name from tag (A–H)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-2 name from tag (I–N)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-3 name from tag (O–Z)&lt;br /&gt;
* Module:Lang/testcases/ISO 639 deprecated and override name from tag&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_16_name_from_tag()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|name_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|name_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;fr|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;ber|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;en|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;en-gb|link=yes&amp;#039;},&lt;br /&gt;
			{&amp;#039;fr&amp;#039;},&lt;br /&gt;
			{&amp;#039;FR&amp;#039;},&lt;br /&gt;
			{&amp;#039;ber&amp;#039;},&lt;br /&gt;
			{&amp;#039;BER&amp;#039;},&lt;br /&gt;
			{&amp;#039;en&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN&amp;#039;},&lt;br /&gt;
			{&amp;#039;en-gb&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN-GB&amp;#039;},&lt;br /&gt;
		})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; T A G _ F R O M _ N A M E _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; T A G _ F R O M _ N A M E &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Returns language IETF tags from language names.&lt;br /&gt;
&lt;br /&gt;
A complete list of valid tests can be found here:&lt;br /&gt;
* Module:Lang/testcases/ISO 639-1 tag from name&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-1 tag from name (A–H)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-2 tag from name (I–N)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-3 tag from name (O–Z)&lt;br /&gt;
* Module:Lang/testcases/ISO 639 deprecated and override tag from name&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_17_tag_from_name()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|tag_from_name|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|tag_from_name|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;french&amp;#039;},&lt;br /&gt;
			{&amp;#039;French&amp;#039;},&lt;br /&gt;
			{&amp;#039;FRENCH&amp;#039;},&lt;br /&gt;
			{&amp;#039;Berber Languages&amp;#039;},&lt;br /&gt;
			{&amp;#039;Berber languages&amp;#039;},&lt;br /&gt;
			{&amp;#039;British English&amp;#039;},&lt;br /&gt;
			{&amp;#039;en&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN&amp;#039;},&lt;br /&gt;
		})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; I S _ I E T F _ T A G _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I S _ I E T F _ T A G &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Returns true if valid IETF tag.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_18_is_ietf_tag()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|is_ietf_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|is_ietf_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;french&amp;#039;},&lt;br /&gt;
			{&amp;#039;French&amp;#039;},&lt;br /&gt;
			{&amp;#039;FRENCH&amp;#039;},&lt;br /&gt;
			{&amp;#039;Berber Languages&amp;#039;},&lt;br /&gt;
			{&amp;#039;Berber languages&amp;#039;},&lt;br /&gt;
			{&amp;#039;British English&amp;#039;},&lt;br /&gt;
			{&amp;#039;fr&amp;#039;},&lt;br /&gt;
			{&amp;#039;FR&amp;#039;},&lt;br /&gt;
			{&amp;#039;ber&amp;#039;},&lt;br /&gt;
			{&amp;#039;BER&amp;#039;},&lt;br /&gt;
			{&amp;#039;en&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN&amp;#039;},&lt;br /&gt;
			{&amp;#039;en-gb&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN-GB&amp;#039;},&lt;br /&gt;
		})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; I S _ L A N G _ N A M E _ T E S T S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; I S _ L A N G _ N A M E &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Returns true if valid language name.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_19_is_lang_name()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|is_lang_name|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|is_lang_name|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;french&amp;#039;},&lt;br /&gt;
			{&amp;#039;French&amp;#039;},&lt;br /&gt;
			{&amp;#039;FRENCH&amp;#039;},&lt;br /&gt;
			{&amp;#039;Berber Languages&amp;#039;},&lt;br /&gt;
			{&amp;#039;Berber languages&amp;#039;},&lt;br /&gt;
			{&amp;#039;British English&amp;#039;},&lt;br /&gt;
			{&amp;#039;fr&amp;#039;},&lt;br /&gt;
			{&amp;#039;FR&amp;#039;},&lt;br /&gt;
			{&amp;#039;ber&amp;#039;},&lt;br /&gt;
			{&amp;#039;BER&amp;#039;},&lt;br /&gt;
			{&amp;#039;en&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN&amp;#039;},&lt;br /&gt;
			{&amp;#039;en-gb&amp;#039;},&lt;br /&gt;
			{&amp;#039;EN-GB&amp;#039;},&lt;br /&gt;
		})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ ========================== &amp;lt; E R R O R S &amp;gt; ========================== ]]&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L A N G _ E R R O R S &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Lang errors.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_20_lang_errors()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;&amp;#039;},								-- no text&lt;br /&gt;
			{&amp;#039;fr&amp;#039;},								-- no text&lt;br /&gt;
			{&amp;#039;text=text&amp;#039;},						-- missing language tag&lt;br /&gt;
			{&amp;#039;fr|code=fr|text&amp;#039;},				-- conflicting |1= and |code=			&lt;br /&gt;
			{&amp;#039;fr|text|text=text&amp;#039;},				-- conflicting |2= and |text=&lt;br /&gt;
			{&amp;#039;proto=proto-y-bad|text=text&amp;#039;},	-- invalid |proto=&lt;br /&gt;
			{&amp;#039;fr|\&amp;#039;\&amp;#039;italics\&amp;#039;\&amp;#039;&amp;#039;},				-- text has italic markup&lt;br /&gt;
			{&amp;#039;fr|text={{lang|fr|text=text}}&amp;#039;},	-- text already uses lang attribute&lt;br /&gt;
			{&amp;#039;fr|malformed\&amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;},		-- text has malformed markup&lt;br /&gt;
			{&amp;#039;1ca|text&amp;#039;},						-- unrecognized language tag: 1ca&lt;br /&gt;
			{&amp;#039;zz|text&amp;#039;},						-- unrecognized language code&lt;br /&gt;
			{&amp;#039;glg|text&amp;#039;},						-- code: glg promoted to code: gl&lt;br /&gt;
			{&amp;#039;iw|text&amp;#039;},						-- code: iw is deprecated&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; L A N G _ X X _ E R R O R S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Lang-xx errors.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p:test_21_lang_xx_errors()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|lang_xx_inherit|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|lang_xx_inherit|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;&amp;#039;},													-- no text&lt;br /&gt;
			{&amp;#039;code=fr&amp;#039;},											-- no text&lt;br /&gt;
			{&amp;#039;text=text&amp;#039;},											-- missing language tag&lt;br /&gt;
			{&amp;#039;code=fr|text|text=text&amp;#039;},								-- conflicting {{{1}}} and |text=&lt;br /&gt;
			{&amp;#039;code=fr|text|translit|translit=translit&amp;#039;},			-- conflicting {{{2}}} and |translit=&lt;br /&gt;
			{&amp;#039;code=fr|text|lit|lit=lit&amp;#039;},							-- conflicting {{{3}}} and |lit= or |translation=&lt;br /&gt;
			{&amp;#039;code=fr|text|translation|translation=translation&amp;#039;},	-- conflicting {{{3}}} and |lit= or |translation=&lt;br /&gt;
			{&amp;#039;code=fr|text|lit=lit|translation=translation&amp;#039;},		-- conflicting |lit= and |translation=&lt;br /&gt;
			{&amp;#039;code=fr|{{lang|fr|text}}&amp;#039;},							-- text already uses lang attribute&lt;br /&gt;
			{&amp;#039;code=fr-Latn|script=Latn|text&amp;#039;},						-- redundant script tag&lt;br /&gt;
			{&amp;#039;code=fr|script=nonsense|text&amp;#039;},						-- unrecognized script: nonsense for code fr&lt;br /&gt;
			{&amp;#039;code=ar|script=Arab|text&amp;#039;},							-- script: script: arab not supported for code: ar&lt;br /&gt;
			{&amp;#039;code=en-US|region=US|text&amp;#039;},							-- redundant region tag&lt;br /&gt;
			{&amp;#039;code=de-XL|text&amp;#039;},									-- unrecognized region: xl for code de&lt;br /&gt;
			{&amp;#039;code=de-1901|variant=1901|text&amp;#039;},						-- redundant variant tag&lt;br /&gt;
			{&amp;#039;code=de-19022|text&amp;#039;},									-- unrecognized variant: 19022&lt;br /&gt;
			{&amp;#039;code=de|script=Armn|variant=1901|text&amp;#039;},				-- unrecognized variant: 1901 for code-script pair: de-armn&lt;br /&gt;
			{&amp;#039;code=en|variant=1901|text&amp;#039;},							-- unrecognized variant: 1901 for code: en&lt;br /&gt;
			{&amp;#039;code=es-x-419|text&amp;#039;},									-- unrecognized private tag: 419&lt;br /&gt;
			{&amp;#039;code=ar|rtl=yes|نص العنصر النائب|nasu aleunsur alnnayib|translit-std=bob&amp;#039;}, --invalid |translit-std=: bob&lt;br /&gt;
			{&amp;#039;code=ar|text=نص العنصر النائب|translit=nasu aleunsur alnnay|translit-std=DIN|translit-script=ar&amp;#039;}, -- invalid |translit-script= value&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; T R A N S L _ E R R O R S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
Transl errors.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_22_transl_errors()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|transl|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|transl|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;al-Khwarizmi&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar&amp;#039;},&lt;br /&gt;
			{&amp;#039;at|al-Khwarizmi&amp;#039;},&lt;br /&gt;
			{&amp;#039;ar|AL|al-Khwarizmi&amp;#039;},&lt;br /&gt;
			{&amp;#039;Arab|nasu \&amp;#039;\&amp;#039;aleunsur\&amp;#039;\&amp;#039; alnnayib|italic=yes|italics=no&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; C A T E G O R Y _ F R O M _ T A G _ E R R O R S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
category_from_tag errors.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_23_category_from_tag_errors()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|category_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|category_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;sfsfsfs&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; N A M E _ F R O M _ T A G _ E R R O R S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
name_from_tag errors.&lt;br /&gt;
&lt;br /&gt;
A complete list of valid tests can be found here:&lt;br /&gt;
* Module:Lang/testcases/ISO 639-1 name from tag&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-1 name from tag (A–H)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-2 name from tag (I–N)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-3 name from tag (O–Z)&lt;br /&gt;
* Module:Lang/testcases/ISO 639 deprecated and override name from tag&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_24_name_from_tag_errors()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|name_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|name_from_tag|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;sfsfsfs&amp;#039;},&lt;br /&gt;
		}, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ -------------------------- &amp;lt; T A G _ F R O M _ N A M E _ E R R O R S &amp;gt; --------------------------&lt;br /&gt;
&lt;br /&gt;
tag_from_name errors.&lt;br /&gt;
&lt;br /&gt;
A complete list of valid tests can be found here:&lt;br /&gt;
* Module:Lang/testcases/ISO 639-1 tag from name&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-1 tag from name (A–H)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-2 tag from name (I–N)&lt;br /&gt;
* Module:Lang/testcases/ISO 639-3-3 tag from name (O–Z)&lt;br /&gt;
* Module:Lang/testcases/ISO 639 deprecated and override tag from name&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p:test_25_tag_from_name_errors()&lt;br /&gt;
	self:preprocess_equals_preprocess_many(&amp;#039;{{#invoke:Lang/sandbox|tag_from_name|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;, &amp;#039;{{#invoke:Lang|tag_from_name|nocat=yes|&amp;#039;, &amp;#039;}}&amp;#039;,&lt;br /&gt;
		{&lt;br /&gt;
			{&amp;#039;sfsfsfs&amp;#039;},&lt;br /&gt;
		}, {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>