Allow asynchronous retrieval of EClient capabilities for easier caching
[platform/upstream/evolution-data-server.git] / tests / libecal / test-ecal-set-default-timezone.c
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2
3 #include <stdlib.h>
4 #include <libecal/e-cal.h>
5 #include <libical/ical.h>
6
7 #include "ecal-test-utils.h"
8
9 #define TZID_NEW "XYZ"
10 #define TZNAME_NEW "Ex Wye Zee"
11 #define EVENT_SUMMARY "Creation of new test event in the " TZID_NEW " timezone"
12
13 gint
14 main (gint argc, gchar **argv)
15 {
16         ECal *cal;
17         gchar *uri = NULL;
18         icalproperty *property;
19         icalcomponent *component;
20         icaltimezone *zone;
21         icaltimezone *zone_final;
22
23         g_type_init ();
24
25         cal = ecal_test_utils_cal_new_temp (&uri, E_CAL_SOURCE_TYPE_EVENT);
26
27         /* Build up new timezone */
28         component = icalcomponent_new_vtimezone ();
29         property = icalproperty_new_tzid (TZID_NEW);
30         icalcomponent_add_property (component, property);
31         property = icalproperty_new_tzname (TZNAME_NEW);
32         icalcomponent_add_property (component, property);
33         zone = icaltimezone_new ();
34         icaltimezone_set_component (zone, component);
35
36         /* set default; must be done before opening the calendar */
37         ecal_test_utils_cal_open (cal, FALSE);
38         ecal_test_utils_cal_add_timezone (cal, zone);
39         ecal_test_utils_cal_set_default_timezone (cal, zone);
40
41         /* verify */
42         /* FIXME: enhance the validation; confirm that the timezone was actually
43          * set as the default */
44         zone_final = ecal_test_utils_cal_get_timezone (cal, TZID_NEW);
45         g_assert (!g_strcmp0 (icaltimezone_get_tzid (zone),
46                         icaltimezone_get_tzid (zone_final)));
47         g_assert (!g_strcmp0 (icaltimezone_get_tznames (zone),
48                         icaltimezone_get_tznames (zone_final)));
49
50         ecal_test_utils_cal_remove (cal);
51         icaltimezone_free (zone, TRUE);
52
53         return 0;
54 }