]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Add smoke tests for basic operations 379/head
authorAarni Koskela <akx@iki.fi>
Fri, 8 Apr 2016 05:34:31 +0000 (08:34 +0300)
committerAarni Koskela <akx@iki.fi>
Fri, 8 Apr 2016 06:13:05 +0000 (09:13 +0300)
Refs #378

tests/conftest.py
tests/test_smoke.py [new file with mode: 0644]

index 117a1307f528988638ea86e306202a36c0f701b3..be93b2be7a90cd419e41f97e9ca9f9b7faf90b83 100644 (file)
@@ -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 (file)
index 0000000..eda10ed
--- /dev/null
@@ -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)