diff --git a/src/tests/basictest.cpp b/src/tests/basictest.cpp index 7a4568c98e2867bbdc41d06978414b038f11b2a1..ea14155fd3ab058d61f3dab69205063c29579af2 100644 --- a/src/tests/basictest.cpp +++ b/src/tests/basictest.cpp @@ -18,6 +18,24 @@ #include "Swiften/Server/ServerFromClientSession.h" #include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h" +#include "Swiften/Serializer/GenericPayloadSerializer.h" + +#include "../storageparser.h" +#include "Swiften/Parser/PayloadParsers/AttentionParser.h" +#include "Swiften/Serializer/PayloadSerializers/AttentionSerializer.h" +#include "Swiften/Parser/PayloadParsers/XHTMLIMParser.h" +#include "Swiften/Serializer/PayloadSerializers/XHTMLIMSerializer.h" +#include "Swiften/Parser/PayloadParsers/StatsParser.h" +#include "Swiften/Serializer/PayloadSerializers/StatsSerializer.h" +#include "Swiften/Parser/PayloadParsers/GatewayPayloadParser.h" +#include "Swiften/Serializer/PayloadSerializers/GatewayPayloadSerializer.h" +#include "Swiften/Serializer/PayloadSerializers/SpectrumErrorSerializer.h" +#include "Swiften/Parser/PayloadParsers/MUCPayloadParser.h" +#include "transport/BlockParser.h" +#include "transport/BlockSerializer.h" +#include "Swiften/Parser/PayloadParsers/InvisibleParser.h" +#include "Swiften/Serializer/PayloadSerializers/InvisibleSerializer.h" + using namespace Transport; void BasicTest::setMeUp (void) { @@ -40,6 +58,24 @@ void BasicTest::setMeUp (void) { payloadSerializers = new Swift::FullPayloadSerializerCollection(); payloadParserFactories = new Swift::FullPayloadParserFactoryCollection(); + + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("private", "jabber:iq:private")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("attention", "urn:xmpp:attention:0")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("html", "http://jabber.org/protocol/xhtml-im")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("block", "urn:xmpp:block:0")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("invisible", "urn:xmpp:invisible:0")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("query", "http://jabber.org/protocol/stats")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("query", "jabber:iq:gateway")); + payloadParserFactories->addFactory(new Swift::GenericPayloadParserFactory("x", "http://jabber.org/protocol/muc")); + + payloadSerializers->addSerializer(new Swift::AttentionSerializer()); + payloadSerializers->addSerializer(new Swift::XHTMLIMSerializer()); + payloadSerializers->addSerializer(new Transport::BlockSerializer()); + payloadSerializers->addSerializer(new Swift::InvisibleSerializer()); + payloadSerializers->addSerializer(new Swift::StatsSerializer()); + payloadSerializers->addSerializer(new Swift::SpectrumErrorSerializer()); + payloadSerializers->addSerializer(new Swift::GatewayPayloadSerializer()); + parser = new Swift::XMPPParser(this, payloadParserFactories, factories->getXMLParserFactory()); serverFromClientSession = boost::shared_ptr(new Swift::ServerFromClientSession("id", factories->getConnectionFactory()->createConnection(), @@ -51,6 +87,7 @@ void BasicTest::setMeUp (void) { dynamic_cast(component->getStanzaChannel())->addSession(serverFromClientSession); parser->parse(""); received.clear(); + receivedData.clear(); loop->processEvents(); } @@ -64,10 +101,12 @@ void BasicTest::tearMeDown (void) { delete cfg; delete parser; received.clear(); + receivedData.clear(); } void BasicTest::handleDataReceived(const Swift::SafeByteArray &data) { // std::cout << safeByteArrayToString(data) << "\n"; + receivedData += safeByteArrayToString(data) + "\n"; parser->parse(safeByteArrayToString(data)); } @@ -75,8 +114,12 @@ void BasicTest::handleStreamStart(const Swift::ProtocolHeader&) { } +void BasicTest::dumpReceived() { + std::cout << receivedData << "\n"; +} + void BasicTest::handleElement(boost::shared_ptr element) { -received.push_back(element); + received.push_back(element); } void BasicTest::handleStreamEnd() {