From: Aarni Koskela Date: Fri, 8 Apr 2016 05:34:31 +0000 (+0300) Subject: Add smoke tests for basic operations X-Git-Tag: v2.4.0~32^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=971e7060082a8297947351db6c5aa6ce12fb0b7b;p=thirdparty%2Fbabel.git Add smoke tests for basic operations Refs #378 --- 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)