X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-getdate.c;h=adbcf3a698593da7c28a71a8a4afd370b2bb556e;hb=77041ebc885b2af4e2d48fd49cf5529759351076;hp=901adf953ad662518d53c1aca37df675f2e5133e;hpb=e2f9495d87e4f2eaf2bfb87ebfaa2c79df2f50b6;p=gnulib.git diff --git a/tests/test-getdate.c b/tests/test-getdate.c index 901adf953..adbcf3a69 100644 --- a/tests/test-getdate.c +++ b/tests/test-getdate.c @@ -98,5 +98,67 @@ main (int argc, char **argv) ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); + /* test if several time zones formats are handled same way */ + now.tv_sec = 4711; + now.tv_nsec = 1267; + p = "UTC+14:00"; + ASSERT (get_date (&result, p, &now)); + LOG (p, now, result); + p = "UTC+14"; + ASSERT (get_date (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); + p = "UTC+1400"; + ASSERT (get_date (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); + + now.tv_sec = 4711; + now.tv_nsec = 1267; + p = "UTC-14:00"; + ASSERT (get_date (&result, p, &now)); + LOG (p, now, result); + p = "UTC-14"; + ASSERT (get_date (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); + p = "UTC-1400"; + ASSERT (get_date (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); + + now.tv_sec = 4711; + now.tv_nsec = 1267; + p = "UTC+0:15"; + ASSERT (get_date (&result, p, &now)); + LOG (p, now, result); + p = "UTC+0015"; + ASSERT (get_date (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); + + now.tv_sec = 4711; + now.tv_nsec = 1267; + p = "UTC-1:30"; + ASSERT (get_date (&result, p, &now)); + LOG (p, now, result); + p = "UTC-130"; + ASSERT (get_date (&result2, p, &now)); + LOG (p, now, result2); + ASSERT (result.tv_sec == result2.tv_sec + && result.tv_nsec == result2.tv_nsec); + + + /* TZ out of range should cause get_date failure */ + now.tv_sec = 4711; + now.tv_nsec = 1267; + p = "UTC+25:00"; + ASSERT (!get_date (&result, p, &now)); + return 0; }