diff options
author | JP Rosevear <jpr@src.gnome.org> | 2003-11-19 00:33:30 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2003-11-19 00:33:30 +0800 |
commit | 58f1b46675ef29528f51e5c44fe0e087bda5d82d (patch) | |
tree | 725648cf84182762d9dc2ac5846b233203411d59 /libical/src/test/regression-component.c | |
parent | b47685534d7e5738d712962334537bb329831b9e (diff) | |
download | gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.gz gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.bz2 gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.lz gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.xz gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.zst gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.zip |
Remove libical from this tree, it resides in e-d-s now.
svn path=/trunk/; revision=23417
Diffstat (limited to 'libical/src/test/regression-component.c')
-rw-r--r-- | libical/src/test/regression-component.c | 580 |
1 files changed, 0 insertions, 580 deletions
diff --git a/libical/src/test/regression-component.c b/libical/src/test/regression-component.c deleted file mode 100644 index 5494bdd779..0000000000 --- a/libical/src/test/regression-component.c +++ /dev/null @@ -1,580 +0,0 @@ -#include <libical/ical.h> -#include "regression.h" - -#include <string.h> -extern int VERBOSE; - -void create_simple_component(void) -{ - - icalcomponent* calendar; - icalproperty *version, *bogus; - - /* Create calendar and add properties */ - calendar = icalcomponent_new(ICAL_VCALENDAR_COMPONENT); - - ok("create vcalendar component", (calendar!=NULL)); - - icalcomponent_add_property( - calendar, - icalproperty_new_version("2.0") - ); - - version = icalcomponent_get_first_property(calendar,ICAL_VERSION_PROPERTY); - ok("version property added", (version!=NULL)); - - bogus = icalcomponent_get_first_property(calendar,ICAL_DTSTART_PROPERTY); - ok("bogus dtstart not found", (bogus == NULL)); - - if (VERBOSE && calendar) - printf("%s\n",icalcomponent_as_ical_string(calendar)); - - icalcomponent_free(calendar); -} - - -static char* create_new_component_str = -"BEGIN:VCALENDAR\n" -"VERSION:2.0\n" -"PRODID:-//RDU Software//NONSGML HandCal//EN\n" -"BEGIN:VTIMEZONE\n" -"TZID:America/New_York\n" -"BEGIN:DAYLIGHT\n" -"DTSTART:20020606T212449\n" -"RDATE;VALUE=PERIOD:20020606T212449/20020607T012809\n" -"TZOFFSETFROM:-0500\n" -"TZOFFSETTO:-0400\n" -"TZNAME:EST\n" -"END:DAYLIGHT\n" -"BEGIN:STANDARD\n" -"DTSTART:20020606T212449\n" -"RDATE;VALUE=PERIOD:20020606T212449/20020607T012809\n" -"TZOFFSETFROM:-0400\n" -"TZOFFSETTO:-0500\n" -"TZNAME:EST\n" -"END:STANDARD\n" -"END:VTIMEZONE\n" -"BEGIN:VEVENT\n" -"DTSTAMP:20020606T212449\n" -"UID:guid-1.host1.com\n" -"ORGANIZER;ROLE=CHAIR:mrbig@host.com\n" -"ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE;CUTYPE=GROUP:employee-A@host.com\n" -"DESCRIPTION:Project XYZ Review Meeting\n" -"CATEGORIES:MEETING\n" -"CLASS:PRIVATE\n" -"CREATED:20020606T212449\n" -"SUMMARY:XYZ Project Review\n" -"DTSTART;TZID=America/New_York:20020606T212449\n" -"DTEND;TZID=America/New_York:20020606T212449\n" -"LOCATION:1CP Conference Room 4350\n" -"END:VEVENT\n" -"END:VCALENDAR\n"; - - -/* Create a new component */ -void create_new_component() -{ - icalcomponent* calendar; - icalcomponent* timezone; - icalcomponent* tzc; - icalcomponent* event; - struct icaltimetype atime = icaltime_from_timet( 1023398689, 0); - struct icaldatetimeperiodtype rtime; - icalproperty* property; - char *calendar_as_string; - - rtime.period.start = icaltime_from_timet( 1023398689,0); - rtime.period.end = icaltime_from_timet( 1023409689,0); - rtime.period.end.hour++; - rtime.time = icaltime_null_time(); - - /* Create calendar and add properties */ - calendar = icalcomponent_new(ICAL_VCALENDAR_COMPONENT); - - - icalcomponent_add_property( - calendar, - icalproperty_new_version("2.0") - ); - - icalcomponent_add_property( - calendar, - icalproperty_new_prodid("-//RDU Software//NONSGML HandCal//EN") - ); - - /* Create a timezone object and add it to the calendar */ - - timezone = icalcomponent_new(ICAL_VTIMEZONE_COMPONENT); - - icalcomponent_add_property( - timezone, - icalproperty_new_tzid("America/New_York") - ); - - /* Add a sub-component of the timezone */ - tzc = icalcomponent_new(ICAL_XDAYLIGHT_COMPONENT); - - icalcomponent_add_property( - tzc, - icalproperty_new_dtstart(atime) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_rdate(rtime) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_tzoffsetfrom(-5*3600) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_tzoffsetto(-4*3600) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_tzname("EST") - ); - - icalcomponent_add_component(timezone,tzc); - - icalcomponent_add_component(calendar,timezone); - - /* Add a second subcomponent */ - tzc = icalcomponent_new(ICAL_XSTANDARD_COMPONENT); - - icalcomponent_add_property( - tzc, - icalproperty_new_dtstart(atime) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_rdate(rtime) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_tzoffsetfrom(-4*3600) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_tzoffsetto(-5*3600) - ); - - icalcomponent_add_property( - tzc, - icalproperty_new_tzname("EST") - ); - - icalcomponent_add_component(timezone,tzc); - - /* Add an event */ - - event = icalcomponent_new(ICAL_VEVENT_COMPONENT); - - icalcomponent_add_property( - event, - icalproperty_new_dtstamp(atime) - ); - - icalcomponent_add_property( - event, - icalproperty_new_uid("guid-1.host1.com") - ); - - /* add a property that has parameters */ - property = icalproperty_new_organizer("mrbig@host.com"); - - icalproperty_add_parameter( - property, - icalparameter_new_role(ICAL_ROLE_CHAIR) - ); - - icalcomponent_add_property(event,property); - - /* add another property that has parameters */ - property = icalproperty_new_attendee("employee-A@host.com"); - - icalproperty_add_parameter( - property, - icalparameter_new_role(ICAL_ROLE_REQPARTICIPANT) - ); - - icalproperty_add_parameter( - property, - icalparameter_new_rsvp(ICAL_RSVP_TRUE) - ); - - icalproperty_add_parameter( - property, - icalparameter_new_cutype(ICAL_CUTYPE_GROUP) - ); - - icalcomponent_add_property(event,property); - - - /* more properties */ - - icalcomponent_add_property( - event, - icalproperty_new_description("Project XYZ Review Meeting") - ); - - icalcomponent_add_property( - event, - icalproperty_new_categories("MEETING") - ); - - icalcomponent_add_property( - event, - icalproperty_new_class(ICAL_CLASS_PRIVATE) - ); - - icalcomponent_add_property( - event, - icalproperty_new_created(atime) - ); - - icalcomponent_add_property( - event, - icalproperty_new_summary("XYZ Project Review") - ); - - - property = icalproperty_new_dtstart(atime); - - icalproperty_add_parameter( - property, - icalparameter_new_tzid("America/New_York") - ); - - icalcomponent_add_property(event,property); - - - property = icalproperty_new_dtend(atime); - - icalproperty_add_parameter( - property, - icalparameter_new_tzid("America/New_York") - ); - - icalcomponent_add_property(event,property); - - icalcomponent_add_property( - event, - icalproperty_new_location("1CP Conference Room 4350") - ); - - icalcomponent_add_component(calendar,event); - - calendar_as_string = icalcomponent_as_ical_string(calendar); - - is("build large, complex component", - calendar_as_string, - create_new_component_str); - - if (VERBOSE && calendar) - printf("%s\n",icalcomponent_as_ical_string(calendar)); - - - if (calendar) - icalcomponent_free(calendar); - -} - -/* Create a new component, using the va_args list */ - -void create_new_component_with_va_args() -{ - - icalcomponent* calendar; - struct icaltimetype atime = icaltime_from_timet( time(0),0); - struct icaldatetimeperiodtype rtime; - - rtime.period.start = icaltime_from_timet( time(0),0); - rtime.period.end = icaltime_from_timet( time(0),0); - rtime.period.end.hour++; - rtime.time = icaltime_null_time(); - - calendar = - icalcomponent_vanew( - ICAL_VCALENDAR_COMPONENT, - icalproperty_new_version("2.0"), - icalproperty_new_prodid("-//RDU Software//NONSGML HandCal//EN"), - icalcomponent_vanew( - ICAL_VTIMEZONE_COMPONENT, - icalproperty_new_tzid("America/New_York"), - icalcomponent_vanew( - ICAL_XDAYLIGHT_COMPONENT, - icalproperty_new_dtstart(atime), - icalproperty_new_rdate(rtime), - icalproperty_new_tzoffsetfrom(-4.0), - icalproperty_new_tzoffsetto(-5.0), - icalproperty_new_tzname("EST"), - 0 - ), - icalcomponent_vanew( - ICAL_XSTANDARD_COMPONENT, - icalproperty_new_dtstart(atime), - icalproperty_new_rdate(rtime), - icalproperty_new_tzoffsetfrom(-5.0), - icalproperty_new_tzoffsetto(-4.0), - icalproperty_new_tzname("EST"), - 0 - ), - 0 - ), - icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_new_dtstamp(atime), - icalproperty_new_uid("guid-1.host1.com"), - icalproperty_vanew_organizer( - "mrbig@host.com", - icalparameter_new_role(ICAL_ROLE_CHAIR), - 0 - ), - icalproperty_vanew_attendee( - "employee-A@host.com", - icalparameter_new_role(ICAL_ROLE_REQPARTICIPANT), - icalparameter_new_rsvp(ICAL_RSVP_TRUE), - icalparameter_new_cutype(ICAL_CUTYPE_GROUP), - 0 - ), - icalproperty_new_description("Project XYZ Review Meeting"), - icalproperty_new_categories("MEETING"), - icalproperty_new_class(ICAL_CLASS_PUBLIC), - icalproperty_new_created(atime), - icalproperty_new_summary("XYZ Project Review"), - icalproperty_vanew_dtstart( - atime, - icalparameter_new_tzid("America/New_York"), - 0 - ), - icalproperty_vanew_dtend( - atime, - icalparameter_new_tzid("America/New_York"), - 0 - ), - icalproperty_new_location("1CP Conference Room 4350"), - 0 - ), - 0 - ); - - ok("creating a complex vcalendar", (calendar != NULL)); - if (VERBOSE && calendar) - printf("%s\n",icalcomponent_as_ical_string(calendar)); - - icalcomponent_free(calendar); - -} - -static void print_span(int c, struct icaltime_span span ){ - printf("span-->%d, %d\n", (int)span.start, (int)span.end); - if (span.start == 0) - printf("#%02d start: (empty)\n",c); - else - printf("#%02d start: %s\n",c,ical_timet_string(span.start)); - - if (span.end == 0) - printf(" end : (empty)\n"); - else - printf(" end : %s\n",ical_timet_string(span.end)); - -} - -/** Test icalcomponent_get_span() - * - */ -void test_icalcomponent_get_span() -{ - time_t tm1 = 973378800; /*Sat Nov 4 23:00:00 UTC 2000, - Sat Nov 4 15:00:00 PST 2000 */ - time_t tm2 = 973382400; /*Sat Nov 5 00:00:00 UTC 2000 - Sat Nov 4 16:00:00 PST 2000 */ - struct icaldurationtype dur; - struct icaltime_span span; - icalcomponent *c; - icaltimezone *azone, *bzone; - int tnum = 0; - - /** test 0 - * Direct assigning time_t means they will be interpreted as UTC - */ - span.start = tm1; - span.end = tm2; - if (VERBOSE) print_span(tnum++,span); - - /** test 1 - * We specify times in a timezone, the returned span is in UTC - */ - azone = icaltimezone_get_builtin_timezone("America/Los_Angeles"); - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_vanew_dtstart( - icaltime_from_timet_with_zone(tm1,0,azone), - icalparameter_new_tzid("America/Los_Angeles"),0), - icalproperty_vanew_dtend( - icaltime_from_timet_with_zone(tm2,0,azone), - icalparameter_new_tzid("America/Los_Angeles"),0), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("America/Los_Angeles", span.start, 973407600); - icalcomponent_free(c); - - /** test 2 - * We specify times as floating, the returned span is in UTC - * with no conversion applied - so result should be as test 0 - */ - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_vanew_dtstart(icaltime_from_timet(tm1,0),0), - icalproperty_vanew_dtend(icaltime_from_timet(tm2,0),0), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("floating time", span.start, tm1); - - icalcomponent_free(c); - - /** test 3 - * We specify times in a timezone, the returned span is in UTC - */ - azone = icaltimezone_get_builtin_timezone("America/New_York"); - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_vanew_dtstart( - icaltime_from_timet_with_zone(tm1,0,azone), - icalparameter_new_tzid("America/New_York"),0), - icalproperty_vanew_dtend( - icaltime_from_timet_with_zone(tm2,0,azone), - icalparameter_new_tzid("America/New_York"),0), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("America/New_York", span.start, 973396800); - - icalcomponent_free(c); - - /** test 4 - * We specify times in two different timezones, the returned span - * is in UTC - */ - azone = icaltimezone_get_builtin_timezone("America/New_York"); - bzone = icaltimezone_get_builtin_timezone("America/Los_Angeles"); - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_vanew_dtstart( - icaltime_from_timet_with_zone(tm1,0,azone), - icalparameter_new_tzid("America/New_York"),0), - icalproperty_vanew_dtend( - icaltime_from_timet_with_zone(tm2,0,bzone), - icalparameter_new_tzid("America/Los_Angeles"),0), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("America/New_York", span.start, 973396800); - - icalcomponent_free(c); - - /** test 5 - * We specify start time in a timezone and a duration, the returned span - * is in UTC - */ - azone = icaltimezone_get_builtin_timezone("America/Los_Angeles"); - memset(&dur,0,sizeof(dur)); - dur.minutes = 30; - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_vanew_dtstart( - icaltime_from_timet_with_zone(tm1,0,azone), - icalparameter_new_tzid("America/Los_Angeles"),0), - icalproperty_new_duration(dur), - - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("America/Los_Angeles w/ duration", span.end, 973409400); - - icalcomponent_free(c); - - icalerror_errors_are_fatal = 0; - /** test 6 - * We specify only start time, should return a null span with no error - */ - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_new_dtstart(icaltime_from_timet(tm1,0)), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("null span", span.start, 0); - icalcomponent_free(c); - - /** test 7 - * We specify start and end date - */ - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_new_dtstart(icaltime_from_timet(tm1,1)), - icalproperty_new_dtend(icaltime_from_timet(tm1,1)), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("UTC", span.start, 973296000); - icalcomponent_free(c); - - /** test 8 - * We specify start and end date - */ - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_new_dtstart(icaltime_from_timet(tm1,1)), - icalproperty_new_dtend(icaltime_from_timet(tm2,1)), - 0 - ); - - span = icalcomponent_get_span(c); - int_is("UTC #2", span.start, 973296000); - if (VERBOSE) print_span(tnum++,span); - - icalcomponent_free(c); - - /** test 9 - * We specify start date - */ - c = icalcomponent_vanew( - ICAL_VEVENT_COMPONENT, - icalproperty_new_dtstart(icaltime_from_timet(tm1,1)), - 0 - ); - - span = icalcomponent_get_span(c); - if (VERBOSE) print_span(tnum++,span); - int_is("start date only", span.end, 973382399); - - icalcomponent_free(c); - - /* assert(icalerrno == ICAL_MALFORMEDDATA_ERROR); */ - icalerror_errors_are_fatal = 1; -} |