• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

gladiaio / num2words2 / 35659557188
97%

Build:
DEFAULT BRANCH: main
Ran 21 Sep 2026 09:55PM UTC
Jobs 6
Files 171
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Sep 2026 09:51PM UTC coverage: 95.13% (-0.02%) from 95.15%
35659557188

push

github

web-flow
fix(or): render Odia in the Odia script, separate 70 from 17, add suppletive ordinals (#138)

* fix(or): render Odia in the Odia script, fix tens[7], add real ordinals

lang_OR.py spelled every numeral in IAST-style Latin transliteration
(eka, dui, calisa, hajara). Odia is written in the Odia script, and
every sibling Indic module in this crate (lang_bn.rs, lang_hi.rs,
lang_ta.rs, lang_te.rs) already emits its own script. Rewrites ONES,
TEENS, TENS, zero, hundred, thousand, million, the negative prefix,
the decimal point, the connector and the three CURRENCY_FORMS entries.

tens[7] was a verbatim duplicate of teens[7], so 70 and 17 produced the
identical string and 77 came out as 'seventeen and seven'. The module
header already flagged this as wrong and kept it only because the
frozen corpus pinned it. TENS[7] is now the real 70.

Ordinals 1-10 are suppletive Sanskrit-derived forms, not the cardinal
plus a suffix: prathama, dwitiya, trutiya, caturtha, pancama, sastha,
saptama, astama, nabama, dasama. Upstream glued 'ma' to every cardinal,
producing non-words for 1, 2, 3, 4 and 6. From 11 up the suffix arm is
kept as upstream had it - the marker is a genuine Odia ordinal ending -
so only the script changed there.

Composition rules, the multiplier guards, the 10^9 digit cliff and the
currency fallback are untouched. verify_ordinal is deliberately NOT
restored.

Adds tests/lang/test_or.py (9 tests) and updates the or entry in
test_new_26_languages.py.

* fix(or): use the Odia ordinal suffix on the non-integer ordinal_num paths

The float/Decimal, Infinity and NaN entry points of to_ordinal_num still
glued the transliterated "ma" while the integer path used ORDINAL_SUFFIX,
so 5.5 rendered as "5.5ma" next to "5ମ". Route all of them through
ORDINAL_SUFFIX and pin the behaviour with a test.

---------

Co-authored-by: Jean-Louis Queguiner <jean-louis.queguiner@gmail.com>

1268 of 1424 branches covered (89.04%)

Branch coverage included in aggregate %.

42 of 50 new or added lines in 1 file covered. (84.0%)

24714 of 25888 relevant lines covered (95.47%)

5.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
84.62
tests/lang/test_or.py
Jobs
ID Job ID Ran Files Coverage
1 3.15 - 35659557188.1 21 Sep 2026 10:00PM UTC 171
95.13
GitHub Action Run
2 3.10 - 35659557188.2 21 Sep 2026 10:00PM UTC 171
95.13
GitHub Action Run
3 3.14 - 35659557188.3 21 Sep 2026 10:00PM UTC 171
95.13
GitHub Action Run
4 3.13 - 35659557188.4 21 Sep 2026 10:00PM UTC 171
95.13
GitHub Action Run
5 3.11 - 35659557188.5 21 Sep 2026 10:00PM UTC 171
95.13
GitHub Action Run
6 3.12 - 35659557188.6 21 Sep 2026 10:00PM UTC 171
95.13
GitHub Action Run
Source Files on build 35659557188
  • Tree
  • List 171
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 3ff7b056 on github
  • Prev Build on main (#35658729994)
  • Next Build on main (#35660982929)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc