Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added source code, headers and unit tests for the SOURCE vCard property for ContactDa...
[xestiaab/.git] / source / tests / xestiaab_contactload.h
index da35e06..e2217a1 100644 (file)
@@ -169,6 +169,144 @@ TEST(ContactLoad, UIDTest){
 
 }
 
+TEST(ContactLoad, SourceTests){
+
+       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 source address.
+       
+       TestFileIter = TestFile.SourceList.find(0);
+       ASSERT_NE(TestFile.SourceList.end(), TestFileIter);
+       ASSERT_EQ("http://example.com/source/sourcea.vcf", TestFileIter->second);
+       
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.SourceListType.find(0);
+       ASSERT_EQ(TestFile.SourceListType.end(), TestFileIter);
+       
+       // Check the ALTID section.
+       
+       TestFileIter = TestFile.SourceListAltID.find(0);
+       ASSERT_NE(TestFile.SourceListAltID.end(), TestFileIter);
+       ASSERT_EQ("74", TestFileIter->second);
+       
+       // Check the PID section.
+       
+       TestFileIter = TestFile.SourceListPID.find(0);
+       ASSERT_NE(TestFile.SourceListPID.end(), TestFileIter);
+       ASSERT_EQ("71", TestFileIter->second);
+       
+       // Check the MEDIATYPE section.
+       
+       TestFileIter = TestFile.SourceListMediatype.find(0);
+       ASSERT_NE(TestFile.SourceListMediatype.end(), TestFileIter);
+       ASSERT_EQ("text/plain", TestFileIter->second);
+       
+       // Check the PREF section.
+       
+       TestFileIntIter = TestFile.SourceListPref.find(0);
+       ASSERT_NE(TestFile.SourceListPref.end(), TestFileIntIter);
+       ASSERT_EQ(72, TestFileIntIter->second);
+       
+       // Check the extra tokens.
+       
+       TestFileIter = TestFile.SourceListTokens.find(0);
+       ASSERT_NE(TestFile.SourceListTokens.end(), TestFileIter);
+       ASSERT_EQ("STATUS=FEED", TestFileIter->second);
+       
+       // Start with the home source address.
+
+       TestFileIter = TestFile.SourceList.find(1);
+       ASSERT_NE(TestFile.SourceList.end(), TestFileIter);
+       ASSERT_EQ("http://example.com/source/sourceb.vcf", TestFileIter->second);
+       
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.SourceListType.find(1);
+       ASSERT_NE(TestFile.SourceListType.end(), TestFileIter);
+       ASSERT_EQ("home", TestFileIter->second);
+       
+       // Check the ALTID section.
+       
+       TestFileIter = TestFile.SourceListAltID.find(1);
+       ASSERT_NE(TestFile.SourceListAltID.end(), TestFileIter);
+       ASSERT_EQ("84", TestFileIter->second);
+       
+       // Check the PID section.
+       
+       TestFileIter = TestFile.SourceListPID.find(1);
+       ASSERT_NE(TestFile.SourceListPID.end(), TestFileIter);
+       ASSERT_EQ("81", TestFileIter->second);
+       
+       // Check the MEDIATYPE section.
+       
+       TestFileIter = TestFile.SourceListMediatype.find(1);
+       ASSERT_NE(TestFile.SourceListMediatype.end(), TestFileIter);
+       ASSERT_EQ("text/plainpaper", TestFileIter->second);
+       
+       // Check the PREF section.
+       
+       TestFileIntIter = TestFile.SourceListPref.find(1);
+       ASSERT_NE(TestFile.SourceListPref.end(), TestFileIntIter);
+       ASSERT_EQ(82, TestFileIntIter->second);
+
+       // Check the extra tokens.
+       
+       TestFileIter = TestFile.SourceListTokens.find(1);
+       ASSERT_NE(TestFile.SourceListTokens.end(), TestFileIter);
+       ASSERT_EQ("STATUS=ONLINE", TestFileIter->second);
+
+       // Start with the home source address.
+
+       TestFileIter = TestFile.SourceList.find(2);
+       ASSERT_NE(TestFile.SourceList.end(), TestFileIter);
+       ASSERT_EQ("http://example.com/source/sourcec.vcf", TestFileIter->second);
+       
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.SourceListType.find(2);
+       ASSERT_NE(TestFile.SourceListType.end(), TestFileIter);
+       ASSERT_EQ("work", TestFileIter->second);
+       
+       // Check the ALTID section.
+       
+       TestFileIter = TestFile.SourceListAltID.find(2);
+       ASSERT_NE(TestFile.SourceListAltID.end(), TestFileIter);
+       ASSERT_EQ("94", TestFileIter->second);
+       
+       // Check the PID section.
+       
+       TestFileIter = TestFile.SourceListPID.find(2);
+       ASSERT_NE(TestFile.SourceListPID.end(), TestFileIter);
+       ASSERT_EQ("91", TestFileIter->second);
+       
+       // Check the MEDIATYPE section.
+       
+       TestFileIter = TestFile.SourceListMediatype.find(2);
+       ASSERT_NE(TestFile.SourceListMediatype.end(), TestFileIter);
+       ASSERT_EQ("text/sandpaper", TestFileIter->second);
+       
+       // Check the PREF section.
+       
+       TestFileIntIter = TestFile.SourceListPref.find(2);
+       ASSERT_NE(TestFile.SourceListPref.end(), TestFileIntIter);
+       ASSERT_EQ(92, TestFileIntIter->second);
+
+       // Check the extra tokens.
+       
+       TestFileIter = TestFile.SourceListTokens.find(2);
+       ASSERT_NE(TestFile.SourceListTokens.end(), TestFileIter);
+       ASSERT_EQ("STATUS=OFFLINE", TestFileIter->second);
+
+}
+
 TEST(ContactLoad, NicknameTests){
 
        ContactDataObject TestFile;
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