Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added LOGO to the SaveString function of ContactDataObject
[xestiaab/.git] / source / tests / xestiaab_contactsave.h
index 3459f7c..7a3fb37 100644 (file)
@@ -24,6 +24,8 @@ TEST(ContactSave, ContactSaveTests){
        
        ContactDataObject TestFile1;
        ContactDataObject TestFile2;
+       ContactDataObject TestFile3;
+       
        wxString SaveData;
        wxString SaveDataCompare = "BEGIN:VCARD\n"
        "VERSION:4.0\n"
@@ -36,6 +38,7 @@ TEST(ContactSave, ContactSaveTests){
        ASSERT_EQ(CONTACTLOAD_OK, TestFile1.LoadFile("LoadCheck-Load1.vcf"));
        
        ASSERT_EQ(CONTACTSAVE_OK, TestFile1.SaveString(&SaveData));
+       
        ASSERT_EQ(SaveDataCompare, SaveData);
        
        ASSERT_EQ(CONTACTLOAD_OK, TestFile2.LoadFile("LoadCheck-Load2.vcf"));
@@ -52,5 +55,128 @@ TEST(ContactSave, ContactSaveTests){
        
        ASSERT_EQ(CONTACTSAVE_OK, TestFile2.SaveString(&SaveData));
        ASSERT_EQ(SaveDataCompare, SaveData);
+
+       SaveData.clear();
+       SaveDataCompare = "BEGIN:VCARD\n"
+       "VERSION:4.0\n"
+       "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
+       "UID:903588-9082374-989120310-AAFECDBCDF\n"
+       "KIND:individual\n"
+       "XML:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.com/\">Ex\n"
+       " ample Page 1</a>\n"
+       "XML;ALTID=3:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.\n"
+       " com/page2.html\">Example Page 2</a>\n"
+       "XML;ALTID=5:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.\n"
+       " com/page3.html\">Example Page 3</a>\n"
+       "SOURCE;ALTID=74;MEDIATYPE=text/plain;PID=71;PREF=72;STATUS=FEED:http://exampl\n"
+       " e.com/source/sourcea.vcf\n"
+       "SOURCE;TYPE=home;ALTID=84;MEDIATYPE=text/plainpaper;PID=81;PREF=82;STATUS=ONL\n"
+       " INE:http://example.com/source/sourceb.vcf\n"
+       "SOURCE;TYPE=work;ALTID=94;MEDIATYPE=text/sandpaper;PID=91;PREF=92;STATUS=OFFL\n"
+       " INE:http://example.com/source/sourcec.vcf\n"
+       "CLIENTPIDMAP:1;urn;uuid:aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\n"
+       "CLIENTPIDMAP:2;urn;uuid:ccccccccc-cccc-cccc-cccc-cccccccccccc\n"
+       "CLIENTPIDMAP;MEEP=MOO;WOOP=WOO:3;urn;uuid:bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb\n"
+       " bb\n"
+       "FN;TYPE=work;LANGUAGE=kw;ALTID=500;PID=40;PREF=45;EXAMPLE=Baaa:Test Contact\n"
+       "NICKNAME;ALTID=35;LANGUAGE=kw;PID=50;PREF=40;YAY=Nope;Beep=Boop:Tester\n"
+       "NICKNAME;TYPE=home;ALTID=17;LANGUAGE=en;PID=39;PREF=78;YAY=Yep;Beep=Boop:Test\n"
+       " y\n"
+       "NICKNAME;TYPE=work;ALTID=99;LANGUAGE=en-GB;PID=10;PREF=1;YAY=Maybe;Boop=Boing\n"
+       " :The Testing One\n"
+       "TITLE;ALTID=20;LANGUAGE=text/plain;PID=21;PREF=22;EEP=LIGHT:Lord of Light\n"
+       "TITLE;TYPE=home;ALTID=30;LANGUAGE=grass/dry;PID=31;PREF=32;EEP=DARK:Lord of D\n"
+       " arkness\n"
+       "TITLE;TYPE=work;ALTID=40;LANGUAGE=moths/eew;PID=41;PREF=42;EEP=BOTH:Master of\n"
+       "  the Light & Darkness\n"
+       "TZ;ALTID=35;MEDIATYPE=text/plain;PID=60;PREF=20;WHATS=This;A=Potato:Europe/Tr\n"
+       " uro\n"
+       "TZ;TYPE=home;ALTID=15;MEDIATYPE=text/plain;PID=20;PREF=40;MAYBE=not:Europe/Pe\n"
+       " nzance\n"
+       "TZ;TYPE=work;ALTID=45;MEDIATYPE=text/plain;PID=70;PREF=80;MAYBE=yes:Europe/St\n"
+       "  Austell\n"
+       "ADR;ALTID=15;GEO=\"geo:1.0, 1.0\";LABEL=\"1 Lovely Lane\\nRodney\\nCornwall\\nPL99 \n"
+       " 1AA\\nCornwall\\nUnited Kingdom\";LANGUAGE=kw;MEDIATYPE=text/plain;PID=81;PREF=\n"
+       " 98;TZ=Europe/Truro;MAKES=Moo;ANIMAL=Cow:;;1 Lovely Lane;Rodney;Cornwall;PL99\n"
+       "  1AA;United Kingdom\n"
+       "ADR;TYPE=home;ALTID=40;GEO=\"geo:4.0, 4.0\";LABEL=\"3 Working Plaice\\nRoger\\nCor\n"
+       " nwall\\nPL75 4ZZ\\nCornwall\\nUnited Kingdom\";LANGUAGE=en;MEDIATYPE=text/plain;\n"
+       " PID=13;PREF=10;TZ=Europe/St Ives;TOAST=Butter:;;3 Working Plaice;Roger;Cornw\n"
+       " all;PL75 4ZZ;United Kingdom\n"
+       "ADR;TYPE=work;ALTID=45;GEO=\"geo:7.0, 7.0\";LABEL=\"7 Flyby Drive\\nElaine\\nCornw\n"
+       " all\\nPL84 9YE\\nCornwall\\nUnited Kingdom\";LANGUAGE=en-GB;MEDIATYPE=text/plain\n"
+       " ;PID=28;PREF=10;TZ=Europe/Newquay;JAM=Red:;;7 Flyby Drive;Elaine;Cornwall;PL\n"
+       " 84 9YE;United Kingdom\n"
+       "EMAIL;ALTID=10;PID=20;PREF=40;WONDERFUL=Colour:moo@example.com\n"
+       "EMAIL;TYPE=home;ALTID=5;PID=10;PREF=20;PEACE=quiet:moo.home@example.com\n"
+       "EMAIL;TYPE=work;ALTID=1;PID=2;PREF=3;BUSINESS=Money:moo.business@example.com\n"
+       "LANG;ALTID=20;PID=40;PREF=80;GELFORN=Great:kw\n"
+       "LANG;TYPE=home;ALTID=22;PID=45;PREF=90;LANGUAGE=yes:en\n"
+       "LANG;TYPE=work;ALTID=10;PID=15;PREF=20;FFENSTRI=ie:cy\n"
+       "GEO;ALTID=13;MEDIATYPE=text/plain;PID=26;PREF=39;POS=Yep:geo:3.5,3.5\n"
+       "GEO;TYPE=home;ALTID=140;MEDIATYPE=text/ratherplain;PID=70;PREF=1;POS=Nope:geo\n"
+       " :7.0,7.0\n"
+       "GEO;TYPE=work;ALTID=75;MEDIATYPE=text/greenplain;PID=32;PREF=4;POS=Money:geo:\n"
+       " 14.0,14.0\n"
+       "RELATED;TYPE=kin;ALTID=5;PID=10;PREF=20;OPTION=Yes:Friend Test\n"
+       "RELATED;TYPE=spouse;ALTID=1;PID=2;PREF=3;OPTION=No:Friend Test Two\n"
+       "RELATED;TYPE=muse;ALTID=4;PID=5;PREF=6;OPTION=Maybe:Friend Test Three\n"
+       "URL;ALTID=0;MEDIATYPE=text/plain;PID=1;PREF=2;MEEP=Moo:http://example.com/\n"
+       "URL;TYPE=home;ALTID=10;MEDIATYPE=grass/soggy;PID=11;PREF=12;BON=Bon:http://ex\n"
+       " ample.com/home/\n"
+       "URL;TYPE=work;ALTID=20;MEDIATYPE=chocolate/yummy;PID=21;PREF=22;YES=No:http:/\n"
+       " /example.com/business/\n"
+       "ROLE;ALTID=50;LANGUAGE=en;PID=51;PREF=52;ASTERISK=None:Ordinary Person\n"
+       "ROLE;TYPE=home;ALTID=60;LANGUAGE=en-GB;PID=61;PREF=62;SOMEWHERE=There:Ordinar\n"
+       " y Lazy Person\n"
+       "ROLE;TYPE=work;ALTID=70;LANGUAGE=en-AU;PID=71;PREF=72;HERE=Nope:Company Owner\n"
+       "ORG;ALTID=50;LANGUAGE=en;PID=51;PREF=52;SORT-AS=\"Organisation, Ordinary\";ASTE\n"
+       " RISK=None:Ordinary Organisation\n"
+       "ORG;TYPE=home;ALTID=60;LANGUAGE=en-GB;PID=61;PREF=62;SORT-AS=\"Person, Ordinar\n"
+       " y Lazy\";SOMEWHERE=There:Ordinary Lazy Person\n"
+       "ORG;TYPE=work;ALTID=70;LANGUAGE=en-AU;PID=71;PREF=72;SORT-AS=\"Owner, Company\"\n"
+       " ;HERE=Nope:Company Owner\n"
+       "NOTE;ALTID=90;LANGUAGE=en;PID=91;PREF=92;WOO=WOOP:Note\\n\\nLine 3\\nLine 4\\nLin\n"
+       " e 5\n"
+       "NOTE;TYPE=home;ALTID=80;LANGUAGE=kw;PID=81;PREF=82;MOO=MEEP:Note\\n\\n\\n\\nLine \n"
+       " 5\\nLine 6\\nLine 7\n"
+       "NOTE;TYPE=work;ALTID=70;LANGUAGE=fr;PID=71;PREF=72;BOING=BOOP:Note\\n\\n\\n\\nLin\n"
+       " e 8\\nLine 9\\nLine 10\n"
+       "CATEGORIES;ALTID=40;LANGUAGE=en;PID=41;PREF=42;CAT=TAC:Category One\n"
+       "CATEGORIES;TYPE=home;ALTID=44;LANGUAGE=kw;PID=46;PREF=48;TAC=CAT:Category Two\n"
+       "CATEGORIES;TYPE=home;ALTID=44;LANGUAGE=kw;PID=46;PREF=48;TAC=CAT:Category Thr\n"
+       " ee\n"
+       "CATEGORIES;TYPE=work;ALTID=84;LANGUAGE=kw;PID=86;PREF=88;AAA=BBB:Category Fou\n"
+       " r\n"
+       "CATEGORIES;TYPE=work;ALTID=84;LANGUAGE=kw;PID=86;PREF=88;AAA=BBB:Category Fiv\n"
+       " e\n"
+       "CATEGORIES;TYPE=work;ALTID=84;LANGUAGE=kw;PID=86;PREF=88;AAA=BBB:Category Six\n"
+       "PHOTO;ALTID=70;MEDIATYPE=image/png;PID=71;PREF=72;MEEP=MOO:data:image/png;bas\n"
+       " e64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAJUlEQVQoz2NkwAb+//8PYTAy\n"
+       " MmLKMjGQDuilhxHudBrbM8zCDQCxHQkPeaUvawAAAABJRU5ErkJggg==\n"
+       "PHOTO;TYPE=home;ALTID=20;MEDIATYPE=image/png;PID=21;PREF=22;BEEP=BOOP:data:im\n"
+       " age/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAHklEQVQoz2NkY\n"
+       " PjPgAr+owkwMqIpYGIgHYzqGdx6AAKNAxMN5P6+AAAAAElFTkSuQmCC\n"
+       "PHOTO;TYPE=work;ALTID=90;MEDIATYPE=image/png;PID=91;PREF=92;PHOTO=YUP:data:im\n"
+       " age/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAIElEQVQoz2MUm\n"
+       " 53EgApepsxF4XfaoylgYiAdjOoZ3HoAeuQD2WdxRzcAAAAASUVORK5CYII=\n"
+       "LOGO;ALTID=70;MEDIATYPE=image/png;PID=71;PREF=72;MEEP=MOO:data:image/png;base\n"
+       " 64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAJUlEQVQoz2NkwAb+//8PYTAyM\n"
+       " mLKMjGQDuilhxHudBrbM8zCDQCxHQkPeaUvawAAAABJRU5ErkJggg==\n"
+       "LOGO;TYPE=home;ALTID=20;MEDIATYPE=image/png;PID=21;PREF=22;BEEP=BOOP:data:ima\n"
+       " ge/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAHklEQVQoz2NkYP\n"
+       " jPgAr+owkwMqIpYGIgHYzqGdx6AAKNAxMN5P6+AAAAAElFTkSuQmCC\n"
+       "LOGO;TYPE=work;ALTID=90;MEDIATYPE=image/png;PID=91;PREF=92;LOGO=YUP:data:imag\n"
+       " e/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAIElEQVQoz2MUm53\n"
+       " EgApepsxF4XfaoylgYiAdjOoZ3HoAeuQD2WdxRzcAAAAASUVORK5CYII=\n"
+       "END:VCARD";
+
+       ASSERT_EQ(CONTACTLOAD_OK, TestFile3.LoadFile("LoadCheck-Load4.vcf"));
+       ASSERT_EQ(CONTACTSAVE_OK, TestFile3.SaveString(&SaveData));
        
+       std::cout << SaveData << std::endl;
+       std::cout << SaveDataCompare << std::endl;
+       
+       ASSERT_EQ(SaveDataCompare, SaveData);
+
 }
\ No newline at end of file
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