Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Splitted VALARM tests for CalendarEventObject into iCalendarEvent/AlarmTests
[xestiacalendar/.git] / source / tests / xestiacalendar_icaleventload.h
index 3085676..b9a989e 100644 (file)
@@ -1069,27 +1069,106 @@ 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();
        
-}
\ No newline at end of file
+       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);
+       
+}
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy