Module talk:Formatnum/testcases

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

12 tests failed.

Test 01: English_basic
Text Expected Actual
✓[OK] {{Formatnum|0|en}} 0 0
✓[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/old 100.0
✘[No] {{Formatnum|100.0|en|prec=1}} Template:Formatnum/old 100.0
✘[No] {{Formatnum|100.01|en|prec=2}} Template:Formatnum/old 100.01
✘[No] {{Formatnum|100.01|en|prec=3}} Template:Formatnum/old 100.010
✘[No] {{Formatnum|100.010|en|prec=2}} Template:Formatnum/old 100.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/old 100,0.
✘[No] {{Formatnum|100,0.|en|sep=}} Template:Formatnum/old 100,0.
✘[No] {{Formatnum|100.01|en|prec=-2}} Template:Formatnum/old 100.01
✘[No] {{Formatnum|200.1|en|prec=3.5}} Template:Formatnum/old 200.100
✓[OK] {{Formatnum|200.1|en|prec=3,5}} 200.1 200.1
✓[OK] {{Formatnum|200.1|en|prec=a}} 200.1 200.1
Test 04: English_unnecessary_signs_removed
Text Expected Actual
✓[OK] {{Formatnum|-0|en}} 0 0
✓[OK] {{Formatnum|+123|en}} 123 123
Test 05: Non_numbers_preserved
Text Expected Actual
✓[OK] {{Formatnum|12:34:45|en}} 12:34:45 12:34:45
✓[OK] {{Formatnum|12 h 34|fr}} 12 h 34 12 h 34
✓[OK] {{Formatnum|12:34:45|th}} 12:34:45 12:34:45
✓[OK] {{Formatnum|12:34:45.00|en}} 12:34:45.00 12: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}} 450 450
✓[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}} 450 450
✓[OK] {{Formatnum|450|ml}} 450 450
⚠[!] {{Formatnum|450|ml-Mlym}} ൪൫൦ 450
✓[OK] {{Formatnum|450|or}} ୪୫୦ ୪୫୦
✓[OK] {{Formatnum|450|si-Latn}} 450 450
✓[OK] {{Formatnum|450|si}} 450 450
⚠[!] {{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}} 450 450
✓[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}} 450 450
✓[OK] {{Formatnum|450|ug-Latn}} 450 450
✓[OK] {{Formatnum|450|ug}} 450 450
⚠[!] {{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,45 123,45
✓[OK] {{Formatnum|123.45|en}} 123.45 123.45
✓[OK] {{Formatnum|123.45|fr}} 123,45 123,45
✓[OK] {{Formatnum|123.45|sv}} 123,45 123,45
There should be no trailing decimal separator for integer values
✓[OK] {{Formatnum|123.|en}} 123 123
✓[OK] {{Formatnum|123.|fr}} 123 123
✓[OK] {{Formatnum|123.00|en}} 123 123
✓[OK] {{Formatnum|123.00|fr}} 123 123
There should be at least a leading zero before the decimal separator for small non-zero absolute values
✓[OK] {{Formatnum|.12345|en}} 0.12345 0.12345
✓[OK] {{Formatnum|.12345|fr}} 0,12345 0,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.789 123.456.789
✓[OK] {{Formatnum|123456789|en}} 123,456,789 123,456,789
✓[OK] {{Formatnum|123456789|ml}} 12,34,56,789 12,34,56,789
Below there should be no grouping separators in any language
✓[OK] {{Formatnum|123456789|de|sep=1}} 123456789 123456789
✓[OK] {{Formatnum|123456789|en|sep=1}} 123456789 123456789
✓[OK] {{Formatnum|123456789|fr|sep=1}} 123456789 123456789
✓[OK] {{Formatnum|123456789|ml|sep=1}} 123456789 123456789
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/old 123,456,789
⚠[!] {{Formatnum|123456789|fr}} Template:Formatnum/old 123 456 789
⚠[!] {{Formatnum|123456789|br}} Template:Formatnum/old 123 456 789
⚠[!] {{Formatnum|123456789|co}} Template:Formatnum/old 123 456 789
⚠[!] {{Formatnum|123456789|oc}} Template:Formatnum/old 123 456 789
⚠[!] {{Formatnum|123456789|ty}} Template:Formatnum/old 123 456 789
⚠[!] {{Formatnum|123456789|pl}} Template:Formatnum/old 123 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,345 12,345
✘[No] {{Formatnum/old|12345|en}} 12,345 Template: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 345 12 345
⚠[!] {{Formatnum/old|12345|fr}} 12 345 Template:Formatnum/old
✓[OK] {{Formatnum|12345|pl}} 12 345 12 345
⚠[!] {{Formatnum/old|12345|pl}} 12 345 Template: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/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|ru}} Template:Formatnum/old 1 234 567 890
⚠[!] {{Formatnum|1234567890|hy}} Template:Formatnum/old 1 234 567 890
⚠[!] {{Formatnum|1234567890|ka}} Template:Formatnum/old 1 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/old 1,23,45,67,890
⚠[!] {{Formatnum|1234567890|or}} Template:Formatnum/old ୧,୨୩,୪୫,୬୭,୮୯୦
⚠[!] {{Formatnum|1234567890|pa}} Template:Formatnum/old 1,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/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|ko}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|zh}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|zh-hans}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|zh-hant}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|wuu}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|yue}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|he}} Template:Formatnum/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|yi}} Template:Formatnum/old 1,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/old 1,234,567,890
⚠[!] {{Formatnum|1234567890|ug}} Template:Formatnum/old 1,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}} 100000 100000
✓[OK] {{Formatnum|100000||sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|qq|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|qqa|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|mul|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|und|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|root|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|user|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|invalid|sep=1}} 100000 100000
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}} 100000 100000
✓[OK] {{Formatnum|100000|ab|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|ace|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|mwl|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|ydd|sep=1}} 100000 100000
✓[OK] {{Formatnum|100000|zea|sep=1}} 100000 100000