<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Module%3AFormatnum%2Ftestcases</id>
	<title>Module:Formatnum/testcases - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Module%3AFormatnum%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Module:Formatnum/testcases&amp;action=history"/>
	<updated>2026-04-23T04:38:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=Module:Formatnum/testcases&amp;diff=3104795&amp;oldid=prev</id>
		<title>imported&gt;Trigenibinion: Fix</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Module:Formatnum/testcases&amp;diff=3104795&amp;oldid=prev"/>
		<updated>2021-03-01T13:52:30Z</updated>

		<summary type="html">&lt;p&gt;Fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Unit tests for [[Module:Formatnum]]. Click talk page to run tests.&lt;br /&gt;
local p = require(&amp;#039;Module:UnitTests&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local function err(msg)&lt;br /&gt;
	-- Generates wikitext error messages.&lt;br /&gt;
	return mw.ustring.format(&amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;Formatting error: %s&amp;lt;/strong&amp;gt;&amp;#039;, msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_1_English_basic()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|0|en}}&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|-123|en}}&amp;#039;, &amp;#039;-123&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_2_unnecessary_signs()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|-0|en}}&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|+123|en}}&amp;#039;, &amp;#039;123&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_3_non_numbers_preserved()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12:34:45|en}}&amp;#039;, &amp;#039;12:34:45&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12 h 34|fr}}&amp;#039;, &amp;#039;12 h 34&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12:34:45|th}}&amp;#039;, &amp;#039;12:34:45&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12:34:45.00|en}}&amp;#039;, &amp;#039;12:34:45.00&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12°34′45.00″|en}}&amp;#039;, &amp;#039;12°34′45.00″&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|some words...|en}}&amp;#039;, &amp;#039;some words...&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_4_English_precision_rounding()&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100|en|prec=1}}&amp;#039;, &amp;#039;100.0&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100.0|en|prec=1}}&amp;#039;, &amp;#039;100.0&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100.01|en|prec=2}}&amp;#039;, &amp;#039;100.01&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100.01|en|prec=3}}&amp;#039;, &amp;#039;100.010&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100.010|en|prec=2}}&amp;#039;, &amp;#039;100.01&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_5_English_bad_parameters()&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|.10,00|en}}&amp;#039;, &amp;#039;.10,00&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|.10,00|en|sep=}}&amp;#039;, &amp;#039;.10,00&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100,0.|en}}&amp;#039;, &amp;#039;100,0.&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100,0.|en|sep=}}&amp;#039;, &amp;#039;100,0.&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100.01|en|prec=-2}}&amp;#039;, &amp;#039;100.01&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|200.1|en|prec=3.5}}&amp;#039;, &amp;#039;200.100&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|200.1|en|prec=3,5}}&amp;#039;, &amp;#039;200.1&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|200.1|en|prec=a}}&amp;#039;, &amp;#039;200.1&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_6_decimal_separator()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|.12345|en}}&amp;#039;, &amp;#039;0.12345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|.12345|fr}}&amp;#039;, &amp;#039;0,12345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|123.45|en}}&amp;#039;, &amp;#039;123.45&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|123.45|fr}}&amp;#039;, &amp;#039;123,45&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|123.|en}}&amp;#039;, &amp;#039;123&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|123.|fr}}&amp;#039;, &amp;#039;123&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|123.00|en}}&amp;#039;, &amp;#039;123&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|123.00|fr}}&amp;#039;, &amp;#039;123&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1001|de}}&amp;#039;, &amp;#039;1.001&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1001|pl}}&amp;#039;, &amp;#039;1001&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1001|en}}&amp;#039;, &amp;#039;1,001&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_7_no_grouping_separators()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|en|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|fr|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_8_HTML_entity_or_native_UTF8()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|en}}&amp;#039;, &amp;#039;12,345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|fr}}&amp;#039;, &amp;#039;12\194\160345&amp;#039;) -- &amp;quot;\194\160&amp;quot; in Lua litterals is NBSP (U+00A0) encoded in UTF-8 (0xC2,0xA0)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|en}}&amp;#039;, &amp;#039;12,345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|fr}}&amp;#039;, &amp;#039;12\194\160345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|br}}&amp;#039;, &amp;#039;12\194\160345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|co}}&amp;#039;, &amp;#039;12\194\160345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|oc}}&amp;#039;, &amp;#039;12\194\160345&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|12345|ty}}&amp;#039;, &amp;#039;12\194\160345&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_9_grouping_separators()&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|en}}&amp;#039;, &amp;#039;1,234,567,890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|es}}&amp;#039;, &amp;#039;1.234.567.890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|pt}}&amp;#039;, &amp;#039;1.234.567.890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|ka}}&amp;#039;, &amp;#039;1,234,567,890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|mn}}&amp;#039;, &amp;#039;᠑,᠒᠓᠔,᠕᠖᠗,᠘᠙᠐&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|ar}}&amp;#039;, &amp;#039;۱,۲۳۴,۵۶۷,۸۹۰&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|fa}}&amp;#039;, &amp;#039;۱,۲۳۴,۵۶۷,۸۹۰&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|ks}}&amp;#039;, &amp;#039;۱,۲۳۴,۵۶۷,۸۹۰&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|hi}}&amp;#039;, &amp;#039;१,२३,४५,६७,८९०&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|bn}}&amp;#039;, &amp;#039;১,২৩,৪৫,৬৭,৮৯০&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|ta}}&amp;#039;, &amp;#039;1,23,45,67,890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|te}}&amp;#039;, &amp;#039;౧,౨౩,౪౫,౬౭,౮౯౦&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|kn}}&amp;#039;, &amp;#039;೧,೨೩,೪೫,೬೭,೮೯೦ &amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|or}}&amp;#039;, &amp;#039;୧,୨୩,୪୫,୬୭,୮୯୦&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|gu}}&amp;#039;, &amp;#039;1,23,45,67,890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|pa}}&amp;#039;, &amp;#039;1,23,45,67,890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|bo}}&amp;#039;,  &amp;#039;༡,༢༣༤,༥༦༧,༨༩༠&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|th}}&amp;#039;, &amp;#039;๑,๒๓๔,๕๖๗,๘๙๐&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|km}}&amp;#039;, &amp;#039;1,234,567,890&amp;#039;)&lt;br /&gt;
	self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|1234567890|lo}}&amp;#039;, &amp;#039;໑,໒໓໔,໕໖໗,໘໙໐ &amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_Error_more_than_20_languages()&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|ab|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|ace|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_Unsupported_languages_using_user_default_language_instead_may_fail()&lt;br /&gt;
    -- these may fail depending on supported language of the user if it uses non-ASCII digits&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000||sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- unspecified Wikimedia default&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|aa|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- Afar&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|qq|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- Private-use&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|qqa|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- Private-use&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|mul|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- Multilingual&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|und|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- Undetermined&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|root|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;) -- CLDR default&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|user|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;)&lt;br /&gt;
    self:preprocess_equals(&amp;#039;{{#invoke:Formatnum/sandbox|main|100000|invalid|sep=1}}&amp;#039;, &amp;#039;100000&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Trigenibinion</name></author>
	</entry>
</feed>