diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-05 10:38:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-05 10:38:34 +0000 |
commit | e3bdad36cc3a1a00c1e6772ca1c1898085ab73e0 (patch) | |
tree | 34512072a667ae716fd262e7b37e733e60fe4d89 /tests/tz/test_local_timezone.py | |
parent | Adding upstream version 2.1.2. (diff) | |
download | pendulum-83a7f839c9a467bc9d84890cf9e61ed3520cd627.tar.xz pendulum-83a7f839c9a467bc9d84890cf9e61ed3520cd627.zip |
Adding upstream version 3.0.0~a1.upstream/3.0.0_a1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/tz/test_local_timezone.py')
-rw-r--r-- | tests/tz/test_local_timezone.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/tz/test_local_timezone.py b/tests/tz/test_local_timezone.py new file mode 100644 index 0000000..b8eff6d --- /dev/null +++ b/tests/tz/test_local_timezone.py @@ -0,0 +1,52 @@ +from __future__ import annotations + +import os +import sys + +import pytest + +from pendulum.tz.local_timezone import _get_unix_timezone +from pendulum.tz.local_timezone import _get_windows_timezone + + +@pytest.mark.skipif( + sys.platform == "win32", reason="Test only available for UNIX systems" +) +def test_unix_symlink(): + # A ZONE setting in the target path of a symbolic linked localtime, + # f ex systemd distributions + local_path = os.path.join(os.path.split(__file__)[0], "..") + tz = _get_unix_timezone(_root=os.path.join(local_path, "fixtures", "tz", "symlink")) + + assert tz.name == "Europe/Paris" + + +@pytest.mark.skipif( + sys.platform == "win32", reason="Test only available for UNIX systems" +) +def test_unix_clock(): + # A ZONE setting in the target path of a symbolic linked localtime, + # f ex systemd distributions + local_path = os.path.join(os.path.split(__file__)[0], "..") + tz = _get_unix_timezone(_root=os.path.join(local_path, "fixtures", "tz", "clock")) + + assert tz.name == "Europe/Zurich" + + +@pytest.mark.skipif(sys.platform != "win32", reason="Test only available for Windows") +def test_windows_timezone(): + timezone = _get_windows_timezone() + + assert timezone is not None + + +@pytest.mark.skipif( + sys.platform == "win32", reason="Test only available for UNIX systems" +) +def test_unix_etc_timezone_dir(): + # Should not fail if `/etc/timezone` is a folder + local_path = os.path.join(os.path.split(__file__)[0], "..") + root_path = os.path.join(local_path, "fixtures", "tz", "timezone_dir") + tz = _get_unix_timezone(_root=root_path) + + assert tz.name == "Europe/Paris" |