Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Version 0.06 release
[xestiacalendar/.git] / source / tests / iCalendarTimeZoneTests / iCalendarTimeZoneLoad.cpp
1 // xestiacalendar_icaltimezoneload.h - Xestia Calendar iCalendar Timezone Component Unit Tests
2 //
3 // (c) 2016-2017 Xestia Software Development.
4 //
5 // This file is part of Xestia Calendar.
6 //
7 // Xestia Calendar is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
10 //
11 // Xestia Calendar is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
19 #include "../objects/calendartimezone/CalendarTimezone.h"
20 #include <gtest/gtest.h>
22 class iCalendarTimezoneLoadTests : public ::testing::Test
23 {
24 private:
25     virtual void SetUp()
26     {
27     }
28     
29     virtual void TearDown()
30     {
31     }
32 };
34 TEST_F(iCalendarTimezoneLoadTests, BasicTests){
36         CalendarTimezoneObject testTimezone;
37         
38         ASSERT_EQ(CALENDAROBJECTLOAD_MISSING, testTimezone.LoadFile("iCalendarTimezone-Missing.vcf"));
39         ASSERT_EQ(CALENDAROBJECTLOAD_CANNOTOPEN, testTimezone.LoadFile("iCalendarTimezone-InvalidPermissions.vcf"));
40         ASSERT_EQ(CALENDAROBJECTLOAD_OK, testTimezone.LoadFile("iCalendarTimezone-Load1.vcf"));
41         
42 }
44 TEST_F(iCalendarTimezoneLoadTests, ObjectDataTests){
45         
46         CalendarTimezoneObject testTimezone;
47         ASSERT_EQ(CALENDAROBJECTLOAD_OK, testTimezone.LoadFile("iCalendarTimezone-Load2.vcf"));
48         ASSERT_EQ(CALENDAROBJECTVALID_OK, testTimezone.ValidBaseObject());
49         
50         // Tests for UID.
51         
52         ASSERT_EQ("Example/Starrgazy", testTimezone.timeZoneData);
53         ASSERT_EQ("OTHER=PARAM", testTimezone.timeZoneDataTokens);
54         
55         // Tests for LAST-MODIFIED.
56         
57         ASSERT_EQ("20160203T200700Z", testTimezone.lastModifiedData);
58         ASSERT_EQ("FUTURE=ODD", testTimezone.lastModifiedTokens);
60         // Tests for TZURL.
61         
62         ASSERT_EQ("http://www.example.com/", testTimezone.timeZoneURLData);
63         ASSERT_EQ("URL=YES", testTimezone.timeZoneURLTokens);
64         
65         // Tests for the first STANDARD data.
66         
67         std::string dateTimeStartData;
68         std::string timeZoneOffsetToData;
69         std::string timeZoneOffsetFromData;
70         
71         if (testTimezone.timezoneStandardCollection.size() > 0){
72         
73                 dateTimeStartData = testTimezone.timezoneStandardCollection[0].dateTimeStartData;
74         
75         }
77         if (testTimezone.timezoneStandardCollection.size() > 0){
78         
79                 timeZoneOffsetToData = testTimezone.timezoneStandardCollection[0].timeZoneOffsetToData;
80         
81         }
82         
83         if (testTimezone.timezoneStandardCollection.size() > 0){
84         
85                 timeZoneOffsetFromData = testTimezone.timezoneStandardCollection[0].timeZoneOffsetFromData;
86         
87         }
88         
89         ASSERT_EQ("20160204T020000", dateTimeStartData);
90         ASSERT_EQ("-0400", timeZoneOffsetToData);
91         ASSERT_EQ("-0500", timeZoneOffsetFromData);
92         
93         // Tests for the second STANDARD data.
94         
95         std::string dateTimeStartTokens;
96         std::string timeZoneOffsetToTokens;
97         std::string timeZoneOffsetFromTokens;
98         
99         std::string recurranceRuleData;
100         std::string recurranceRuleDataTokens;
101         
102         std::string commentList;
103         std::string commentListAltRep;
104         std::string commentListLanguage;
105         std::string commentListTokens;
106         
107         std::string recurranceDateData;
108         std::string recurranceDateValue;
109         std::string recurranceDateDataTimeZoneParam;
110         std::string recurranceDateDataTokens;
111         
112         std::string timeZoneNameData;
113         std::string timeZoneNameLanguage;
114         std::string timeZoneNameTokens;
115         
116         std::string xTokensData;
117         std::string xTokensDataTokens;
118         
119         dateTimeStartData.clear();
120         timeZoneOffsetToData.clear();
121         timeZoneOffsetFromData.clear();
122         
123         if (testTimezone.timezoneStandardCollection.size() > 1){
124         
125                 dateTimeStartData = testTimezone.timezoneStandardCollection[1].dateTimeStartData;
126                 dateTimeStartTokens = testTimezone.timezoneStandardCollection[1].dateTimeStartTokens;
127         
128         }
130         if (testTimezone.timezoneStandardCollection.size() > 1){
131         
132                 timeZoneOffsetToData = testTimezone.timezoneStandardCollection[1].timeZoneOffsetToData;
133                 timeZoneOffsetToTokens = testTimezone.timezoneStandardCollection[1].timeZoneOffsetToTokens;
134         
135         }
136         
137         if (testTimezone.timezoneStandardCollection.size() > 1){
138         
139                 timeZoneOffsetFromData = testTimezone.timezoneStandardCollection[1].timeZoneOffsetFromData;
140                 timeZoneOffsetFromTokens = testTimezone.timezoneStandardCollection[1].timeZoneOffsetFromTokens;
141         
142         }
143         
144         ASSERT_EQ("20160205T020000", dateTimeStartData);
145         ASSERT_EQ("MEEP=MOO", dateTimeStartTokens);
146         ASSERT_EQ("-0400", timeZoneOffsetToData);
147         ASSERT_EQ("EXAMPLE=DATA", timeZoneOffsetToTokens);
148         ASSERT_EQ("-0500", timeZoneOffsetFromData);
149         ASSERT_EQ("LETS=GO", timeZoneOffsetFromTokens);
150         
151         // Tests for third STANDARD data.
152         
153         dateTimeStartData.clear();
154         dateTimeStartTokens.clear();
155         timeZoneOffsetToData.clear();
156         timeZoneOffsetToTokens.clear();
157         timeZoneOffsetFromData.clear();
158         timeZoneOffsetFromTokens.clear();
159         
160         if (testTimezone.timezoneStandardCollection.size() > 2){
161         
162                 dateTimeStartData = testTimezone.timezoneStandardCollection[2].dateTimeStartData;
163                 dateTimeStartTokens = testTimezone.timezoneStandardCollection[2].dateTimeStartTokens;
164         
165         }
167         if (testTimezone.timezoneStandardCollection.size() > 2){
168         
169                 timeZoneOffsetToData = testTimezone.timezoneStandardCollection[2].timeZoneOffsetToData;
170                 timeZoneOffsetToTokens = testTimezone.timezoneStandardCollection[2].timeZoneOffsetToTokens;
171         
172         }
173         
174         if (testTimezone.timezoneStandardCollection.size() > 2){
175         
176                 timeZoneOffsetFromData = testTimezone.timezoneStandardCollection[2].timeZoneOffsetFromData;
177                 timeZoneOffsetFromTokens = testTimezone.timezoneStandardCollection[2].timeZoneOffsetFromTokens;
178         
179         }
180         
181         if (testTimezone.timezoneStandardCollection.size() > 2 && 
182                 testTimezone.timezoneStandardCollection[2].commentList.size() > 0){
183                 
184                 commentList = testTimezone.timezoneStandardCollection[2].commentList[0];
185                 commentListAltRep = testTimezone.timezoneStandardCollection[2].commentListAltRep[0];
186                 commentListLanguage = testTimezone.timezoneStandardCollection[2].commentListLanguage[0];
187                 commentListTokens = testTimezone.timezoneStandardCollection[2].commentListTokens[0];
188                         
189         }
190         
191         if (testTimezone.timezoneStandardCollection.size() > 2 && 
192                 testTimezone.timezoneStandardCollection[2].recurranceRuleData.size() > 0){
193                 
194                 recurranceRuleData = testTimezone.timezoneStandardCollection[2].recurranceRuleData;
195                 recurranceRuleDataTokens = testTimezone.timezoneStandardCollection[2].recurranceRuleDataTokens;
196                         
197         }
199         if (testTimezone.timezoneStandardCollection.size() > 2 && 
200                 testTimezone.timezoneStandardCollection[2].recurranceDateData.size() > 0){
201                 
202                 recurranceDateData = testTimezone.timezoneStandardCollection[2].recurranceDateData[0];
203                 recurranceDateValue = testTimezone.timezoneStandardCollection[2].recurranceDateDataValue[0];
204                 recurranceDateDataTimeZoneParam = testTimezone.timezoneStandardCollection[2].recurranceDateDataTimeZoneParam[0];
205                 recurranceDateDataTokens = testTimezone.timezoneStandardCollection[2].recurranceDateDataTokens[0];
206                         
207         }
208         
209         if (testTimezone.timezoneStandardCollection.size() > 2 && 
210                 testTimezone.timezoneStandardCollection[2].timeZoneNameData.size() > 0){
211                 
212                 timeZoneNameData = testTimezone.timezoneStandardCollection[2].timeZoneNameData[0];
213                 timeZoneNameLanguage = testTimezone.timezoneStandardCollection[2].timeZoneNameLanguage[0];
214                 timeZoneNameTokens = testTimezone.timezoneStandardCollection[2].timeZoneNameTokens[0];
215                         
216         }
217         
218         if (testTimezone.timezoneStandardCollection.size() > 2 && 
219                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 0){
220                 
221                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[0];
222                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[0];
223                         
224         }
225         
226         ASSERT_EQ("20160206T020000", dateTimeStartData);
227         ASSERT_EQ("MEEP=MOO", dateTimeStartTokens);
228         ASSERT_EQ("-0400", timeZoneOffsetToData);
229         ASSERT_EQ("EXAMPLE=DATA", timeZoneOffsetToTokens);
230         ASSERT_EQ("-0500", timeZoneOffsetFromData);
231         ASSERT_EQ("LETS=GO", timeZoneOffsetFromTokens);
233         ASSERT_EQ("Example timezone comment.", commentList);
234         ASSERT_EQ("null:nodata", commentListAltRep);
235         ASSERT_EQ("kw", commentListLanguage);
236         ASSERT_EQ("YO=YOYOS", commentListTokens);
238         ASSERT_EQ("FREQ=DAILY;COUNT=10", recurranceRuleData);
239         ASSERT_EQ("YAK=YES", recurranceRuleDataTokens);
240         
241         ASSERT_EQ("20160205,20160207,20160216,20160305", recurranceDateData);
242         ASSERT_EQ("DATE", recurranceDateValue);
243         ASSERT_EQ("Europe/Truro", recurranceDateDataTimeZoneParam);
244         ASSERT_EQ("BEEP=BOOP", recurranceDateDataTokens);
246         ASSERT_EQ("Example Timezone Name 1", timeZoneNameData);
247         ASSERT_EQ("en", timeZoneNameLanguage);
248         ASSERT_EQ("NOPE=YES", timeZoneNameTokens);
250         ASSERT_EQ("Example Timezone Name 1", timeZoneNameData);
251         ASSERT_EQ("en", timeZoneNameLanguage);
253         ASSERT_EQ("Meep", xTokensData);
254         ASSERT_EQ("X-MOO", xTokensDataTokens);
256         xTokensData.clear();
257         xTokensDataTokens.clear();
259         if (testTimezone.timezoneStandardCollection.size() > 2 && 
260                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 1){
261                 
262                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[1];
263                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[1];
264                         
265         }
267         ASSERT_EQ("Moop", xTokensData);
268         ASSERT_EQ("X-MOO", xTokensDataTokens);
269         
270         xTokensData.clear();
271         xTokensDataTokens.clear();
272         
273         if (testTimezone.timezoneStandardCollection.size() > 2 && 
274                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 2){
275                 
276                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[2];
277                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[2];
278                         
279         }
281         ASSERT_EQ("Zaap", xTokensData);
282         ASSERT_EQ("X-MOO;MEEP=YIKES", xTokensDataTokens);
283         
284         xTokensData.clear();
285         xTokensDataTokens.clear();
287         if (testTimezone.timezoneStandardCollection.size() > 2 && 
288                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 3){
289                 
290                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[3];
291                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[3];
292                         
293         }
295         ASSERT_EQ("Fork", xTokensData);
296         ASSERT_EQ("X-ITEM", xTokensDataTokens);
297         
298         xTokensData.clear();
299         xTokensDataTokens.clear();
300         
301         if (testTimezone.timezoneStandardCollection.size() > 2 && 
302                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 4){
303                 
304                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[4];
305                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[4];
306                         
307         }
309         ASSERT_EQ("Spoon", xTokensData);
310         ASSERT_EQ("X-ITEM", xTokensDataTokens);
311         
312         xTokensData.clear();
313         xTokensDataTokens.clear();
314         
315         if (testTimezone.timezoneStandardCollection.size() > 2 && 
316                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 5){
317                 
318                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[5];
319                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[5];
320                         
321         }
323         ASSERT_EQ("Knife", xTokensData);
324         ASSERT_EQ("X-ITEM;DIRTY=NO", xTokensDataTokens);
325         
326         xTokensData.clear();
327         xTokensDataTokens.clear();
329         if (testTimezone.timezoneStandardCollection.size() > 2 && 
330                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 6){
331                 
332                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[6];
333                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[6];
334                         
335         }
337         ASSERT_EQ("1", xTokensData);
338         ASSERT_EQ("X-NOPE", xTokensDataTokens);
339         
340         xTokensData.clear();
341         xTokensDataTokens.clear();
342         
343         if (testTimezone.timezoneStandardCollection.size() > 2 && 
344                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 7){
345                 
346                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[7];
347                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[7];
348                         
349         }
351         ASSERT_EQ("2", xTokensData);
352         ASSERT_EQ("X-NOPE", xTokensDataTokens);
353         
354         xTokensData.clear();
355         xTokensDataTokens.clear();
356         
357         if (testTimezone.timezoneStandardCollection.size() > 2 && 
358                 testTimezone.timezoneStandardCollection[2].xTokensData.size() > 8){
359                 
360                 xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[8];
361                 xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[8];
362                         
363         }
365         ASSERT_EQ("3", xTokensData);
366         ASSERT_EQ("X-NOPE;LONG=YES", xTokensDataTokens);
367         
368         // Tests for the first DAYLIGHT data.
369         
370         dateTimeStartData.clear();
371         timeZoneOffsetToData.clear();
372         timeZoneOffsetFromData.clear();
373         
374         if (testTimezone.timezoneDaylightCollection.size() > 0){
375         
376                 dateTimeStartData = testTimezone.timezoneDaylightCollection[0].dateTimeStartData;
377         
378         }
380         if (testTimezone.timezoneDaylightCollection.size() > 0){
381         
382                 timeZoneOffsetToData = testTimezone.timezoneDaylightCollection[0].timeZoneOffsetToData;
383         
384         }
385         
386         if (testTimezone.timezoneDaylightCollection.size() > 0){
387         
388                 timeZoneOffsetFromData = testTimezone.timezoneDaylightCollection[0].timeZoneOffsetFromData;
389         
390         }
391         
392         ASSERT_EQ("20160204T020000", dateTimeStartData);
393         ASSERT_EQ("-0400", timeZoneOffsetToData);
394         ASSERT_EQ("-0500", timeZoneOffsetFromData);
395         
396         // Tests for the second DAYLIGHT data.
397         
398         dateTimeStartTokens.clear();
399         timeZoneOffsetToTokens.clear();
400         timeZoneOffsetFromTokens.clear();
401         
402         recurranceRuleData.clear();
403         recurranceRuleDataTokens.clear();
404         
405         commentList.clear();
406         commentListAltRep.clear();
407         commentListLanguage.clear();
408         commentListTokens.clear();
409         
410         recurranceDateData.clear();
411         recurranceDateValue.clear();
412         recurranceDateDataTimeZoneParam.clear();
413         recurranceDateDataTokens.clear();
414         
415         timeZoneNameData.clear();
416         timeZoneNameLanguage.clear();
417         timeZoneNameTokens.clear();
418         
419         xTokensData.clear();
420         xTokensDataTokens.clear();
421         
422         dateTimeStartData.clear();
423         timeZoneOffsetToData.clear();
424         timeZoneOffsetFromData.clear();
425         
426         if (testTimezone.timezoneDaylightCollection.size() > 1){
427         
428                 dateTimeStartData = testTimezone.timezoneDaylightCollection[1].dateTimeStartData;
429                 dateTimeStartTokens = testTimezone.timezoneDaylightCollection[1].dateTimeStartTokens;
430         
431         }
433         if (testTimezone.timezoneDaylightCollection.size() > 1){
434         
435                 timeZoneOffsetToData = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetToData;
436                 timeZoneOffsetToTokens = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetToTokens;
437         
438         }
439         
440         if (testTimezone.timezoneDaylightCollection.size() > 1){
441         
442                 timeZoneOffsetFromData = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetFromData;
443                 timeZoneOffsetFromTokens = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetFromTokens;
444         
445         }
446         
447         ASSERT_EQ("20160205T020000", dateTimeStartData);
448         ASSERT_EQ("MEEP=MOO", dateTimeStartTokens);
449         ASSERT_EQ("-0400", timeZoneOffsetToData);
450         ASSERT_EQ("EXAMPLE=DATA", timeZoneOffsetToTokens);
451         ASSERT_EQ("-0500", timeZoneOffsetFromData);
452         ASSERT_EQ("LETS=GO", timeZoneOffsetFromTokens);
453         
454         // Tests for third DAYLIGHT data.
455         
456         dateTimeStartData.clear();
457         dateTimeStartTokens.clear();
458         timeZoneOffsetToData.clear();
459         timeZoneOffsetToTokens.clear();
460         timeZoneOffsetFromData.clear();
461         timeZoneOffsetFromTokens.clear();
462         
463         if (testTimezone.timezoneDaylightCollection.size() > 2){
464         
465                 dateTimeStartData = testTimezone.timezoneDaylightCollection[2].dateTimeStartData;
466                 dateTimeStartTokens = testTimezone.timezoneDaylightCollection[2].dateTimeStartTokens;
467         
468         }
470         if (testTimezone.timezoneDaylightCollection.size() > 2){
471         
472                 timeZoneOffsetToData = testTimezone.timezoneDaylightCollection[2].timeZoneOffsetToData;
473                 timeZoneOffsetToTokens = testTimezone.timezoneDaylightCollection[2].timeZoneOffsetToTokens;
474         
475         }
476         
477         if (testTimezone.timezoneDaylightCollection.size() > 2){
478         
479                 timeZoneOffsetFromData = testTimezone.timezoneDaylightCollection[2].timeZoneOffsetFromData;
480                 timeZoneOffsetFromTokens = testTimezone.timezoneDaylightCollection[2].timeZoneOffsetFromTokens;
481         
482         }
483         
484         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
485                 testTimezone.timezoneDaylightCollection[2].commentList.size() > 0){
486                 
487                 commentList = testTimezone.timezoneDaylightCollection[2].commentList[0];
488                 commentListAltRep = testTimezone.timezoneDaylightCollection[2].commentListAltRep[0];
489                 commentListLanguage = testTimezone.timezoneDaylightCollection[2].commentListLanguage[0];
490                 commentListTokens = testTimezone.timezoneDaylightCollection[2].commentListTokens[0];
491                         
492         }
493         
494         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
495                 testTimezone.timezoneDaylightCollection[2].recurranceRuleData.size() > 0){
496                 
497                 recurranceRuleData = testTimezone.timezoneDaylightCollection[2].recurranceRuleData;
498                 recurranceRuleDataTokens = testTimezone.timezoneDaylightCollection[2].recurranceRuleDataTokens;
499                         
500         }
502         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
503                 testTimezone.timezoneDaylightCollection[2].recurranceDateData.size() > 0){
504                 
505                 recurranceDateData = testTimezone.timezoneDaylightCollection[2].recurranceDateData[0];
506                 recurranceDateValue = testTimezone.timezoneDaylightCollection[2].recurranceDateDataValue[0];
507                 recurranceDateDataTimeZoneParam = testTimezone.timezoneDaylightCollection[2].recurranceDateDataTimeZoneParam[0];
508                 recurranceDateDataTokens = testTimezone.timezoneDaylightCollection[2].recurranceDateDataTokens[0];
509                         
510         }
511         
512         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
513                 testTimezone.timezoneDaylightCollection[2].timeZoneNameData.size() > 0){
514                 
515                 timeZoneNameData = testTimezone.timezoneDaylightCollection[2].timeZoneNameData[0];
516                 timeZoneNameLanguage = testTimezone.timezoneDaylightCollection[2].timeZoneNameLanguage[0];
517                 timeZoneNameTokens = testTimezone.timezoneDaylightCollection[2].timeZoneNameTokens[0];
518                         
519         }
520         
521         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
522                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 0){
523                 
524                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[0];
525                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[0];
526                         
527         }
528         
529         ASSERT_EQ("20160206T020000", dateTimeStartData);
530         ASSERT_EQ("MEEP=MOO", dateTimeStartTokens);
531         ASSERT_EQ("-0400", timeZoneOffsetToData);
532         ASSERT_EQ("EXAMPLE=DATA", timeZoneOffsetToTokens);
533         ASSERT_EQ("-0500", timeZoneOffsetFromData);
534         ASSERT_EQ("LETS=GO", timeZoneOffsetFromTokens);
536         ASSERT_EQ("Example timezone comment.", commentList);
537         ASSERT_EQ("null:nodata", commentListAltRep);
538         ASSERT_EQ("kw", commentListLanguage);
539         ASSERT_EQ("YO=YOYOS", commentListTokens);
541         ASSERT_EQ("FREQ=DAILY;COUNT=10", recurranceRuleData);
542         ASSERT_EQ("YAK=YES", recurranceRuleDataTokens);
543         
544         ASSERT_EQ("20160205,20160207,20160216,20160305", recurranceDateData);
545         ASSERT_EQ("DATE", recurranceDateValue);
546         ASSERT_EQ("Europe/Truro", recurranceDateDataTimeZoneParam);
547         ASSERT_EQ("BEEP=BOOP", recurranceDateDataTokens);
549         ASSERT_EQ("Example Timezone Name 1", timeZoneNameData);
550         ASSERT_EQ("en", timeZoneNameLanguage);
551         ASSERT_EQ("NOPE=YES", timeZoneNameTokens);
553         ASSERT_EQ("Example Timezone Name 1", timeZoneNameData);
554         ASSERT_EQ("en", timeZoneNameLanguage);
556         ASSERT_EQ("Meep", xTokensData);
557         ASSERT_EQ("X-MOO", xTokensDataTokens);
559         xTokensData.clear();
560         xTokensDataTokens.clear();
562         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
563                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 1){
564                 
565                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[1];
566                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[1];
567                         
568         }
570         ASSERT_EQ("Moop", xTokensData);
571         ASSERT_EQ("X-MOO", xTokensDataTokens);
572         
573         xTokensData.clear();
574         xTokensDataTokens.clear();
575         
576         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
577                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 2){
578                 
579                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[2];
580                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[2];
581                         
582         }
584         ASSERT_EQ("Zaap", xTokensData);
585         ASSERT_EQ("X-MOO;MEEP=YIKES", xTokensDataTokens);
586         
587         xTokensData.clear();
588         xTokensDataTokens.clear();
590         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
591                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 3){
592                 
593                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[3];
594                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[3];
595                         
596         }
598         ASSERT_EQ("Fork", xTokensData);
599         ASSERT_EQ("X-ITEM", xTokensDataTokens);
600         
601         xTokensData.clear();
602         xTokensDataTokens.clear();
603         
604         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
605                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 4){
606                 
607                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[4];
608                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[4];
609                         
610         }
612         ASSERT_EQ("Spoon", xTokensData);
613         ASSERT_EQ("X-ITEM", xTokensDataTokens);
614         
615         xTokensData.clear();
616         xTokensDataTokens.clear();
617         
618         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
619                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 5){
620                 
621                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[5];
622                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[5];
623                         
624         }
626         ASSERT_EQ("Knife", xTokensData);
627         ASSERT_EQ("X-ITEM;DIRTY=NO", xTokensDataTokens);
628         
629         xTokensData.clear();
630         xTokensDataTokens.clear();
632         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
633                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 6){
634                 
635                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[6];
636                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[6];
637                         
638         }
640         ASSERT_EQ("1", xTokensData);
641         ASSERT_EQ("X-NOPE", xTokensDataTokens);
642         
643         xTokensData.clear();
644         xTokensDataTokens.clear();
645         
646         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
647                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 7){
648                 
649                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[7];
650                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[7];
651                         
652         }
654         ASSERT_EQ("2", xTokensData);
655         ASSERT_EQ("X-NOPE", xTokensDataTokens);
656         
657         xTokensData.clear();
658         xTokensDataTokens.clear();
659         
660         if (testTimezone.timezoneDaylightCollection.size() > 2 && 
661                 testTimezone.timezoneDaylightCollection[2].xTokensData.size() > 8){
662                 
663                 xTokensData = testTimezone.timezoneDaylightCollection[2].xTokensData[8];
664                 xTokensDataTokens = testTimezone.timezoneDaylightCollection[2].xTokensDataTokens[8];
665                         
666         }
668         ASSERT_EQ("3", xTokensData);
669         ASSERT_EQ("X-NOPE;LONG=YES", xTokensDataTokens);
670         
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