6#include <winpr/wtypes.h>
7#include <winpr/string.h>
8#include <winpr/timezone.h>
11static BOOL test_tz(
const char* iana,
const char* expected)
13 char key[128] = WINPR_C_ARRAY_INIT;
17 if (setenv(
"TZ", iana, 1) != 0)
21 (void)GetDynamicTimeZoneInformation(&tzif);
22 if (ConvertWCharNToUtf8(tzif.TimeZoneKeyName, ARRAYSIZE(tzif.TimeZoneKeyName), key,
26 if (strcmp(key, expected) != 0)
28 (void)fprintf(stderr,
"%s: expected time zone key '%s', got '%s'\n", iana, expected, key);
35int TestTimeZoneIanaAlias(
int argc,
char* argv[])
42 if (!test_tz(
"Asia/Kolkata",
"India Standard Time"))
44 if (!test_tz(
"Europe/Kyiv",
"FLE Standard Time"))
46 if (!test_tz(
"Asia/Kathmandu",
"Nepal Standard Time"))
48 if (!test_tz(
"Asia/Yangon",
"Myanmar Standard Time"))
52 if (!test_tz(
"Pacific/Pohnpei",
"Central Pacific Standard Time"))
55 if (!test_tz(
"Asia/Calcutta",
"India Standard Time"))
57 if (!test_tz(
"Europe/Kiev",
"FLE Standard Time"))
59 if (!test_tz(
"Asia/Katmandu",
"Nepal Standard Time"))
61 if (!test_tz(
"Asia/Rangoon",
"Myanmar Standard Time"))