from fontTools.misc.timeTools import asctime, timestampNow, timestampToString, timestampFromString, epoch_diff import os import time import locale import pytest def test_asctime(): assert isinstance(asctime(), str) assert asctime(time.gmtime(0)) == 'Thu Jan 1 00:00:00 1970' def test_source_date_epoch(): os.environ["SOURCE_DATE_EPOCH"] = "150687315" assert timestampNow() + epoch_diff == 150687315 # Check that malformed value fail, any better way? os.environ["SOURCE_DATE_EPOCH"] = "ABCDEFGHI" with pytest.raises(ValueError): timestampNow() del os.environ["SOURCE_DATE_EPOCH"] assert timestampNow() + epoch_diff != 150687315 # test for issue #1838 def test_date_parsing_with_locale(): l = locale.getlocale(locale.LC_TIME) try: locale.setlocale(locale.LC_TIME, 'de_DE.utf8') except locale.Error: pytest.skip("Locale de_DE not available") try: assert timestampFromString(timestampToString(timestampNow())) finally: locale.setlocale(locale.LC_TIME, l)