diff options
Diffstat (limited to 'Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp')
| -rw-r--r-- | Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp | 59 |
1 files changed, 56 insertions, 3 deletions
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp index 999eb34..dfcc0ec 100644 --- a/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp +++ b/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp | |||
| @@ -10,19 +10,72 @@ | |||
| 10 | #include "Swiften/Parser/PayloadParsers/VCardParser.h" | 10 | #include "Swiften/Parser/PayloadParsers/VCardParser.h" |
| 11 | #include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h" | 11 | #include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h" |
| 12 | 12 | ||
| 13 | using namespace Swift; | 13 | using namespace Swift; |
| 14 | 14 | ||
| 15 | class VCardParserTest : public CppUnit::TestFixture | 15 | class VCardParserTest : public CppUnit::TestFixture { |
| 16 | { | ||
| 17 | CPPUNIT_TEST_SUITE(VCardParserTest); | 16 | CPPUNIT_TEST_SUITE(VCardParserTest); |
| 17 | CPPUNIT_TEST(testParse); | ||
| 18 | CPPUNIT_TEST(testParse_Photo); | 18 | CPPUNIT_TEST(testParse_Photo); |
| 19 | CPPUNIT_TEST(testParse_Nickname); | 19 | CPPUNIT_TEST(testParse_Nickname); |
| 20 | CPPUNIT_TEST_SUITE_END(); | 20 | CPPUNIT_TEST_SUITE_END(); |
| 21 | 21 | ||
| 22 | public: | 22 | public: |
| 23 | VCardParserTest() {} | 23 | void testParse() { |
| 24 | PayloadsParserTester parser; | ||
| 25 | |||
| 26 | CPPUNIT_ASSERT(parser.parse( | ||
| 27 | "<vCard xmlns=\"vcard-temp\">" | ||
| 28 | "<VERSION>2.0</VERSION>" | ||
| 29 | "<FN>Alice In Wonderland</FN>" | ||
| 30 | "<N>" | ||
| 31 | "<FAMILY>Wonderland</FAMILY>" | ||
| 32 | "<GIVEN>Alice</GIVEN>" | ||
| 33 | "<MIDDLE>In</MIDDLE>" | ||
| 34 | "<PREFIX>Mrs</PREFIX>" | ||
| 35 | "<SUFFIX>PhD</SUFFIX>" | ||
| 36 | "</N>" | ||
| 37 | "<EMAIL>" | ||
| 38 | "<USERID>alice@wonderland.lit</USERID>" | ||
| 39 | "<HOME/>" | ||
| 40 | "<INTERNET/>" | ||
| 41 | "<PREF/>" | ||
| 42 | "</EMAIL>" | ||
| 43 | "<EMAIL>" | ||
| 44 | "<USERID>alice@teaparty.lit</USERID>" | ||
| 45 | "<WORK/>" | ||
| 46 | "<X400/>" | ||
| 47 | "</EMAIL>" | ||
| 48 | "<NICKNAME>DreamGirl</NICKNAME>" | ||
| 49 | "<BDAY>1234</BDAY>" | ||
| 50 | "<MAILER>mutt</MAILER>" | ||
| 51 | "</vCard>")); | ||
| 52 | |||
| 53 | boost::shared_ptr<VCard> payload = boost::dynamic_pointer_cast<VCard>(parser.getPayload()); | ||
| 54 | CPPUNIT_ASSERT_EQUAL(String("2.0"), payload->getVersion()); | ||
| 55 | CPPUNIT_ASSERT_EQUAL(String("Alice In Wonderland"), payload->getFullName()); | ||
| 56 | CPPUNIT_ASSERT_EQUAL(String("Alice"), payload->getGivenName()); | ||
| 57 | CPPUNIT_ASSERT_EQUAL(String("In"), payload->getMiddleName()); | ||
| 58 | CPPUNIT_ASSERT_EQUAL(String("Wonderland"), payload->getFamilyName()); | ||
| 59 | CPPUNIT_ASSERT_EQUAL(String("Mrs"), payload->getPrefix()); | ||
| 60 | CPPUNIT_ASSERT_EQUAL(String("PhD"), payload->getSuffix()); | ||
| 61 | CPPUNIT_ASSERT_EQUAL(String("DreamGirl"), payload->getNickname()); | ||
| 62 | CPPUNIT_ASSERT_EQUAL(String("<BDAY xmlns=\"vcard-temp\">1234</BDAY><MAILER xmlns=\"vcard-temp\">mutt</MAILER>"), payload->getUnknownContent()); | ||
| 63 | CPPUNIT_ASSERT_EQUAL(2, static_cast<int>(payload->getEMailAddresses().size())); | ||
| 64 | CPPUNIT_ASSERT_EQUAL(String("alice@wonderland.lit"), payload->getEMailAddresses()[0].address); | ||
| 65 | CPPUNIT_ASSERT(payload->getEMailAddresses()[0].isHome); | ||
| 66 | CPPUNIT_ASSERT(payload->getEMailAddresses()[0].isInternet); | ||
| 67 | CPPUNIT_ASSERT(payload->getEMailAddresses()[0].isPreferred); | ||
| 68 | CPPUNIT_ASSERT(!payload->getEMailAddresses()[0].isWork); | ||
| 69 | CPPUNIT_ASSERT(!payload->getEMailAddresses()[0].isX400); | ||
| 70 | CPPUNIT_ASSERT_EQUAL(String("alice@teaparty.lit"), payload->getEMailAddresses()[1].address); | ||
| 71 | CPPUNIT_ASSERT(!payload->getEMailAddresses()[1].isHome); | ||
| 72 | CPPUNIT_ASSERT(!payload->getEMailAddresses()[1].isInternet); | ||
| 73 | CPPUNIT_ASSERT(!payload->getEMailAddresses()[1].isPreferred); | ||
| 74 | CPPUNIT_ASSERT(payload->getEMailAddresses()[1].isWork); | ||
| 75 | CPPUNIT_ASSERT(payload->getEMailAddresses()[1].isX400); | ||
| 76 | } | ||
| 24 | 77 | ||
| 25 | void testParse_Photo() { | 78 | void testParse_Photo() { |
| 26 | PayloadsParserTester parser; | 79 | PayloadsParserTester parser; |
| 27 | 80 | ||
| 28 | CPPUNIT_ASSERT(parser.parse( | 81 | CPPUNIT_ASSERT(parser.parse( |
Swift