summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-09-12 06:38:23 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-09-14 10:42:18 (GMT)
commitba4292f83f92037fdd12b0f7413f628a4b2c7a22 (patch)
tree31c4f566b5a47e99789ed94702d87e39c53c71f5 /Swiften/Parser/PayloadParsers/UnitTest
parent234b140b5675c737859ed2457dcb07ad75a900ab (diff)
downloadswift-contrib-ba4292f83f92037fdd12b0f7413f628a4b2c7a22.zip
swift-contrib-ba4292f83f92037fdd12b0f7413f628a4b2c7a22.tar.bz2
Added more general PayloadsParserTester.
This tester also tests whether the PayloadParserFactory works properly.
Diffstat (limited to 'Swiften/Parser/PayloadParsers/UnitTest')
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/BodyParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h55
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp12
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/StatusParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp27
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/StorageParserTest.cpp12
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp12
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp7
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/XMLPayloadParser.h42
16 files changed, 111 insertions, 119 deletions
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/BodyParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/BodyParserTest.cpp
index c747452..2fc6180 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/BodyParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/BodyParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/BodyParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,12 +16,11 @@ class BodyParserTest : public CppUnit::TestFixture
BodyParserTest() {}
void testParse() {
- BodyParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<body>foo<baz>bar</baz>fum</body>"));
- Body* payload = dynamic_cast<Body*>(testling.getPayload().get());
+ Body* payload = dynamic_cast<Body*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("foobarfum"), payload->getText());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp
index 5aed12f..49b706e 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/DiscoInfoParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,8 +16,7 @@ class DiscoInfoParserTest : public CppUnit::TestFixture
DiscoInfoParserTest() {}
void testParse() {
- DiscoInfoParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<query xmlns=\"http://jabber.org/protocol/disco#info\">"
@@ -28,7 +27,7 @@ class DiscoInfoParserTest : public CppUnit::TestFixture
"<feature var=\"baz-feature\"/>"
"</query>"));
- DiscoInfo* payload = dynamic_cast<DiscoInfo*>(testling.getPayload().get());
+ DiscoInfo* payload = dynamic_cast<DiscoInfo*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(2, static_cast<int>(payload->getIdentities().size()));
CPPUNIT_ASSERT_EQUAL(String("Swift"), payload->getIdentities()[0].getName());
CPPUNIT_ASSERT_EQUAL(String("pc"), payload->getIdentities()[0].getType());
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp
index 719702d..338fb3f 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/ErrorParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,8 +16,7 @@ class ErrorParserTest : public CppUnit::TestFixture
ErrorParserTest() {}
void testParse() {
- ErrorParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<error type=\"modify\">"
@@ -25,7 +24,7 @@ class ErrorParserTest : public CppUnit::TestFixture
"<text xmlns=\"urn:ietf:params:xml:ns:xmpp-stanzas\">boo</text>"
"</error>"));
- Error* payload = dynamic_cast<Error*>(testling.getPayload().get());
+ Error* payload = dynamic_cast<Error*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(Error::BadRequest, payload->getCondition());
CPPUNIT_ASSERT_EQUAL(Error::Modify, payload->getType());
CPPUNIT_ASSERT_EQUAL(String("boo"), payload->getText());
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h b/Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h
new file mode 100644
index 0000000..ac167cf
--- /dev/null
+++ b/Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h
@@ -0,0 +1,55 @@
+#pragma once
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h"
+#include "Swiften/Parser/XMLParser.h"
+#include "Swiften/Parser/XMLParserClient.h"
+#include "Swiften/Parser/PlatformXMLParserFactory.h"
+
+namespace Swift {
+ class PayloadsParserTester : public XMLParserClient {
+ public:
+ PayloadsParserTester() : level(0) {
+ xmlParser = PlatformXMLParserFactory().createXMLParser(this);
+ }
+
+ ~PayloadsParserTester() {
+ delete xmlParser;
+ }
+
+ bool parse(const String& data) {
+ return xmlParser->parse(data);
+ }
+
+ virtual void handleStartElement(const String& element, const String& ns, const AttributeMap& attributes) {
+ if (level == 0) {
+ CPPUNIT_ASSERT(!payloadParser.get());
+ PayloadParserFactory* payloadParserFactory = factories.getPayloadParserFactory(element, ns, attributes);
+ CPPUNIT_ASSERT(payloadParserFactory);
+ payloadParser.reset(payloadParserFactory->createPayloadParser());
+ }
+ payloadParser->handleStartElement(element, ns, attributes);
+ level++;
+ }
+
+ virtual void handleEndElement(const String& element, const String& ns) {
+ level--;
+ payloadParser->handleEndElement(element, ns);
+ }
+
+ virtual void handleCharacterData(const String& data) {
+ payloadParser->handleCharacterData(data);
+ }
+
+ boost::shared_ptr<Payload> getPayload() const {
+ return payloadParser->getPayload();
+ }
+
+ private:
+ XMLParser* xmlParser;
+ FullPayloadParserFactoryCollection factories;
+ std::auto_ptr<PayloadParser> payloadParser;
+ int level;
+ };
+}
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp
index a186ebd..acea437 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/PriorityParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,12 +16,11 @@ class PriorityParserTest : public CppUnit::TestFixture
PriorityParserTest() {}
void testParse() {
- PriorityParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<priority>-120</priority>"));
- Priority* payload = dynamic_cast<Priority*>(testling.getPayload().get());
+ Priority* payload = dynamic_cast<Priority*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(-120, payload->getPriority());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp
index 67cb9cc..b1b61ef 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/ResourceBindParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -17,22 +17,20 @@ class ResourceBindParserTest : public CppUnit::TestFixture
ResourceBindParserTest() {}
void testParse_JID() {
- ResourceBindParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>somenode@example.com/someresource</jid></bind>"));
- ResourceBind* payload = dynamic_cast<ResourceBind*>(testling.getPayload().get());
+ ResourceBind* payload = dynamic_cast<ResourceBind*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(JID("somenode@example.com/someresource"), payload->getJID());
}
void testParse_Resource() {
- ResourceBindParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>someresource</resource></bind>"));
- ResourceBind* payload = dynamic_cast<ResourceBind*>(testling.getPayload().get());
+ ResourceBind* payload = dynamic_cast<ResourceBind*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("someresource"), payload->getResource());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp
index 7f0fc64..4c8db07 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/RosterParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/XMLPayloadParser.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,8 +16,7 @@ class RosterParserTest : public CppUnit::TestFixture
RosterParserTest() {}
void testParse() {
- RosterParser testling;
- XMLPayloadParser parser(&testling);
+ PayloadsParserTester parser;
parser.parse(
"<query xmlns='jabber:iq:roster'>"
" <item jid='foo@bar.com' name='Foo @ Bar' subscription='from' ask='subscribe'>"
@@ -27,7 +26,7 @@ class RosterParserTest : public CppUnit::TestFixture
" <item jid='baz@blo.com' name='Baz'/>"
"</query>");
- RosterPayload* payload = dynamic_cast<RosterPayload*>(testling.getPayload().get());
+ RosterPayload* payload = dynamic_cast<RosterPayload*>(parser.getPayload().get());
const RosterPayload::RosterItemPayloads& items = payload->getItems();
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), items.size());
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp
index 325309f..8272bee 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/SecurityLabelParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,8 +16,7 @@ class SecurityLabelParserTest : public CppUnit::TestFixture
SecurityLabelParserTest() {}
void testParse() {
- SecurityLabelParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<securitylabel xmlns=\"urn:xmpp:sec-label:0\">"
@@ -33,7 +32,7 @@ class SecurityLabelParserTest : public CppUnit::TestFixture
"</equivalentlabel>"
"</securitylabel>"));
- SecurityLabel* payload = dynamic_cast<SecurityLabel*>(testling.getPayload().get());
+ SecurityLabel* payload = dynamic_cast<SecurityLabel*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("SECRET"), payload->getDisplayMarking());
CPPUNIT_ASSERT_EQUAL(String("black"), payload->getForegroundColor());
CPPUNIT_ASSERT_EQUAL(String("red"), payload->getBackgroundColor());
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp
index 2f3f47a..b2378b6 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/SecurityLabelsCatalogParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,8 +16,7 @@ class SecurityLabelsCatalogParserTest : public CppUnit::TestFixture
SecurityLabelsCatalogParserTest() {}
void testParse() {
- SecurityLabelsCatalogParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<catalog desc=\"an example set of labels\" name=\"Default\" to=\"example.com\" xmlns=\"urn:xmpp:sec-label:catalog:0\">"
@@ -31,7 +30,7 @@ class SecurityLabelsCatalogParserTest : public CppUnit::TestFixture
"</securitylabel>"
"</catalog>"));
- SecurityLabelsCatalog* payload = dynamic_cast<SecurityLabelsCatalog*>(testling.getPayload().get());
+ SecurityLabelsCatalog* payload = dynamic_cast<SecurityLabelsCatalog*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("Default"), payload->getName());
CPPUNIT_ASSERT_EQUAL(String("an example set of labels"), payload->getDescription());
CPPUNIT_ASSERT_EQUAL(JID("example.com"), payload->getTo());
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp
index 0ff1d00..eeaa8d9 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/SoftwareVersionParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,8 +16,7 @@ class SoftwareVersionParserTest : public CppUnit::TestFixture
SoftwareVersionParserTest() {}
void testParse() {
- SoftwareVersionParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<query xmlns=\"jabber:iq:version\">"
@@ -26,7 +25,7 @@ class SoftwareVersionParserTest : public CppUnit::TestFixture
"<os>Mac OS X</os>"
"</query>"));
- SoftwareVersion* payload = dynamic_cast<SoftwareVersion*>(testling.getPayload().get());
+ SoftwareVersion* payload = dynamic_cast<SoftwareVersion*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("myclient"), payload->getName());
CPPUNIT_ASSERT_EQUAL(String("1.0"), payload->getVersion());
CPPUNIT_ASSERT_EQUAL(String("Mac OS X"), payload->getOS());
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/StatusParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/StatusParserTest.cpp
index f1fa7b1..71d5b0b 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/StatusParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/StatusParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/StatusParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,12 +16,11 @@ class StatusParserTest : public CppUnit::TestFixture
StatusParserTest() {}
void testParse() {
- StatusParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<status>foo<baz>bar</baz>fum</status>"));
- Status* payload = dynamic_cast<Status*>(testling.getPayload().get());
+ Status* payload = dynamic_cast<Status*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("foobarfum"), payload->getText());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp
index d89fdc5..d45e98b 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/StatusShowParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -20,52 +20,47 @@ class StatusShowParserTest : public CppUnit::TestFixture
StatusShowParserTest() {}
void testParse_Invalid() {
- StatusShowParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<show>invalid</show>"));
- StatusShow* payload = dynamic_cast<StatusShow*>(testling.getPayload().get());
+ StatusShow* payload = dynamic_cast<StatusShow*>(parser.getPayload().get());
CPPUNIT_ASSERT(StatusShow::Online == payload->getType());
}
void testParse_Away() {
- StatusShowParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<show>away</show>"));
- StatusShow* payload = dynamic_cast<StatusShow*>(testling.getPayload().get());
+ StatusShow* payload = dynamic_cast<StatusShow*>(parser.getPayload().get());
CPPUNIT_ASSERT(StatusShow::Away == payload->getType());
}
void testParse_FFC() {
- StatusShowParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<show>chat</show>"));
- StatusShow* payload = dynamic_cast<StatusShow*>(testling.getPayload().get());
+ StatusShow* payload = dynamic_cast<StatusShow*>(parser.getPayload().get());
CPPUNIT_ASSERT(StatusShow::FFC == payload->getType());
}
void testParse_XA() {
- StatusShowParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<show>xa</show>"));
- StatusShow* payload = dynamic_cast<StatusShow*>(testling.getPayload().get());
+ StatusShow* payload = dynamic_cast<StatusShow*>(parser.getPayload().get());
CPPUNIT_ASSERT(StatusShow::XA == payload->getType());
}
void testParse_DND() {
- StatusShowParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse("<show>dnd</show>"));
- StatusShow* payload = dynamic_cast<StatusShow*>(testling.getPayload().get());
+ StatusShow* payload = dynamic_cast<StatusShow*>(parser.getPayload().get());
CPPUNIT_ASSERT(StatusShow::DND == payload->getType());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/StorageParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/StorageParserTest.cpp
index fa188b7..384a0e9 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/StorageParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/StorageParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/StorageParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -17,8 +17,7 @@ class StorageParserTest : public CppUnit::TestFixture
StorageParserTest() {}
void testParse_Conference() {
- StorageParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<storage xmlns='storage:bookmarks'>"
@@ -30,7 +29,7 @@ class StorageParserTest : public CppUnit::TestFixture
"</conference>"
"</storage>"));
- Storage* payload = dynamic_cast<Storage*>(testling.getPayload().get());
+ Storage* payload = dynamic_cast<Storage*>(parser.getPayload().get());
std::vector<Storage::Conference> conferences = payload->getConferences();
CPPUNIT_ASSERT_EQUAL(1U, conferences.size());
CPPUNIT_ASSERT_EQUAL(String("Council of Oberon"), conferences[0].name);
@@ -41,8 +40,7 @@ class StorageParserTest : public CppUnit::TestFixture
}
void testParse_MultipleConferences() {
- StorageParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<storage xmlns='storage:bookmarks'>"
@@ -54,7 +52,7 @@ class StorageParserTest : public CppUnit::TestFixture
"jid='teaparty@wonderland.lit' />"
"</storage>"));
- Storage* payload = dynamic_cast<Storage*>(testling.getPayload().get());
+ Storage* payload = dynamic_cast<Storage*>(parser.getPayload().get());
std::vector<Storage::Conference> conferences = payload->getConferences();
CPPUNIT_ASSERT_EQUAL(2U, conferences.size());
CPPUNIT_ASSERT_EQUAL(String("Council of Oberon"), conferences[0].name);
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp
index bfae4f0..d1ddba3 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/VCardParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/VCardParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -17,8 +17,7 @@ class VCardParserTest : public CppUnit::TestFixture
VCardParserTest() {}
void testParse_Photo() {
- VCardParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<vCard xmlns='vcard-temp'>"
@@ -31,21 +30,20 @@ class VCardParserTest : public CppUnit::TestFixture
"</PHOTO>"
"</vCard>"));
- VCard* payload = dynamic_cast<VCard*>(testling.getPayload().get());
+ VCard* payload = dynamic_cast<VCard*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("image/jpeg"), payload->getPhotoType());
CPPUNIT_ASSERT_EQUAL(ByteArray("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"), payload->getPhoto());
}
void testParse_Nickname() {
- VCardParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<vCard xmlns='vcard-temp'>"
"<NICKNAME>mynick</NICKNAME>"
"</vCard>"));
- VCard* payload = dynamic_cast<VCard*>(testling.getPayload().get());
+ VCard* payload = dynamic_cast<VCard*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("mynick"), payload->getNickname());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp
index 0d9ae64..ef6c78e 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp
@@ -2,7 +2,7 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include "Swiften/Parser/PayloadParsers/VCardUpdateParser.h"
-#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h"
+#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h"
using namespace Swift;
@@ -16,15 +16,14 @@ class VCardUpdateParserTest : public CppUnit::TestFixture
VCardUpdateParserTest() {}
void testParse() {
- VCardUpdateParser testling;
- PayloadParserTester parser(&testling);
+ PayloadsParserTester parser;
CPPUNIT_ASSERT(parser.parse(
"<x xmlns='vcard-temp:x:update'>"
"<photo>sha1-hash-of-image</photo>"
"</x>"));
- VCardUpdate* payload = dynamic_cast<VCardUpdate*>(testling.getPayload().get());
+ VCardUpdate* payload = dynamic_cast<VCardUpdate*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(String("sha1-hash-of-image"), payload->getPhotoHash());
}
};
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/XMLPayloadParser.h b/Swiften/Parser/PayloadParsers/UnitTest/XMLPayloadParser.h
deleted file mode 100644
index 2b893c4..0000000
--- a/Swiften/Parser/PayloadParsers/UnitTest/XMLPayloadParser.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef SWIFTEN_XMLPayloadParser_H
-#define SWIFTEN_XMLPayloadParser_H
-
-#include "Swiften/Parser/PayloadParser.h"
-#include "Swiften/Parser/XMLParserClient.h"
-#include "Swiften/Parser/XMLParser.h"
-#include "Swiften/Parser/PlatformXMLParserFactory.h"
-
-namespace Swift {
- class XMLPayloadParser : public XMLParserClient {
- public:
- XMLPayloadParser(PayloadParser* payloadParser) :
- payloadParser_(payloadParser) {
- xmlParser_ = PlatformXMLParserFactory().createXMLParser(this);
- }
-
- ~XMLPayloadParser() {
- delete xmlParser_;
- }
-
- bool parse(const String& data) {
- return xmlParser_->parse(data);
- }
-
- virtual void handleStartElement(const String& element, const String& ns, const AttributeMap& attributes) {
- payloadParser_->handleStartElement(element, ns, attributes);
- }
-
- virtual void handleEndElement(const String& element, const String& ns) {
- payloadParser_->handleEndElement(element, ns);
- }
-
- virtual void handleCharacterData(const String& data) {
- payloadParser_->handleCharacterData(data);
- }
-
- private:
- XMLParser* xmlParser_;
- PayloadParser* payloadParser_;
- };
-}
-#endif