l_time = system_time_to_minutes(&local);
ok(l_time - s_time == diff, "got %d, expected %d\n",
(LONG)(l_time - s_time), diff);
+
+ /* test 23:01, 31st of December date */
+ memset(&tzinfo, 0, sizeof(tzinfo));
+ tzinfo.StandardDate.wMonth = 10;
+ tzinfo.StandardDate.wDay = 5;
+ tzinfo.StandardDate.wHour = 2;
+ tzinfo.StandardDate.wMinute = 0;
+ tzinfo.DaylightDate.wMonth = 4;
+ tzinfo.DaylightDate.wDay = 1;
+ tzinfo.DaylightDate.wHour = 2;
+ tzinfo.Bias = 0;
+ tzinfo.StandardBias = 0;
+ tzinfo.DaylightBias = -60;
+ utc.wYear = 2012;
+ utc.wMonth = 12;
+ utc.wDay = 31;
+ utc.wHour = 23;
+ utc.wMinute = 1;
+ res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &utc, &local);
+ ok(res, "SystemTimeToTzSpecificLocalTime error %u\n", GetLastError());
+ ok(local.wYear==2012 && local.wMonth==12 && local.wDay==31 && local.wHour==23 && local.wMinute==1,
+ "got (%d-%d-%d %02d:%02d), expected (2012-12-31 23:01)\n",
+ local.wYear, local.wMonth, local.wDay, local.wHour, local.wMinute);
}
static void test_FileTimeToSystemTime(void)