diff options
author | Emmanuele Bassi <ebassi@cvs.gnome.org> | 2006-03-23 02:54:29 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@src.gnome.org> | 2006-03-23 02:54:29 +0000 |
commit | 6db9ec40708a4ad60a11a21856a1d54a48b01abd (patch) | |
tree | 3bf85717b4903d7847fac54f356890ea2986f849 /tests/testglib.c | |
parent | 0028b643bc40b38d59cdd3c74a33ec3e282dd397 (diff) | |
download | glib-6db9ec40708a4ad60a11a21856a1d54a48b01abd.tar.gz |
Check for timegm.
2006-03-23 Emmanuele Bassi <ebassi@cvs.gnome.org>
* configure.in: Check for timegm.
* glib/gtimer.h:
* glib/gtimer.c:
* glib/glib.symbols:
* docs/reference/glib/glib-sections.txt: Added g_time_val_to_iso8601
and g_time_val_from_iso8601, to convert a GTimeVal to and from an
ISO 8601 encoded date.
* tests/testglib.c: Added test cases for g_time_val_to_iso8601()
and g_time_val_from_iso8601() functions.
Diffstat (limited to 'tests/testglib.c')
-rw-r--r-- | tests/testglib.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/testglib.c b/tests/testglib.c index 42f4fce9a..0aadec72a 100644 --- a/tests/testglib.c +++ b/tests/testglib.c @@ -475,7 +475,9 @@ main (int argc, gint morenums[10] = { 8, 9, 7, 0, 3, 2, 5, 1, 4, 6}; gchar *string; gint value = 120; - gint *pvalue=NULL; + gint *pvalue=NULL; + GTimeVal ref_date, date; + gchar *date_str; gchar *mem[10000], *tmp_string = NULL, *tmp_string_2; gint i, j; @@ -1176,6 +1178,37 @@ main (int argc, g_timer_destroy(timer); g_timer_destroy(timer2); +#define REF_SEC_UTC 343737360 +#define REF_STR_UTC "1980-11-22T10:36:00Z" +#define REF_STR_CEST "1980-11-22T12:36:00+02:00" +#define REF_STR_EST "1980-11-22T05:36:00-05:00" + + g_print ("checking g_time_val_from_iso8601...\n"); + ref_date.tv_sec = REF_SEC_UTC; + ref_date.tv_usec = 0; + g_assert (g_time_val_from_iso8601 (REF_STR_UTC, &date) != FALSE); + g_print ("\t=> UTC stamp = %ld (should be: %ld) (%ld off)\n", date.tv_sec, ref_date.tv_sec, date.tv_sec - ref_date.tv_sec); + g_assert (date.tv_sec == ref_date.tv_sec); + + g_assert (g_time_val_from_iso8601 (REF_STR_CEST, &date) != FALSE); + g_print ("\t=> CEST stamp = %ld (should be: %ld) (%ld off)\n", date.tv_sec, ref_date.tv_sec, date.tv_sec - ref_date.tv_sec); + g_assert (date.tv_sec == ref_date.tv_sec); + + g_assert (g_time_val_from_iso8601 (REF_STR_EST, &date) != FALSE); + g_print ("\t=> EST stamp = %ld (should be: %ld) (%ld off)\n", date.tv_sec, ref_date.tv_sec, date.tv_sec - ref_date.tv_sec); + g_assert (date.tv_sec == ref_date.tv_sec); + g_print ("ok\n"); + + g_print ("checking g_time_val_to_iso8601...\n"); + ref_date.tv_sec = REF_SEC_UTC; + ref_date.tv_usec = 1; + date_str = g_time_val_to_iso8601 (&ref_date); + g_assert (date_str != NULL); + g_print ("\t=> date string = %s (should be: %s)\n", date_str, REF_STR_UTC); + g_assert (strcmp (date_str, REF_STR_UTC) == 0); + g_free (date_str); + g_print ("ok\n"); + g_print ("checking g_ascii_strcasecmp..."); g_assert (g_ascii_strcasecmp ("FroboZZ", "frobozz") == 0); g_assert (g_ascii_strcasecmp ("frobozz", "frobozz") == 0); |