diff options
author | Vitaly Takmazov <vitalyster@gmail.com> | 2022-02-06 04:33:05 +0300 |
---|---|---|
committer | Vitaly Takmazov <vitalyster@gmail.com> | 2022-02-06 04:33:05 +0300 |
commit | 8a1b3a70ef05b2d2191a9fecc8007bfeba3f0f60 (patch) | |
tree | d61c311ad0f5357ee21303d9dc9edd1bf600b3da | |
parent | 44a322044c9a6ec3beb350b63253c3f2b81049ea (diff) |
Fix tests
-rw-r--r-- | libtransport/NetworkPluginServer.cpp | 17 | ||||
-rw-r--r-- | tests/libtransport/networkpluginserver.cpp | 2 |
2 files changed, 12 insertions, 7 deletions
diff --git a/libtransport/NetworkPluginServer.cpp b/libtransport/NetworkPluginServer.cpp index 86794db1..59be6df2 100644 --- a/libtransport/NetworkPluginServer.cpp +++ b/libtransport/NetworkPluginServer.cpp @@ -47,6 +47,7 @@ #include "Swiften/Elements/InvisiblePayload.h" #include "Swiften/Elements/SpectrumErrorPayload.h" #include "Swiften/Elements/RawXMLPayload.h" +#include <Swiften/Serializer/XML/XMLElement.h> #include "boost/date_time/posix_time/posix_time.hpp" #include <boost/regex.hpp> @@ -1732,12 +1733,16 @@ enum OobMode { }; void NetworkPluginServer::addOobPayload(Swift::Message::ref message, const std::string &url, const std::string &description) { - //Add OOB tag - std::shared_ptr<Swift::RawXMLPayload> - oob_payload(new Swift::RawXMLPayload( - "<x xmlns='jabber:x:oob'><url>" + url + "</url>" + "<desc>" + description + "</desc>" + "</x>")); - // todo: add the payload itself as a caption - message->addPayload(oob_payload); + const std::string OOB_NAMESPACE = "jabber:x:oob"; + std::shared_ptr<Swift::XMLElement> oobElement = std::make_shared<Swift::XMLElement>("x", OOB_NAMESPACE); + std::shared_ptr<Swift::XMLElement> urlNode = std::make_shared<Swift::XMLElement>("url", "", url); + oobElement->addNode(urlNode); + if (!description.empty()) { + std::shared_ptr<Swift::XMLElement> descNode = std::make_shared<Swift::XMLElement>("desc"); + oobElement->addNode(descNode); + } + std::shared_ptr<Swift::RawXMLPayload> oobPayload = std::make_shared<Swift::RawXMLPayload>(oobElement->serialize()); + message->addPayload(oobPayload); } std::vector<std::shared_ptr<Swift::Message> > diff --git a/tests/libtransport/networkpluginserver.cpp b/tests/libtransport/networkpluginserver.cpp index 3e280272..a78aa463 100644 --- a/tests/libtransport/networkpluginserver.cpp +++ b/tests/libtransport/networkpluginserver.cpp @@ -41,7 +41,7 @@ class Clock { static const std::string OOB_TEST_BODY = "Test message http://example.org/example1.png more text https://example.org/example2.png final text"; static const std::string OOB_TEST_XHTML = "Test message <img src='http://example.org/example1.png' /> more text <img src=\"https://example.org/example2.png\"> final text"; -static const std::string OOB_XML_START = "<x xmlns='jabber:x:oob'><url>"; +static const std::string OOB_XML_START = "<x xmlns=\"jabber:x:oob\"><url>"; static const std::string OOB_XML_END = "</url></x>"; class NetworkPluginServerTest : public CPPUNIT_NS :: TestFixture, public BasicTest { |