From e2b0a977e2c0365ae2a565ddfaf492ecee012d4b Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Mon, 25 Oct 2021 11:59:30 +0200 Subject: [PATCH] templatetags: handle only integers with as_numeral filter (#58022) --- hobo/templatetags/hobo.py | 1 + tests/test_templatetags.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hobo/templatetags/hobo.py b/hobo/templatetags/hobo.py index cdeaf84..10e6fa1 100644 --- a/hobo/templatetags/hobo.py +++ b/hobo/templatetags/hobo.py @@ -43,6 +43,7 @@ def as_numeral(number): number = parse_float(number) if not number: return '' + number = int(number) try: return num2words(number, lang=get_language()) except (TypeError, ValueError, decimal.InvalidOperation): diff --git a/tests/test_templatetags.py b/tests/test_templatetags.py index b106420..2a9777e 100644 --- a/tests/test_templatetags.py +++ b/tests/test_templatetags.py @@ -21,8 +21,8 @@ def test_as_numeral(settings): t = Template('{{ number|as_numeral }}') assert t.render(Context({'number': 42})) == 'forty-two' assert t.render(Context({'number': '42'})) == 'forty-two' - assert t.render(Context({'number': 42.15})) == 'forty-two point one five' - assert t.render(Context({'number': '42,15'})) == 'forty-two point one five' + assert t.render(Context({'number': 42.15})) == 'forty-two' + assert t.render(Context({'number': '42,15'})) == 'forty-two' assert t.render(Context({'number': -42})) == 'minus forty-two' assert t.render(Context({'number': 100200})) == 'one hundred thousand, two hundred' assert t.render(Context({'number': '100200'})) == 'one hundred thousand, two hundred' @@ -34,7 +34,7 @@ def test_as_numeral(settings): settings.LANGUAGE_CODE = 'fr' assert t.render(Context({'number': '42'})) == 'quarante-deux' - assert t.render(Context({'number': 42.15})) == 'quarante-deux virgule un cinq' + assert t.render(Context({'number': 42.15})) == 'quarante-deux' assert t.render(Context({'number': 100200})) == 'cent mille deux cents' -- 2.30.2