From 971e7060082a8297947351db6c5aa6ce12fb0b7b Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Fri, 8 Apr 2016 08:34:31 +0300 Subject: [PATCH] Add smoke tests for basic operations Refs #378 --- tests/conftest.py | 6 ++++++ tests/test_smoke.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/test_smoke.py diff --git a/tests/conftest.py b/tests/conftest.py index 117a1307..be93b2be 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -7,3 +7,9 @@ def os_environ(monkeypatch): mock_environ = dict(os.environ) monkeypatch.setattr(os, 'environ', mock_environ) return mock_environ + + +def pytest_generate_tests(metafunc): + if hasattr(metafunc.function, "all_locales"): + from babel.localedata import locale_identifiers + metafunc.parametrize("locale", list(locale_identifiers())) diff --git a/tests/test_smoke.py b/tests/test_smoke.py new file mode 100644 index 00000000..eda10ed3 --- /dev/null +++ b/tests/test_smoke.py @@ -0,0 +1,37 @@ +# -- encoding: UTF-8 -- +""" +These tests do not verify any results and should not be run when +looking at improving test coverage. They just verify that basic +operations don't fail due to odd corner cases on any locale that +we ship. +""" +from datetime import datetime + +import pytest +from babel import Locale +from babel import dates +from babel import numbers +from babel._compat import Decimal + + +@pytest.mark.all_locales +def test_smoke_dates(locale): + locale = Locale.parse(locale) + instant = 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) + + +@pytest.mark.all_locales +def test_smoke_numbers(locale): + locale = Locale.parse(locale) + for number in ( + Decimal("-33.76"), # Negative Decimal + Decimal("13.37"), # Positive Decimal + 1.2 - 1.0, # Inaccurate float + 10, # Plain old integer + 0, # Zero + ): + assert numbers.format_number(number, locale=locale) -- 2.47.2