Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added tests for checking the PHOTO and LOGO TYPEs.
[xestiaab/.git] / source / tests / xestiaab_contactload.h
index da35e06..bc3f62f 100644 (file)
@@ -17,7 +17,7 @@
 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
 
 #include <gtest/gtest.h>
-#include "../contacteditor/ContactDataObject.h"
+#include "../contacteditor/cdo/ContactDataObject.h"
 
 TEST(ContactLoad, ContactLoadTests){
 
@@ -169,6 +169,225 @@ TEST(ContactLoad, UIDTest){
 
 }
 
+TEST(ContactLoad, ClientPIDMapTests){
+
+       ContactDataObject TestFile;
+
+       ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+       std::map<int,wxString>::iterator TestFileIter;
+
+       // Test the first Client PID Map.
+
+       TestFileIter = TestFile.ClientPIDList.find(0);
+       ASSERT_NE(TestFile.ClientPIDList.end(), TestFileIter);
+       ASSERT_EQ("1;urn;uuid:aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", TestFileIter->second);    
+
+       TestFileIter = TestFile.ClientPIDListTokens.find(0);
+       ASSERT_EQ(TestFile.ClientPIDListTokens.end(), TestFileIter);
+
+       // Test the second Client PID Map.
+
+       TestFileIter = TestFile.ClientPIDList.find(1);
+       ASSERT_NE(TestFile.ClientPIDList.end(), TestFileIter);
+       ASSERT_EQ("2;urn;uuid:ccccccccc-cccc-cccc-cccc-cccccccccccc", TestFileIter->second);
+
+       TestFileIter = TestFile.ClientPIDListTokens.find(1);
+       ASSERT_EQ(TestFile.ClientPIDListTokens.end(), TestFileIter);
+       
+       // Test the third Client PID Map.
+       
+       TestFileIter = TestFile.ClientPIDListTokens.find(2);
+       ASSERT_NE(TestFile.ClientPIDListTokens.end(), TestFileIter);
+       ASSERT_EQ("MEEP=MOO;WOOP=WOO", TestFileIter->second);
+
+       TestFileIter = TestFile.ClientPIDList.find(2);
+       ASSERT_NE(TestFile.ClientPIDList.end(), TestFileIter);
+       ASSERT_EQ("3;urn;uuid:bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", TestFileIter->second);
+
+}
+
+TEST(ContactLoad, RevisionTests){
+
+       ContactDataObject TestFile;
+
+       ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+       
+       ASSERT_EQ("20151227T033000Z", TestFile.Revision);
+       ASSERT_EQ("TEST=YES;DATA=NO;MORE=MAYBE", TestFile.RevisionTokens);
+
+}
+
+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, XMLTest){
+
+       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 the first XML property.
+       
+       // Start with a general source address.
+       
+       TestFileIter = TestFile.XMLList.find(0);
+       ASSERT_NE(TestFile.XMLList.end(), TestFileIter);
+       ASSERT_EQ("<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n"
+    "   href=\"http://example.com/\">Example Page 1</a>", TestFileIter->second);
+
+       TestFileIter = TestFile.XMLList.find(1);
+       ASSERT_NE(TestFile.XMLList.end(), TestFileIter);
+       ASSERT_EQ("<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n"
+    "   href=\"http://example.com/page2.html\">Example Page 2</a>", TestFileIter->second);
+
+       TestFileIter = TestFile.XMLList.find(2);
+       ASSERT_NE(TestFile.XMLList.end(), TestFileIter);
+       ASSERT_EQ("<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n"
+    "   href=\"http://example.com/page3.html\">Example Page 3</a>", TestFileIter->second);
+
+}
+
 TEST(ContactLoad, NicknameTests){
 
        ContactDataObject TestFile;
@@ -2359,6 +2578,11 @@ TEST(ContactLoad, PhotoTests){
        ASSERT_NE(TestFile.PicturesListPID.end(), TestFileIter);
        ASSERT_EQ("71", TestFileIter->second);
        
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.PicturesListType.find(0);
+       ASSERT_EQ(TestFile.PicturesListType.end(), TestFileIter);
+       
        // Check the MEDIATYPE section.
        
        TestFileIter = TestFile.PicturesListMediatype.find(0);
@@ -2408,6 +2632,12 @@ TEST(ContactLoad, PhotoTests){
        ASSERT_NE(TestFile.PicturesListPID.end(), TestFileIter);
        ASSERT_EQ("21", TestFileIter->second);
        
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.PicturesListType.find(1);
+       ASSERT_NE(TestFile.PicturesListType.end(), TestFileIter);
+       ASSERT_EQ("home", TestFileIter->second);
+       
        // Check the MEDIATYPE section.
        
        TestFileIter = TestFile.PicturesListMediatype.find(1);
@@ -2457,6 +2687,12 @@ TEST(ContactLoad, PhotoTests){
        ASSERT_NE(TestFile.PicturesListPID.end(), TestFileIter);
        ASSERT_EQ("91", TestFileIter->second);
        
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.PicturesListType.find(2);
+       ASSERT_NE(TestFile.PicturesListType.end(), TestFileIter);
+       ASSERT_EQ("work", TestFileIter->second);
+       
        // Check the MEDIATYPE section.
        
        TestFileIter = TestFile.PicturesListMediatype.find(2);
@@ -2520,6 +2756,8 @@ TEST(ContactLoad, LogoTests){
        ASSERT_NE(TestFile.LogosListPID.end(), TestFileIter);
        ASSERT_EQ("71", TestFileIter->second);
        
+       // Check the TYPE section.
+               
        // Check the MEDIATYPE section.
        
        TestFileIter = TestFile.LogosListMediatype.find(0);
@@ -2568,6 +2806,12 @@ TEST(ContactLoad, LogoTests){
        TestFileIter = TestFile.LogosListPID.find(1);
        ASSERT_NE(TestFile.LogosListPID.end(), TestFileIter);
        ASSERT_EQ("21", TestFileIter->second);
+
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.LogosListType.find(1);
+       ASSERT_NE(TestFile.LogosListType.end(), TestFileIter);
+       ASSERT_EQ("home", TestFileIter->second);
        
        // Check the MEDIATYPE section.
        
@@ -2618,6 +2862,12 @@ TEST(ContactLoad, LogoTests){
        ASSERT_NE(TestFile.LogosListPID.end(), TestFileIter);
        ASSERT_EQ("91", TestFileIter->second);
        
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.LogosListType.find(2);
+       ASSERT_NE(TestFile.LogosListType.end(), TestFileIter);
+       ASSERT_EQ("work", TestFileIter->second);
+       
        // Check the MEDIATYPE section.
        
        TestFileIter = TestFile.LogosListMediatype.find(2);
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