@@ -1080,26 +1080,30 @@ def iris(datapath):
1080
1080
# ----------------------------------------------------------------
1081
1081
# Time zones
1082
1082
# ----------------------------------------------------------------
1083
- TIMEZONES = [
1084
- None ,
1085
- "UTC" ,
1086
- "US/Eastern" ,
1087
- "Asia/Tokyo" ,
1088
- "dateutil/US/Pacific" ,
1089
- "dateutil/Asia/Singapore" ,
1090
- "+01:15" ,
1091
- "-02:15" ,
1092
- "UTC+01:15" ,
1093
- "UTC-02:15" ,
1094
- tzutc (),
1095
- tzlocal (),
1096
- FixedOffset (300 ),
1097
- FixedOffset (0 ),
1098
- FixedOffset (- 300 ),
1099
- timezone .utc ,
1100
- timezone (timedelta (hours = 1 )),
1101
- timezone (timedelta (hours = - 1 ), name = "foo" ),
1083
+
1084
+ # contains a list of different timezones in a number of formats, along with the
1085
+ # matched offset from UTC
1086
+ TIMEZONE_MAPPING = [
1087
+ (None , None ),
1088
+ ("UTC" , Timedelta ("0 days" )),
1089
+ ("US/Eastern" , Timedelta ("-5 hours" )),
1090
+ ("Asia/Tokyo" , Timedelta ("9 hours" )),
1091
+ ("dateutil/US/Pacific" , Timedelta ("-8 hours" )),
1092
+ ("dateutil/Asia/Singapore" , Timedelta ("8 hours" )),
1093
+ ("+01:15" , Timedelta ("1 hour 15 minutes" )),
1094
+ ("-02:15" , Timedelta ("-2 hours 15 minutes" )),
1095
+ ("UTC+01:15" , Timedelta ("1 hour 15 minutes" )),
1096
+ ("UTC-02:15" , Timedelta ("-2 hours 15 minutes" )),
1097
+ (tzutc (), Timedelta ("0 seconds" )),
1098
+ (tzlocal (), None ),
1099
+ (FixedOffset (300 ), Timedelta ("300 minutes" )),
1100
+ (FixedOffset (0 ), Timedelta ("0 minutes" )),
1101
+ (FixedOffset (- 300 ), Timedelta ("-300 minutes" )),
1102
+ (timezone .utc , Timedelta ("0 seconds" )),
1103
+ (timezone (timedelta (hours = 1 )), Timedelta ("1 hours" )),
1104
+ (timezone (timedelta (hours = - 1 ), name = "foo" ), Timedelta ("-1 hours" )),
1102
1105
]
1106
+ TIMEZONES = [i for (i , _ ) in TIMEZONE_MAPPING ]
1103
1107
TIMEZONE_IDS = [repr (i ) for i in TIMEZONES ]
1104
1108
1105
1109
@@ -1121,6 +1125,15 @@ def tz_aware_fixture(request):
1121
1125
return request .param
1122
1126
1123
1127
1128
+ @pytest .fixture
1129
+ def tz_aware_utc_offset_fixture (tz_aware_fixture ):
1130
+ """
1131
+ Expected tz offset from UTC for each key in TIMEZONE_MAPPING
1132
+ """
1133
+ tz , expected_offset = TIMEZONE_MAPPING [TIMEZONES .index (tz_aware_fixture )]
1134
+ return expected_offset
1135
+
1136
+
1124
1137
# Generate cartesian product of tz_aware_fixture:
1125
1138
tz_aware_fixture2 = tz_aware_fixture
1126
1139
0 commit comments