summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Reitter <treitter@gmail.com>2009-12-21 22:57:12 -0800
committerTravis Reitter <treitter@gmail.com>2010-01-15 13:30:00 -0800
commitdf7e75f7f5492ff873e3054f34fc9bcbbfe0be0a (patch)
tree520632d6582c26eb606b6a687dc7aa6206b1de47
parent18be86d524851b0944a72558c4d6b07b7e7283d5 (diff)
downloadevolution-data-server-df7e75f7f5492ff873e3054f34fc9bcbbfe0be0a.tar.gz
Add test for EDataCal method 'getTimezone'.
-rw-r--r--calendar/tests/ecal/Makefile.am3
-rw-r--r--calendar/tests/ecal/ecal-test-utils.c16
-rw-r--r--calendar/tests/ecal/ecal-test-utils.h4
-rw-r--r--calendar/tests/ecal/test-ecal-get-timezone.c31
4 files changed, 54 insertions, 0 deletions
diff --git a/calendar/tests/ecal/Makefile.am b/calendar/tests/ecal/Makefile.am
index 815e38c44..812701d0e 100644
--- a/calendar/tests/ecal/Makefile.am
+++ b/calendar/tests/ecal/Makefile.am
@@ -34,6 +34,7 @@ test_scripts = \
TESTS = \
test-ecal-remove \
test-ecal-open \
+ test-ecal-get-timezone \
test-ecal-get-alarm-email-address \
test-ecal-get-cal-address \
test-ecal-get-ldap-attribute \
@@ -74,6 +75,8 @@ test_ecal_get_object_list_LDADD=$(TEST_ECAL_LIBS)
test_ecal_get_object_list_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
test_ecal_get_objects_for_uid_LDADD=$(TEST_ECAL_LIBS)
test_ecal_get_objects_for_uid_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
+test_ecal_get_timezone_LDADD=$(TEST_ECAL_LIBS)
+test_ecal_get_timezone_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
test_ecal_modify_object_LDADD=$(TEST_ECAL_LIBS)
test_ecal_modify_object_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
test_ecal_open_LDADD=$(TEST_ECAL_LIBS)
diff --git a/calendar/tests/ecal/ecal-test-utils.c b/calendar/tests/ecal/ecal-test-utils.c
index 49c4b0824..5c959e155 100644
--- a/calendar/tests/ecal/ecal-test-utils.c
+++ b/calendar/tests/ecal/ecal-test-utils.c
@@ -531,3 +531,19 @@ ecal_test_utils_cal_component_set_icalcomponent (ECalComponent *e_component,
g_error ("Could not set icalcomponent\n");
}
}
+
+icaltimezone*
+ecal_test_utils_cal_get_timezone (ECal *cal,
+ const char *tzid)
+{
+ GError *error = NULL;
+ icaltimezone *zone = NULL;
+
+ if (!e_cal_get_timezone (cal, tzid, &zone, &error)) {
+ g_warning ("failed to get icaltimezone* for ID '%s'; %s\n", tzid, error->message);
+ exit(1);
+ }
+ g_print ("successfully got icaltimezone* for ID '%s'\n", tzid);
+
+ return zone;
+}
diff --git a/calendar/tests/ecal/ecal-test-utils.h b/calendar/tests/ecal/ecal-test-utils.h
index 77918f854..aea710fd6 100644
--- a/calendar/tests/ecal/ecal-test-utils.h
+++ b/calendar/tests/ecal/ecal-test-utils.h
@@ -116,4 +116,8 @@ void
ecal_test_utils_cal_component_set_icalcomponent (ECalComponent *e_component,
icalcomponent *component);
+icaltimezone*
+ecal_test_utils_cal_get_timezone (ECal *cal,
+ const char *tzid);
+
#endif /* _ECAL_TEST_UTILS_H */
diff --git a/calendar/tests/ecal/test-ecal-get-timezone.c b/calendar/tests/ecal/test-ecal-get-timezone.c
new file mode 100644
index 000000000..3f6961b1b
--- /dev/null
+++ b/calendar/tests/ecal/test-ecal-get-timezone.c
@@ -0,0 +1,31 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+#include <stdlib.h>
+#include <libecal/e-cal.h>
+#include <libical/ical.h>
+
+#include "ecal-test-utils.h"
+
+gint
+main (gint argc, gchar **argv)
+{
+ ECal *cal;
+ char *uri = NULL;
+ icaltimezone *zone;
+ icaltimezone *utc_zone;
+
+ g_type_init ();
+
+ cal = ecal_test_utils_cal_new_temp (&uri, E_CAL_SOURCE_TYPE_EVENT);
+ ecal_test_utils_cal_open (cal, FALSE);
+
+ zone = ecal_test_utils_cal_get_timezone (cal, "UTC");
+ utc_zone = icaltimezone_get_utc_timezone ();
+
+ g_assert (!g_strcmp0 (icaltimezone_get_tzid (zone),
+ icaltimezone_get_tzid (utc_zone)));
+
+ ecal_test_utils_cal_remove (cal);
+
+ return 0;
+}