DescriptionAltRep = TestEvent.DescriptionListAltRep[0];
}
- if (TestEvent.DescriptionListAltRep.begin() != TestEvent.DescriptionListAltRep.end()){
+ if (TestEvent.DescriptionListLanguage.begin() != TestEvent.DescriptionListLanguage.end()){
DescriptionLanguage = TestEvent.DescriptionListLanguage[0];
}
std::string RequestLanguage;
- if (TestEvent.ContactList.size() > 1){
+ if (TestEvent.RequestStatusData.size() > 1){
RequestStatus = TestEvent.RequestStatusData[1];
}
- if (TestEvent.ContactList.size() > 1){
+ if (TestEvent.RequestStatusData.size() > 1){
RequestLanguage = TestEvent.RequestStatusLanguage[1];
std::string RequestTokens;
- if (TestEvent.ContactList.size() > 2){
+ if (TestEvent.RequestStatusData.size() > 2){
RequestStatus = TestEvent.RequestStatusData[2];
}
- if (TestEvent.ContactList.size() > 2){
+ if (TestEvent.RequestStatusData.size() > 2){
RequestTokens = TestEvent.RequestStatusTokens[2];
ASSERT_EQ("null:nodata", ResourcesAltRep);
ASSERT_EQ("STATUS=BROKEN", ResourcesTokens);
-}
\ No newline at end of file
+ // Get the first RDATE.
+
+ std::string RecurrenceDate;
+
+ if (TestEvent.RecurranceDateData.begin() != TestEvent.RecurranceDateData.end()){
+
+ RecurrenceDate = TestEvent.RecurranceDateData[0];
+
+ }
+
+ ASSERT_EQ("20160120", RecurrenceDate);
+
+ // Get the second RDATE.
+
+ RecurrenceDate.clear();
+
+ std::string RecurrenceDateTimeZoneParam;
+ std::string RecurrenceDateValue;
+
+ if (TestEvent.RecurranceDateData.size() > 1){
+
+ RecurrenceDate = TestEvent.RecurranceDateData[1];
+
+ }
+
+ if (TestEvent.RecurranceDateData.size() > 1){
+
+ RecurrenceDateTimeZoneParam = TestEvent.RecurranceDateDataTimeZoneParam[1];
+
+ }
+
+ if (TestEvent.RecurranceDateData.size() > 1){
+
+ RecurrenceDateValue = TestEvent.RecurranceDateDataValue[1];
+
+ }
+
+ ASSERT_EQ("20160121", RecurrenceDate);
+ ASSERT_EQ("DATE", RecurrenceDateValue);
+ ASSERT_EQ("Europe/Truro", RecurrenceDateTimeZoneParam);
+
+ // Get the third RDATE.
+
+ RecurrenceDate.clear();
+
+ std::string RecurrenceTokens;
+
+ if (TestEvent.RecurranceDateData.size() > 2){
+
+ RecurrenceDate = TestEvent.RecurranceDateData[2];
+
+ }
+
+ if (TestEvent.RecurranceDateData.size() > 2){
+
+ RecurrenceTokens = TestEvent.RecurranceDateDataTokens[2];
+
+ }
+
+ ASSERT_EQ("20160520", RecurrenceDate);
+ ASSERT_EQ("ZILCH=DATA", RecurrenceTokens);
+
+ // Get the first X-EXAMPLE1 token.
+
+ std::string XTokenName;
+ std::string XTokenData;
+
+ if (TestEvent.XTokensData.size() != 0 ){
+
+ XTokenData = TestEvent.XTokensData[0];
+
+ }
+
+ if (TestEvent.XTokensData.size() != 0){
+
+ XTokenName = TestEvent.XTokensDataTokens[0];
+
+ }
+
+ ASSERT_EQ("Moo", XTokenData);
+ ASSERT_EQ("X-EXAMPLE1", XTokenName);
+
+ // Get the second X-EXAMPLE1 token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 1){
+
+ XTokenData = TestEvent.XTokensData[1];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 1){
+
+ XTokenName = TestEvent.XTokensDataTokens[1];
+
+ }
+
+ ASSERT_EQ("Meep", XTokenData);
+ ASSERT_EQ("X-EXAMPLE1;ANIMAL=NOPE", XTokenName);
+
+ // Get the third X-EXAMPLE1 token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 2){
+
+ XTokenData = TestEvent.XTokensData[2];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 2){
+
+ XTokenName = TestEvent.XTokensDataTokens[2];
+
+ }
+
+ ASSERT_EQ("Meow", XTokenData);
+ ASSERT_EQ("X-EXAMPLE1;ANIMAL=CAT", XTokenName);
+
+ // Get the first X-EXAMPLE2 token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 3){
+
+ XTokenData = TestEvent.XTokensData[3];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 3){
+
+ XTokenName = TestEvent.XTokensDataTokens[3];
+
+ }
+
+ ASSERT_EQ("Dish", XTokenData);
+ ASSERT_EQ("X-EXAMPLE2", XTokenName);
+
+ // Get the second X-EXAMPLE2 token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 4){
+
+ XTokenData = TestEvent.XTokensData[4];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 4){
+
+ XTokenName = TestEvent.XTokensDataTokens[4];
+
+ }
+
+ ASSERT_EQ("Fork", XTokenData);
+ ASSERT_EQ("X-EXAMPLE2;OBJECT=KITCHEN", XTokenName);
+
+ // Get the third X-EXAMPLE2 token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 5){
+
+ XTokenData = TestEvent.XTokensData[5];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 5){
+
+ XTokenName = TestEvent.XTokensDataTokens[5];
+
+ }
+
+ ASSERT_EQ("Table", XTokenData);
+ ASSERT_EQ("X-EXAMPLE2;OBJECT=LIVINGROOM", XTokenName);
+
+ // Get the X-STATUS token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 6){
+
+ XTokenData = TestEvent.XTokensData[6];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 6){
+
+ XTokenName = TestEvent.XTokensDataTokens[6];
+
+ }
+
+ ASSERT_EQ("Idle", XTokenData);
+ ASSERT_EQ("X-STATUS;HOLIDAY=YES", XTokenName);
+
+ // Get the X-TRANSPORT token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 7){
+
+ XTokenData = TestEvent.XTokensData[7];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 7){
+
+ XTokenName = TestEvent.XTokensDataTokens[7];
+
+ }
+
+ ASSERT_EQ("Private Hire", XTokenData);
+ ASSERT_EQ("X-TRANSPORT;PUBLIC=NO", XTokenName);
+
+ // Get the X-PHANTOM-STATUS token.
+
+ XTokenName.clear();
+ XTokenData.clear();
+
+ if (TestEvent.XTokensData.size() > 8){
+
+ XTokenData = TestEvent.XTokensData[8];
+
+ }
+
+ if (TestEvent.XTokensData.size() > 8){
+
+ XTokenName = TestEvent.XTokensDataTokens[8];
+
+ }
+
+ ASSERT_EQ("None", XTokenData);
+ ASSERT_EQ("X-PHANTOM-STATUS;HELP=NONE", XTokenName);
+
+}
+
+TEST(iCalendarEvent, AlarmTests){
+
+ CalendarEventObject TestEvent;
+ ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestEvent.LoadFile("iCalendarEvent-Load2.vcf"));
+ ASSERT_EQ(CALENDAROBJECTVALID_OK, TestEvent.ValidBaseObject());
+
+ // Tests for the first VALARM property.
+
+ std::string ActionData;
+ std::string ActionDataTokens;
+
+ std::string TriggerData;
+ std::string TriggerRelated;
+ std::string TriggerValue;
+ std::string TriggerTokens;
+
+ std::string DurationData;
+ std::string DurationTokens;
+
+ std::string RepeatData;
+ std::string RepeatTokens;
+
+ std::string XTokenData;
+ std::string XTokenName;
+
+ if (TestEvent.CalendarAlarmData.size() > 0){
+
+ ActionData = TestEvent.CalendarAlarmData[0].AlarmAction;
+ ActionDataTokens = TestEvent.CalendarAlarmData[0].AlarmActionTokens;
+
+ TriggerData = TestEvent.CalendarAlarmData[0].TriggerData;
+ TriggerRelated = TestEvent.CalendarAlarmData[0].TriggerRelated;
+ TriggerValue = TestEvent.CalendarAlarmData[0].TriggerValue;
+ TriggerTokens = TestEvent.CalendarAlarmData[0].TriggerTokens;
+
+ DurationData = TestEvent.CalendarAlarmData[0].DurationData;
+ DurationTokens = TestEvent.CalendarAlarmData[0].DurationTokens;
+
+ RepeatData = TestEvent.CalendarAlarmData[0].RepeatData;
+ RepeatTokens = TestEvent.CalendarAlarmData[0].RepeatTokens;
+
+ }
+
+ ASSERT_EQ("AUDIO", ActionData);
+ ASSERT_EQ("FUNKY=SOUNDS", ActionDataTokens);
+
+ ASSERT_EQ("20160220T160000Z", TriggerData);
+ ASSERT_EQ("END", TriggerRelated);
+ ASSERT_EQ("DATE-TIME", TriggerValue);
+ ASSERT_EQ("PUSH=BUTTON", TriggerTokens);
+
+ ASSERT_EQ("PT5H", DurationData);
+ ASSERT_EQ("FLYING=NO", DurationTokens);
+
+ ASSERT_EQ("PT5M", RepeatData);
+ ASSERT_EQ("NEVER=SLEEP", RepeatTokens);
+
+ // Test the first X-Token.
+
+ if (TestEvent.CalendarAlarmData[0].XTokensData.size() > 0){
+
+ XTokenData = TestEvent.CalendarAlarmData[0].XTokensData[0];
+ XTokenName = TestEvent.CalendarAlarmData[0].XTokensDataTokens[0];
+
+ }
+
+ ASSERT_EQ("Example Data 1", XTokenData);
+ ASSERT_EQ("X-EXAMPLE1;YAY=YES", XTokenName);
+
+ // Test the second X-Token.
+
+ XTokenData.clear();
+ XTokenName.clear();
+
+ if (TestEvent.CalendarAlarmData[0].XTokensData.size() > 1){
+
+ XTokenData = TestEvent.CalendarAlarmData[0].XTokensData[1];
+ XTokenName = TestEvent.CalendarAlarmData[0].XTokensDataTokens[1];
+
+ }
+
+ ASSERT_EQ("Example Data 2", XTokenData);
+ ASSERT_EQ("X-EXAMPLE2;NOPE=YEP", XTokenName);
+
+ // Test the third X-Token.
+
+ XTokenData.clear();
+ XTokenName.clear();
+
+ if (TestEvent.CalendarAlarmData[0].XTokensData.size() > 2){
+
+ XTokenData = TestEvent.CalendarAlarmData[0].XTokensData[2];
+ XTokenName = TestEvent.CalendarAlarmData[0].XTokensDataTokens[2];
+
+ }
+
+ ASSERT_EQ("Example Data 3", XTokenData);
+ ASSERT_EQ("X-EXAMPLE3;WORLD=NO", XTokenName);
+
+}