Fix test_time_zoneinfo edge case (#1411)

* fix: available timezones in test_time_zoneinfo differ by system, update assertions to handle possible inclusion of obsolete IANA entries
pull/1418/merge
Aaron LaFevers 2025-09-30 09:28:53 -05:00 committed by GitHub
parent 27091b5b34
commit 181103d7ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 14 additions and 2 deletions

View File

@ -3253,8 +3253,20 @@ def test_time_zoneinfo():
isinstance(tz, tzinfo) isinstance(tz, tzinfo)
assert isinstance(utils.time.zoneinfo("Argentina/Cordoba"), tzinfo) assert isinstance(utils.time.zoneinfo("Argentina/Cordoba"), tzinfo)
assert utils.time.zoneinfo("Argentina/Cordoba").key == tz.key assert utils.time.zoneinfo("Argentina/Cordoba").key == tz.key
assert isinstance(utils.time.zoneinfo("Cordoba"), tzinfo) # "America/Cordoba" has been obsoleted by IANA in facor of
assert utils.time.zoneinfo("Cordoba").key == "America/Cordoba" # "America/Argentina/Cordoba", however the IANA database
# instance used is system-dependent, so these tests have
# different results depending on the system running them
if utils.time.zoneinfo("Cordoba") is not None:
# the system has the obsolete "America/Cordoba" entry
assert isinstance(utils.time.zoneinfo("Cordoba"), tzinfo)
assert utils.time.zoneinfo("Cordoba").key == "America/Cordoba"
else:
assert utils.time.zoneinfo("Cordoba") is None
# the utils helper should still resolve this abbreviated (and
# lowercase) form
assert utils.time.zoneinfo("argentina/cordoba").key == \
"America/Argentina/Cordoba"
# Too ambiguous # Too ambiguous
assert utils.time.zoneinfo("Argentina") is None assert utils.time.zoneinfo("Argentina") is None