Module talk:Formatnum/testcases

12 tests failed.

Test 01: English_basic
Text Expected Actual
✓[OK]{{Formatnum|0|en}}00
✓[OK]{{Formatnum|-123|en}}−123−123
Test 02: English_precision_rounding
Text Expected Actual
Comparing Formatnum with Formatnum/old: "Expected" means using Formatnum/old
✘[No]{{Formatnum|100|en|prec=1}}Template:Formatnum/old100.0
✘[No]{{Formatnum|100.0|en|prec=1}}Template:Formatnum/old100.0
✘[No]{{Formatnum|100.01|en|prec=2}}Template:Formatnum/old100.01
✘[No]{{Formatnum|100.01|en|prec=3}}Template:Formatnum/old100.010
✘[No]{{Formatnum|100.010|en|prec=2}}Template:Formatnum/old100.01
Test 03: English_bad_parameters
Text Expected Actual
Comparing Formatnum with Formatnum/old: "Expected" means using Formatnum/old
✘[No]{{Formatnum|.10,00|en}}Template:Formatnum/old.10,00
✘[No]{{Formatnum|.10,00|en|sep=}}Template:Formatnum/old.10,00
✘[No]{{Formatnum|100,0.|en}}Template:Formatnum/old100,0.
✘[No]{{Formatnum|100,0.|en|sep=}}Template:Formatnum/old100,0.
✘[No]{{Formatnum|100.01|en|prec=-2}}Template:Formatnum/old100.01
✘[No]{{Formatnum|200.1|en|prec=3.5}}Template:Formatnum/old200.100
✓[OK]{{Formatnum|200.1|en|prec=3,5}}200.1200.1
✓[OK]{{Formatnum|200.1|en|prec=a}}200.1200.1
Test 04: English_unnecessary_signs_removed
Text Expected Actual
✓[OK]{{Formatnum|-0|en}}00
✓[OK]{{Formatnum|+123|en}}123123
Test 05: Non_numbers_preserved
Text Expected Actual
✓[OK]{{Formatnum|12:34:45|en}}12:34:4512:34:45
✓[OK]{{Formatnum|12 h 34|fr}}12 h 3412 h 34
✓[OK]{{Formatnum|12:34:45|th}}12:34:4512:34:45
✓[OK]{{Formatnum|12:34:45.00|en}}12:34:45.0012:34:45.00
✓[OK]{{Formatnum|12°34′45.00″|en}}12°34′45.00″12°34′45.00″
✓[OK]{{Formatnum|some words...|en}}some words...some words...
Test 06: Styles_of_decimal_digits
Text Expected Actual
The choice of decimal system may vary in Malayalam, Sinhalese, Mongolian and Uyghur languages.
Using an explicit script extension to the language code should disambiguate this, but this still does not work.
In these languages, differences will not be counted as test failures.
✓[OK]{{Formatnum|450|en}}450450
✓[OK]{{Formatnum|450|as}}৪৫০৪৫০
✓[OK]{{Formatnum|450|bn}}৪৫০৪৫০
✓[OK]{{Formatnum|450|gu}}૪૫૦૪૫૦
✓[OK]{{Formatnum|450|hi}}४५०४५०
✓[OK]{{Formatnum|450|kn}}೪೫೦೪೫೦
✓[OK]{{Formatnum|450|ml-Latn}}450450
✓[OK]{{Formatnum|450|ml}}450450
⚠[!]{{Formatnum|450|ml-Mlym}}൪൫൦450
✓[OK]{{Formatnum|450|or}}୪୫୦୪୫୦
✓[OK]{{Formatnum|450|si-Latn}}450450
✓[OK]{{Formatnum|450|si}}450450
⚠[!]{{Formatnum|450|si-Sinh}}෪෫෦450
✓[OK]{{Formatnum|450|ta}}௪௫௦௪௫௦
✓[OK]{{Formatnum|450|te}}౪౫౦౪౫౦
✓[OK]{{Formatnum|450|bo}}༤༥༠༤༥༠
✓[OK]{{Formatnum|450|dz}}༤༥༠༤༥༠
⚠[!]{{Formatnum|450|mn-Tibt}}༤༥༠450
⚠[!]{{Formatnum|450|mn-Mong}}᠔᠕᠐450
✓[OK]{{Formatnum|450|mn}}᠔᠕᠐᠔᠕᠐
✓[OK]{{Formatnum|450|mn-Cyrl}}450450
✓[OK]{{Formatnum|450|th}}๔๕๐๔๕๐
✓[OK]{{Formatnum|450|km}}៤៥០៤៥០
✓[OK]{{Formatnum|450|lo}}໔໕໐໔໕໐
✓[OK]{{Formatnum|450|ar}}٤٥٠٤٥٠
✓[OK]{{Formatnum|450|fa}}۴۵۰۴۵۰
✓[OK]{{Formatnum|450|ps}}۴۵۰۴۵۰
✓[OK]{{Formatnum|450|ks}}۴۵۰۴۵۰
✓[OK]{{Formatnum|450|ug-Cyrl}}450450
✓[OK]{{Formatnum|450|ug-Latn}}450450
✓[OK]{{Formatnum|450|ug}}450450
⚠[!]{{Formatnum|450|ug-Arab}}۴۵۰450
Test 07: Decimal_separator
Text Expected Actual
Basic cases generating a decimal separator appropriate to each language
✓[OK]{{Formatnum|123.45|de}}123,45123,45
✓[OK]{{Formatnum|123.45|en}}123.45123.45
✓[OK]{{Formatnum|123.45|fr}}123,45123,45
✓[OK]{{Formatnum|123.45|sv}}123,45123,45
There should be no trailing decimal separator for integer values
✓[OK]{{Formatnum|123.|en}}123123
✓[OK]{{Formatnum|123.|fr}}123123
✓[OK]{{Formatnum|123.00|en}}123123
✓[OK]{{Formatnum|123.00|fr}}123123
There should be at least a leading zero before the decimal separator for small non-zero absolute values
✓[OK]{{Formatnum|.12345|en}}0.123450.12345
✓[OK]{{Formatnum|.12345|fr}}0,123450,12345
✓[OK]{{Formatnum|-.12345|en}}−0.12345−0.12345
✓[OK]{{Formatnum|-.12345|fr}}−0,12345−0,12345
Test 08: Grouping_separators
Text Expected Actual
There should be grouping separators appropriate to each language
✓[OK]{{Formatnum|123456789|de}}123.456.789123.456.789
✓[OK]{{Formatnum|123456789|en}}123,456,789123,456,789
✓[OK]{{Formatnum|123456789|ml}}12,34,56,78912,34,56,789
Below there should be no grouping separators in any language
✓[OK]{{Formatnum|123456789|de|sep=1}}123456789123456789
✓[OK]{{Formatnum|123456789|en|sep=1}}123456789123456789
✓[OK]{{Formatnum|123456789|fr|sep=1}}123456789123456789
✓[OK]{{Formatnum|123456789|ml|sep=1}}123456789123456789
Test 09: Legacy_HTML_entity_or_native_UTF8
Text Expected Actual
Comparing Formatnum with Formatnum/old: "Expected" means using Formatnum/old.
Actual and expected results are HTMLized in wikitext source format.
Differences will not be counted as test failures.
⚠[!]{{Formatnum|123456789|en}}Template:Formatnum/old123,456,789
⚠[!]{{Formatnum|123456789|fr}}Template:Formatnum/old123 456 789
⚠[!]{{Formatnum|123456789|br}}Template:Formatnum/old123 456 789
⚠[!]{{Formatnum|123456789|co}}Template:Formatnum/old123 456 789
⚠[!]{{Formatnum|123456789|oc}}Template:Formatnum/old123 456 789
⚠[!]{{Formatnum|123456789|ty}}Template:Formatnum/old123 456 789
⚠[!]{{Formatnum|123456789|pl}}Template:Formatnum/old123 456 789
Test 10: Legacy_HTML_entity_or_native_UTF8_asserts
Text Expected Actual
Actual and expected results are HTMLized in wikitext source format.
✓[OK]{{Formatnum|12345|en}}12,34512,345
✘[No]{{Formatnum/old|12345|en}}12,345Template:Formatnum/old
Grouping separators may be non-breaking spaces (preferably narrow), they have several HTML representations.
Possible differences below will not be counted as failures.
✓[OK]{{Formatnum|12345|fr}}12 34512 345
⚠[!]{{Formatnum/old|12345|fr}}12 345Template:Formatnum/old
✓[OK]{{Formatnum|12345|pl}}12 34512 345
⚠[!]{{Formatnum/old|12345|pl}}12 345Template:Formatnum/old
Test 11: Legacy_grouping_separators
Text Expected Actual
Comparing Formatnum with Formatnum/old: "Expected" means using Formatnum/old.
Actual and expected results are HTMLized in wikitext source format.
Differences will not be counted as test failures.
⚠[!]{{Formatnum|1234567890|en}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|ru}}Template:Formatnum/old1 234 567 890
⚠[!]{{Formatnum|1234567890|hy}}Template:Formatnum/old1 234 567 890
⚠[!]{{Formatnum|1234567890|ka}}Template:Formatnum/old1 234 567 890
⚠[!]{{Formatnum|1234567890|mn}}Template:Formatnum/old᠑,᠒᠓᠔,᠕᠖᠗,᠘᠙᠐
⚠[!]{{Formatnum|1234567890|as}}Template:Formatnum/old১,২৩,৪৫,৬৭,৮৯০
⚠[!]{{Formatnum|1234567890|bn}}Template:Formatnum/old১,২৩,৪৫,৬৭,৮৯০
⚠[!]{{Formatnum|1234567890|gu}}Template:Formatnum/old૧,૨૩,૪૫,૬૭,૮૯૦
⚠[!]{{Formatnum|1234567890|hi}}Template:Formatnum/old१,२३,४५,६७,८९०
⚠[!]{{Formatnum|1234567890|kn}}Template:Formatnum/old೧,೨೩,೪೫,೬೭,೮೯೦
⚠[!]{{Formatnum|1234567890|ml}}Template:Formatnum/old1,23,45,67,890
⚠[!]{{Formatnum|1234567890|or}}Template:Formatnum/old୧,୨୩,୪୫,୬୭,୮୯୦
⚠[!]{{Formatnum|1234567890|pa}}Template:Formatnum/old1,23,45,67,890
⚠[!]{{Formatnum|1234567890|ta}}Template:Formatnum/old௧,௨௩,௪௫,௬௭,௮௯௦
⚠[!]{{Formatnum|1234567890|te}}Template:Formatnum/old౧,౨౩,౪౫,౬౭,౮౯౦
⚠[!]{{Formatnum|1234567890|bo}}Template:Formatnum/old༡,༢༣༤,༥༦༧,༨༩༠
⚠[!]{{Formatnum|1234567890|th}}Template:Formatnum/old๑,๒๓๔,๕๖๗,๘๙๐
⚠[!]{{Formatnum|1234567890|km}}Template:Formatnum/old១២៣៤៥៦៧៨៩០
⚠[!]{{Formatnum|1234567890|lo}}Template:Formatnum/old໑.໒໓໔.໕໖໗.໘໙໐
⚠[!]{{Formatnum|1234567890|ja}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|ko}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|zh}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|zh-hans}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|zh-hant}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|wuu}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|yue}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|he}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|yi}}Template:Formatnum/old1,234,567,890
The Arabic script normally uses its own grouping separator U+066C (not to be confused with U+066B for its decimal separator).
It also uses two different styles of digits: Western digits for standard Arabic and related languages in Africa, and Eastern digits for Farsi and related languages in Central Asia.
In India or China, Latin-Arabic digits may be used with the ASCII comma U+0044 for the grouping separator.
⚠[!]{{Formatnum|1234567890|ar}}Template:Formatnum/old١٬٢٣٤٬٥٦٧٬٨٩٠
⚠[!]{{Formatnum|1234567890|fa}}Template:Formatnum/old۱٬۲۳۴٬۵۶۷٬۸۹۰
⚠[!]{{Formatnum|1234567890|ps}}Template:Formatnum/old۱٬۲۳۴٬۵۶۷٬۸۹۰
⚠[!]{{Formatnum|1234567890|ks}}Template:Formatnum/old۱٬۲۳۴٬۵۶۷٬۸۹۰
⚠[!]{{Formatnum|1234567890|ur}}Template:Formatnum/old1,234,567,890
⚠[!]{{Formatnum|1234567890|ug}}Template:Formatnum/old1,234,567,890
Test 99: Unsupported_languages_using_user_default_language_instead
Text Expected Actual
Results may vary depending on supported language of the user if it uses non-ASCII digits.
Differences will not be counted as test failures.
✓[OK]{{Formatnum|100000|sep=1}}100000100000
✓[OK]{{Formatnum|100000||sep=1}}100000100000
✓[OK]{{Formatnum|100000|qq|sep=1}}100000100000
✓[OK]{{Formatnum|100000|qqa|sep=1}}100000100000
✓[OK]{{Formatnum|100000|mul|sep=1}}100000100000
✓[OK]{{Formatnum|100000|und|sep=1}}100000100000
✓[OK]{{Formatnum|100000|root|sep=1}}100000100000
✓[OK]{{Formatnum|100000|user|sep=1}}100000100000
✓[OK]{{Formatnum|100000|invalid|sep=1}}100000100000
If too many languages are used (more than 20?), they may behave like default languages.
Differences will not be counted as test failures.
✓[OK]{{Formatnum|100000|aa|sep=1}}100000100000
✓[OK]{{Formatnum|100000|ab|sep=1}}100000100000
✓[OK]{{Formatnum|100000|ace|sep=1}}100000100000
✓[OK]{{Formatnum|100000|mwl|sep=1}}100000100000
✓[OK]{{Formatnum|100000|ydd|sep=1}}100000100000
✓[OK]{{Formatnum|100000|zea|sep=1}}100000100000
Category:Testcases modules
Category:Testcases modules