X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Ftests%2Fxestiacalendar_icaleventload.h;h=04b286897af18651ab31cd2d28c8c2096b8b4488;hb=88dffe0d504b26f4831bc20c8be0ec23d59dd981;hp=30856765fe82920b648c06643e3fc103760cc3e0;hpb=284c77ac5ae39b716dca3b88b365dc335759af22;p=xestiacalendar%2F.git diff --git a/source/tests/xestiacalendar_icaleventload.h b/source/tests/xestiacalendar_icaleventload.h index 3085676..04b2868 100644 --- a/source/tests/xestiacalendar_icaleventload.h +++ b/source/tests/xestiacalendar_icaleventload.h @@ -1069,27 +1069,214 @@ TEST(iCalendarEvent, ObjectDataTests){ 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); - if (TestEvent.CalendarAlarmData.size() > 0){ + ASSERT_EQ("PT5H", DurationData); + ASSERT_EQ("FLYING=NO", DurationTokens); + + ASSERT_EQ("PT5M", RepeatData); + ASSERT_EQ("NEVER=SLEEP", RepeatTokens); - ActionDataTokens = TestEvent.CalendarAlarmData[0].AlarmActionTokens; + // 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("AUDIO", ActionData); - ASSERT_EQ("FUNKY=SOUNDS", ActionDataTokens); + 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); + + // Tests for the second VALARM property. + ActionData.clear(); + ActionDataTokens.clear(); + TriggerData.clear(); + TriggerRelated.clear(); + TriggerValue.clear(); + TriggerTokens.clear(); -} \ No newline at end of file + DurationData.clear(); + DurationTokens.clear(); + + RepeatData.clear(); + RepeatTokens.clear(); + + XTokenData.clear(); + XTokenName.clear(); + + string DescriptionData; + string DescriptionAltRep; + string DescriptionLanguage; + string DescriptionTokens; + + if (TestEvent.CalendarAlarmData.size() > 1){ + + ActionData = TestEvent.CalendarAlarmData[1].AlarmAction; + ActionDataTokens = TestEvent.CalendarAlarmData[1].AlarmActionTokens; + + TriggerData = TestEvent.CalendarAlarmData[1].TriggerData; + TriggerRelated = TestEvent.CalendarAlarmData[1].TriggerRelated; + TriggerValue = TestEvent.CalendarAlarmData[1].TriggerValue; + TriggerTokens = TestEvent.CalendarAlarmData[1].TriggerTokens; + + DurationData = TestEvent.CalendarAlarmData[1].DurationData; + DurationTokens = TestEvent.CalendarAlarmData[1].DurationTokens; + + RepeatData = TestEvent.CalendarAlarmData[1].RepeatData; + RepeatTokens = TestEvent.CalendarAlarmData[1].RepeatTokens; + + DescriptionData = TestEvent.CalendarAlarmData[1].DescriptionData; + DescriptionAltRep = TestEvent.CalendarAlarmData[1].DescriptionAltRep; + DescriptionLanguage = TestEvent.CalendarAlarmData[1].DescriptionLanguage; + DescriptionTokens = TestEvent.CalendarAlarmData[1].DescriptionTokens; + + } + + ASSERT_EQ("DISPLAY", ActionData); + ASSERT_EQ("FLASHING=LIGHTS", ActionDataTokens); + + ASSERT_EQ("20160230T110000Z", TriggerData); + ASSERT_EQ("END", TriggerRelated); + ASSERT_EQ("DATE-TIME", TriggerValue); + ASSERT_EQ("PUSH=BUTTON", TriggerTokens); + + ASSERT_EQ("PT7H", DurationData); + ASSERT_EQ("FLYING=YES", DurationTokens); + + ASSERT_EQ("PT3M", RepeatData); + ASSERT_EQ("SLEEP=ALWAYS", RepeatTokens); + + ASSERT_EQ("This is the second alarm.", DescriptionData); + ASSERT_EQ("null:nodata", DescriptionAltRep); + ASSERT_EQ("kw", DescriptionLanguage); + ASSERT_EQ("TERRIBLE=TOKEN", DescriptionTokens); + + // Test the first X-Token. + + if (TestEvent.CalendarAlarmData[1].XTokensData.size() > 0){ + + XTokenData = TestEvent.CalendarAlarmData[1].XTokensData[0]; + XTokenName = TestEvent.CalendarAlarmData[1].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[1].XTokensData.size() > 1){ + + XTokenData = TestEvent.CalendarAlarmData[1].XTokensData[1]; + XTokenName = TestEvent.CalendarAlarmData[1].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[1].XTokensData.size() > 2){ + + XTokenData = TestEvent.CalendarAlarmData[1].XTokensData[2]; + XTokenName = TestEvent.CalendarAlarmData[1].XTokensDataTokens[2]; + + } + + ASSERT_EQ("Example Data 3", XTokenData); + ASSERT_EQ("X-EXAMPLE3;WORLD=NO", XTokenName); + +}