Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added XML to the SaveString function of ContactDataObject
[xestiaab/.git] / source / tests / xestiaab_contactsave.h
1 // xestiaab_contactsave.h - Xestia Address Book Contact Save Unit Tests.
2 //
3 // (c) 2012-2015 Xestia Software Development.
4 //
5 // This file is part of Xestia Address Book.
6 //
7 // Xestia Address Book 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 Address Book 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 Address Book. If not, see <http://www.gnu.org/licenses/>
19 #include <gtest/gtest.h>
21 #include "../contacteditor/cdo/ContactDataObject.h"
23 TEST(ContactSave, ContactSaveTests){
24         
25         ContactDataObject TestFile1;
26         ContactDataObject TestFile2;
27         ContactDataObject TestFile3;
28         
29         wxString SaveData;
30         wxString SaveDataCompare = "BEGIN:VCARD\n"
31         "VERSION:4.0\n"
32         "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
33         "FN:Test vCard\n"
34         "TITLE:Knight of the Tests\n"
35         "TITLE:The Tester of Cornwall\n"
36         "END:VCARD";
37         
38         ASSERT_EQ(CONTACTLOAD_OK, TestFile1.LoadFile("LoadCheck-Load1.vcf"));
39         
40         ASSERT_EQ(CONTACTSAVE_OK, TestFile1.SaveString(&SaveData));
41         
42         ASSERT_EQ(SaveDataCompare, SaveData);
43         
44         ASSERT_EQ(CONTACTLOAD_OK, TestFile2.LoadFile("LoadCheck-Load2.vcf"));
45         
46         SaveData.clear();
47         SaveDataCompare = "BEGIN:VCARD\n"
48         "VERSION:4.0\n"
49         "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
50         "FN:Test vCard\n"
51         "TITLE:The Third Title\n"
52         "TITLE:Knight of the Tests\n"
53         "TITLE:The Tester of Cornwall\n"
54         "END:VCARD";
55         
56         ASSERT_EQ(CONTACTSAVE_OK, TestFile2.SaveString(&SaveData));
57         ASSERT_EQ(SaveDataCompare, SaveData);
59         SaveData.clear();
60         SaveDataCompare = "BEGIN:VCARD\n"
61         "VERSION:4.0\n"
62         "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
63         "UID:903588-9082374-989120310-AAFECDBCDF\n"
64         "KIND:individual\n"
65         "XML:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.com/\">Ex\n"
66         " ample Page 1</a>\n"
67         "XML;ALTID=3:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.\n"
68         " com/page2.html\">Example Page 2</a>\n"
69         "XML;ALTID=5:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.\n"
70         " com/page3.html\">Example Page 3</a>\n"
71         "SOURCE;ALTID=74;MEDIATYPE=text/plain;PID=71;PREF=72;STATUS=FEED:http://exampl\n"
72         " e.com/source/sourcea.vcf\n"
73         "SOURCE;TYPE=home;ALTID=84;MEDIATYPE=text/plainpaper;PID=81;PREF=82;STATUS=ONL\n"
74         " INE:http://example.com/source/sourceb.vcf\n"
75         "SOURCE;TYPE=work;ALTID=94;MEDIATYPE=text/sandpaper;PID=91;PREF=92;STATUS=OFFL\n"
76         " INE:http://example.com/source/sourcec.vcf\n"
77         "CLIENTPIDMAP:1;urn;uuid:aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\n"
78         "CLIENTPIDMAP:2;urn;uuid:ccccccccc-cccc-cccc-cccc-cccccccccccc\n"
79         "CLIENTPIDMAP;MEEP=MOO;WOOP=WOO:3;urn;uuid:bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb\n"
80         " bb\n"
81         "FN;TYPE=work;LANGUAGE=kw;ALTID=500;PID=40;PREF=45;EXAMPLE=Baaa:Test Contact\n"
82         "TITLE;ALTID=20;LANGUAGE=text/plain;PID=21;PREF=22;EEP=LIGHT:Lord of Light\n"
83         "TITLE;TYPE=home;ALTID=30;LANGUAGE=grass/dry;PID=31;PREF=32;EEP=DARK:Lord of D\n"
84         " arkness\n"
85         "TITLE;TYPE=work;ALTID=40;LANGUAGE=moths/eew;PID=41;PREF=42;EEP=BOTH:Master of\n"
86         "  the Light & Darkness\n"
87         "END:VCARD";
89         ASSERT_EQ(CONTACTLOAD_OK, TestFile3.LoadFile("LoadCheck-Load4.vcf"));
90         ASSERT_EQ(CONTACTSAVE_OK, TestFile3.SaveString(&SaveData));
91         
92         std::cout << SaveData << std::endl;
93         std::cout << SaveDataCompare << std::endl;
94         
95         ASSERT_EQ(SaveDataCompare, SaveData);
97 }
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