summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Parser/PayloadParsers/UnitTest')
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/Makefile.inc3
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp39
2 files changed, 41 insertions, 1 deletions
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/Makefile.inc b/Swiften/Parser/PayloadParsers/UnitTest/Makefile.inc
index 6d492c1..26f7b3c 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/Makefile.inc
+++ b/Swiften/Parser/PayloadParsers/UnitTest/Makefile.inc
@@ -10,4 +10,5 @@ UNITTEST_SOURCES += \
Swiften/Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp \
Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp \
Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp \
- Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp
+ Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp \
+ Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp
new file mode 100644
index 0000000..2d16636
--- /dev/null
+++ b/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp
@@ -0,0 +1,39 @@
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+
+#include "Swiften/Parser/PayloadParsers/VCardParser.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+
+using namespace Swift;
+
+class VCardParserTest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(VCardParserTest);
+ CPPUNIT_TEST(testParse_Photo);
+ CPPUNIT_TEST_SUITE_END();
+
+ public:
+ VCardParserTest() {}
+
+ void testParse_Photo() {
+ VCardParser testling;
+ PayloadParserTester parser(&testling);
+
+ CPPUNIT_ASSERT(parser.parse(
+ "<vCard xmlns='vcard-temp'>"
+ "<PHOTO>"
+ "<TYPE>image/jpeg</TYPE>"
+ "<BINVAL>"
+ "QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ej"
+ "EyMzQ1Njc4OTA="
+ "</BINVAL>"
+ "</PHOTO>"
+ "</vCard>"));
+
+ VCard* payload = dynamic_cast<VCard*>(testling.getPayload().get());
+ CPPUNIT_ASSERT_EQUAL(String("image/jpeg"), payload->getPhotoType());
+ CPPUNIT_ASSERT_EQUAL(ByteArray("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"), payload->getPhoto());
+ }
+};
+
+CPPUNIT_TEST_SUITE_REGISTRATION(VCardParserTest);