Skip to content

Commit

Permalink
Make test_smoke more thorough
Browse files Browse the repository at this point in the history
  • Loading branch information
akx committed Apr 8, 2022
1 parent 9cd0ed9 commit d2b953b
Showing 1 changed file with 32 additions and 13 deletions.
45 changes: 32 additions & 13 deletions tests/test_smoke.py
Expand Up @@ -6,32 +6,51 @@
we ship.
"""
import decimal
from datetime import datetime

import datetime
import pytest
from babel import Locale
from babel import dates
from babel import numbers

from babel import Locale, units, dates, numbers

NUMBERS = (
decimal.Decimal("-33.76"), # Negative Decimal
decimal.Decimal("13.37"), # Positive Decimal
1.2 - 1.0, # Inaccurate float
10, # Plain old integer
0, # Zero
)


@pytest.mark.all_locales
def test_smoke_dates(locale):
locale = Locale.parse(locale)
instant = datetime.now()
instant = datetime.datetime.now()
for width in ("full", "long", "medium", "short"):
assert dates.format_date(instant, format=width, locale=locale)
assert dates.format_datetime(instant, format=width, locale=locale)
assert dates.format_time(instant, format=width, locale=locale)
# Interval test
past = instant - datetime.timedelta(hours=23)
assert dates.format_interval(past, instant, locale=locale)
# Duration test - at the time of writing, all locales seem to have `short` width,
# so let's test that.
duration = instant - instant.replace(hour=0, minute=0, second=0)
for granularity in ('second', 'minute', 'hour', 'day'):
assert dates.format_timedelta(duration, granularity=granularity, format="short", locale=locale)


@pytest.mark.all_locales
def test_smoke_numbers(locale):
locale = Locale.parse(locale)
for number in (
decimal.Decimal("-33.76"), # Negative Decimal
decimal.Decimal("13.37"), # Positive Decimal
1.2 - 1.0, # Inaccurate float
10, # Plain old integer
0, # Zero
):
for number in NUMBERS:
assert numbers.format_decimal(number, locale=locale)
assert numbers.format_currency(number, "EUR", locale=locale)
assert numbers.format_scientific(number, locale=locale)
assert numbers.format_percent(number / 100, locale=locale)


@pytest.mark.all_locales
def test_smoke_units(locale):
locale = Locale.parse(locale)
for unit in ('length-meter', 'mass-kilogram', 'energy-calorie', 'volume-liter'):
for number in NUMBERS:
assert units.format_unit(number, measurement_unit=unit, locale=locale)

0 comments on commit d2b953b

Please sign in to comment.