summaryrefslogtreecommitdiff
path: root/tests/testglib.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@cvs.gnome.org>2006-03-23 02:54:29 +0000
committerEmmanuele Bassi <ebassi@src.gnome.org>2006-03-23 02:54:29 +0000
commit6db9ec40708a4ad60a11a21856a1d54a48b01abd (patch)
tree3bf85717b4903d7847fac54f356890ea2986f849 /tests/testglib.c
parent0028b643bc40b38d59cdd3c74a33ec3e282dd397 (diff)
downloadglib-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.c35
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);