+ // Check the TYPE section.
+
+ TestFileIter = TestFile.SoundsListType.find(0);
+ ASSERT_EQ(TestFile.SoundsListType.end(), TestFileIter);
+
+ // Check the LANGUAGE section.
+
+ TestFileIter = TestFile.SoundsListLanguage.find(0);
+ ASSERT_NE(TestFile.SoundsListLanguage.end(), TestFileIter);
+ ASSERT_EQ("kw", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.SoundsListPref.find(0);
+ ASSERT_NE(TestFile.SoundsListPref.end(), TestFileIntIter);
+ ASSERT_EQ(2, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.SoundsListTokens.find(0);
+ ASSERT_NE(TestFile.SoundsListTokens.end(), TestFileIter);
+ ASSERT_EQ("MEEP=MOO", TestFileIter->second);
+
+ // Start with Sound B.
+
+ TestStrIter = TestFile.SoundsList.find(1);
+ ASSERT_NE(TestFile.SoundsList.end(), TestStrIter);
+ ASSERT_EQ(SoundB, TestStrIter->second);
+
+ // Check that it has the correct encoding.
+
+ TestFileIter = TestFile.SoundsListAudioEncType.find(1);
+ ASSERT_NE(TestFile.SoundsListAudioEncType.end(), TestFileIter);
+ ASSERT_EQ("base64", TestFileIter->second);
+
+ // Check that it has the correct image type.
+
+ TestFileIter = TestFile.SoundsListAudioType.find(1);
+ ASSERT_NE(TestFile.SoundsListAudioType.end(), TestFileIter);
+ ASSERT_EQ("application/ogg", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.SoundsListType.find(1);
+ ASSERT_NE(TestFile.SoundsListType.end(), TestFileIter);
+ ASSERT_EQ("home", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.SoundsListAltID.find(1);
+ ASSERT_NE(TestFile.SoundsListAltID.end(), TestFileIter);
+ ASSERT_EQ("24", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.SoundsListPID.find(1);
+ ASSERT_NE(TestFile.SoundsListPID.end(), TestFileIter);
+ ASSERT_EQ("21", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.SoundsListMediatype.find(1);
+ ASSERT_NE(TestFile.SoundsListMediatype.end(), TestFileIter);
+ ASSERT_EQ("application/ogg", TestFileIter->second);
+
+ // Check the LANGUAGE section.
+
+ TestFileIter = TestFile.SoundsListLanguage.find(1);
+ ASSERT_NE(TestFile.SoundsListLanguage.end(), TestFileIter);
+ ASSERT_EQ("kw", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.SoundsListPref.find(1);
+ ASSERT_NE(TestFile.SoundsListPref.end(), TestFileIntIter);
+ ASSERT_EQ(22, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.SoundsListTokens.find(1);
+ ASSERT_NE(TestFile.SoundsListTokens.end(), TestFileIter);
+ ASSERT_EQ("SOUND=WAVE", TestFileIter->second);
+
+ // Start with Sound C.
+
+ TestStrIter = TestFile.SoundsList.find(2);
+ ASSERT_NE(TestFile.SoundsList.end(), TestStrIter);
+ ASSERT_EQ(SoundC, TestStrIter->second);
+
+ // Check that it has the correct encoding.
+
+ TestFileIter = TestFile.SoundsListAudioEncType.find(2);
+ ASSERT_NE(TestFile.SoundsListAudioEncType.end(), TestFileIter);
+ ASSERT_EQ("base64", TestFileIter->second);
+
+ // Check that it has the correct image type.
+
+ TestFileIter = TestFile.SoundsListAudioType.find(2);
+ ASSERT_NE(TestFile.SoundsListAudioType.end(), TestFileIter);
+ ASSERT_EQ("application/ogg", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.SoundsListType.find(2);
+ ASSERT_NE(TestFile.SoundsListType.end(), TestFileIter);
+ ASSERT_EQ("work", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.SoundsListAltID.find(2);
+ ASSERT_NE(TestFile.SoundsListAltID.end(), TestFileIter);
+ ASSERT_EQ("44", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.SoundsListPID.find(2);
+ ASSERT_NE(TestFile.SoundsListPID.end(), TestFileIter);
+ ASSERT_EQ("41", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.SoundsListMediatype.find(2);
+ ASSERT_NE(TestFile.SoundsListMediatype.end(), TestFileIter);
+ ASSERT_EQ("application/ogg", TestFileIter->second);
+
+ // Check the LANGUAGE section.
+
+ TestFileIter = TestFile.SoundsListLanguage.find(2);
+ ASSERT_NE(TestFile.SoundsListLanguage.end(), TestFileIter);
+ ASSERT_EQ("kw", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.SoundsListPref.find(2);
+ ASSERT_NE(TestFile.SoundsListPref.end(), TestFileIntIter);
+ ASSERT_EQ(42, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.SoundsListTokens.find(2);
+ ASSERT_NE(TestFile.SoundsListTokens.end(), TestFileIter);
+ ASSERT_EQ("WAVE=SOUND", TestFileIter->second);
+
+}
+
+TEST(ContactLoad, CalendarURITests){
+
+ ContactDataObject TestFile;
+
+ // Check that the vCard 4.0 file loads OK.
+
+ ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+ std::map<int,wxString>::iterator TestFileIter;
+ std::map<int,int>::iterator TestFileIntIter;
+
+ // Start with a general calendar address.
+
+ TestFileIter = TestFile.CalendarList.find(0);
+ ASSERT_NE(TestFile.CalendarList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.CalendarListType.find(0);
+ ASSERT_EQ(TestFile.CalendarListType.end(), TestFileIter);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.CalendarListAltID.find(0);
+ ASSERT_NE(TestFile.CalendarListAltID.end(), TestFileIter);
+ ASSERT_EQ("34", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.CalendarListPID.find(0);
+ ASSERT_NE(TestFile.CalendarListPID.end(), TestFileIter);
+ ASSERT_EQ("31", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.CalendarListMediatype.find(0);
+ ASSERT_NE(TestFile.CalendarListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/plain", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.CalendarListPref.find(0);
+ ASSERT_NE(TestFile.CalendarListPref.end(), TestFileIntIter);
+ ASSERT_EQ(32, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.CalendarListTokens.find(0);
+ ASSERT_NE(TestFile.CalendarListTokens.end(), TestFileIter);
+ ASSERT_EQ("CALENDARS=FLYING", TestFileIter->second);
+
+ // Start with a home calendar address.
+
+ TestFileIter = TestFile.CalendarList.find(1);
+ ASSERT_NE(TestFile.CalendarList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/home", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.CalendarListType.find(1);
+ ASSERT_NE(TestFile.CalendarListType.end(), TestFileIter);
+ ASSERT_EQ("home", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.CalendarListAltID.find(1);
+ ASSERT_NE(TestFile.CalendarListAltID.end(), TestFileIter);
+ ASSERT_EQ("44", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.CalendarListPID.find(1);
+ ASSERT_NE(TestFile.CalendarListPID.end(), TestFileIter);
+ ASSERT_EQ("41", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.CalendarListMediatype.find(1);
+ ASSERT_NE(TestFile.CalendarListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/dryplain", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.CalendarListPref.find(1);
+ ASSERT_NE(TestFile.CalendarListPref.end(), TestFileIntIter);
+ ASSERT_EQ(42, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.CalendarListTokens.find(1);
+ ASSERT_NE(TestFile.CalendarListTokens.end(), TestFileIter);
+ ASSERT_EQ("CALENDARS=GROUNDED", TestFileIter->second);
+
+ // Start with a business calendar address.
+
+ TestFileIter = TestFile.CalendarList.find(2);
+ ASSERT_NE(TestFile.CalendarList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/business", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.CalendarListType.find(2);
+ ASSERT_NE(TestFile.CalendarListType.end(), TestFileIter);
+ ASSERT_EQ("work", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.CalendarListAltID.find(2);
+ ASSERT_NE(TestFile.CalendarListAltID.end(), TestFileIter);
+ ASSERT_EQ("54", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.CalendarListPID.find(2);
+ ASSERT_NE(TestFile.CalendarListPID.end(), TestFileIter);
+ ASSERT_EQ("51", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.CalendarListMediatype.find(2);
+ ASSERT_NE(TestFile.CalendarListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/stillwetink", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.CalendarListPref.find(2);
+ ASSERT_NE(TestFile.CalendarListPref.end(), TestFileIntIter);
+ ASSERT_EQ(52, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.CalendarListTokens.find(2);
+ ASSERT_NE(TestFile.CalendarListTokens.end(), TestFileIter);
+ ASSERT_EQ("CALENDARS=CANCELLED", TestFileIter->second);
+
+}
+
+TEST(ContactLoad, CalendarAddressURITests){
+
+ ContactDataObject TestFile;
+
+ // Check that the vCard 4.0 file loads OK.
+
+ ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+ std::map<int,wxString>::iterator TestFileIter;
+ std::map<int,int>::iterator TestFileIntIter;
+
+ // Start with a general calendar request address.
+
+ TestFileIter = TestFile.CalendarRequestList.find(0);
+ ASSERT_NE(TestFile.CalendarRequestList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/request", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.CalendarRequestListType.find(0);
+ ASSERT_EQ(TestFile.CalendarRequestListType.end(), TestFileIter);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.CalendarRequestListAltID.find(0);
+ ASSERT_NE(TestFile.CalendarRequestListAltID.end(), TestFileIter);
+ ASSERT_EQ("14", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.CalendarRequestListPID.find(0);
+ ASSERT_NE(TestFile.CalendarRequestListPID.end(), TestFileIter);
+ ASSERT_EQ("11", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.CalendarRequestListMediatype.find(0);
+ ASSERT_NE(TestFile.CalendarRequestListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/plain", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.CalendarRequestListPref.find(0);
+ ASSERT_NE(TestFile.CalendarRequestListPref.end(), TestFileIntIter);
+ ASSERT_EQ(12, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.CalendarRequestListTokens.find(0);
+ ASSERT_NE(TestFile.CalendarRequestListTokens.end(), TestFileIter);
+ ASSERT_EQ("REQUEST=YES", TestFileIter->second);
+
+ // Start with a home calendar request address.
+
+ TestFileIter = TestFile.CalendarRequestList.find(1);
+ ASSERT_NE(TestFile.CalendarRequestList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/home/request", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.CalendarRequestListType.find(1);
+ ASSERT_NE(TestFile.CalendarRequestListType.end(), TestFileIter);
+ ASSERT_EQ("home", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.CalendarRequestListAltID.find(1);
+ ASSERT_NE(TestFile.CalendarRequestListAltID.end(), TestFileIter);
+ ASSERT_EQ("24", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.CalendarRequestListPID.find(1);
+ ASSERT_NE(TestFile.CalendarRequestListPID.end(), TestFileIter);
+ ASSERT_EQ("21", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.CalendarRequestListMediatype.find(1);
+ ASSERT_NE(TestFile.CalendarRequestListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/dryplain", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.CalendarRequestListPref.find(1);
+ ASSERT_NE(TestFile.CalendarRequestListPref.end(), TestFileIntIter);
+ ASSERT_EQ(22, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.CalendarRequestListTokens.find(1);
+ ASSERT_NE(TestFile.CalendarRequestListTokens.end(), TestFileIter);
+ ASSERT_EQ("REQUEST=MAYBE", TestFileIter->second);
+
+ // Start with a business calendar request address.
+
+ TestFileIter = TestFile.CalendarRequestList.find(2);
+ ASSERT_NE(TestFile.CalendarRequestList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/business/request", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.CalendarRequestListType.find(2);
+ ASSERT_NE(TestFile.CalendarRequestListType.end(), TestFileIter);
+ ASSERT_EQ("work", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.CalendarRequestListAltID.find(2);
+ ASSERT_NE(TestFile.CalendarRequestListAltID.end(), TestFileIter);
+ ASSERT_EQ("34", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.CalendarRequestListPID.find(2);
+ ASSERT_NE(TestFile.CalendarRequestListPID.end(), TestFileIter);
+ ASSERT_EQ("31", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.CalendarRequestListMediatype.find(2);
+ ASSERT_NE(TestFile.CalendarRequestListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/stillwetink", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.CalendarRequestListPref.find(2);
+ ASSERT_NE(TestFile.CalendarRequestListPref.end(), TestFileIntIter);
+ ASSERT_EQ(32, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.CalendarRequestListTokens.find(2);
+ ASSERT_NE(TestFile.CalendarRequestListTokens.end(), TestFileIter);
+ ASSERT_EQ("REQUEST=NO", TestFileIter->second);
+
+}
+
+TEST(ContactLoad, FreeBusyTests){
+
+ ContactDataObject TestFile;
+
+ // Check that the vCard 4.0 file loads OK.
+
+ ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+ std::map<int,wxString>::iterator TestFileIter;
+ std::map<int,int>::iterator TestFileIntIter;
+
+ // Start with a general calendar free busy address.
+
+ TestFileIter = TestFile.FreeBusyList.find(0);
+ ASSERT_NE(TestFile.FreeBusyList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/freebusy", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.FreeBusyListType.find(0);
+ ASSERT_EQ(TestFile.FreeBusyListType.end(), TestFileIter);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.FreeBusyListAltID.find(0);
+ ASSERT_NE(TestFile.FreeBusyListAltID.end(), TestFileIter);
+ ASSERT_EQ("74", TestFileIter->second);
+
+ // Check the PID section.