Files
@ 90ef6e3128f2
Branch filter:
Location: libtransport.git/src/tests/util.cpp - annotation
90ef6e3128f2
2.7 KiB
text/x-c++hdr
Fix HAVE_SWIFTEN_3 definition to work also in gcc. Fix the tests to work with swiften3 and also with swiften2.
f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e 372ee69043f1 f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e c1e05d1d925c f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e 1fa8a9d97508 c1e05d1d925c f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e 372ee69043f1 372ee69043f1 f6b01c4f4d6e f6b01c4f4d6e 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 1fa8a9d97508 c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c c1e05d1d925c f6b01c4f4d6e f6b01c4f4d6e f6b01c4f4d6e | #include "transport/userregistry.h"
#include "transport/config.h"
#include "transport/storagebackend.h"
#include "transport/user.h"
#include "transport/transport.h"
#include "transport/storagebackend.h"
#include "transport/conversation.h"
#include "transport/usermanager.h"
#include "transport/localbuddy.h"
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <Swiften/Swiften.h>
#include <Swiften/EventLoop/DummyEventLoop.h>
#include <Swiften/Server/Server.h>
#include <Swiften/Network/DummyNetworkFactories.h>
#include <Swiften/Network/DummyConnectionServer.h>
#include "Swiften/Server/ServerStanzaChannel.h"
#include "Swiften/Server/ServerFromClientSession.h"
#include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h"
#include "basictest.h"
#include "transport/utf8.h"
#include "transport/util.h"
using namespace Transport;
class UtilTest : public CPPUNIT_NS :: TestFixture{
CPPUNIT_TEST_SUITE(UtilTest);
CPPUNIT_TEST(encryptDecryptPassword);
CPPUNIT_TEST(serializeGroups);
CPPUNIT_TEST(replaceInvalid);
CPPUNIT_TEST_SUITE_END();
public:
void setUp (void) {
}
void tearDown (void) {
}
void encryptDecryptPassword() {
std::string encrypted = StorageBackend::encryptPassword("password", "key");
CPPUNIT_ASSERT_EQUAL(std::string("password"), StorageBackend::decryptPassword(encrypted, "key"));
}
void serializeGroups() {
std::vector<std::string> groups;
std::string g = "";
CPPUNIT_ASSERT_EQUAL(g, StorageBackend::serializeGroups(groups));
CPPUNIT_ASSERT_EQUAL(0, (int) StorageBackend::deserializeGroups(g).size());
groups.push_back("Buddies");
g = "Buddies";
CPPUNIT_ASSERT_EQUAL(g, StorageBackend::serializeGroups(groups));
CPPUNIT_ASSERT_EQUAL(1, (int) StorageBackend::deserializeGroups(g).size());
CPPUNIT_ASSERT_EQUAL(g, StorageBackend::deserializeGroups(g)[0]);
groups.push_back("Buddies2");
g = "Buddies\nBuddies2";
CPPUNIT_ASSERT_EQUAL(g, StorageBackend::serializeGroups(groups));
CPPUNIT_ASSERT_EQUAL(2, (int) StorageBackend::deserializeGroups(g).size());
CPPUNIT_ASSERT_EQUAL(std::string("Buddies"), StorageBackend::deserializeGroups(g)[0]);
CPPUNIT_ASSERT_EQUAL(std::string("Buddies2"), StorageBackend::deserializeGroups(g)[1]);
}
void replaceInvalid() {
std::string x("test\x80\xe0\xa0\xc0\xaf\xed\xa0\x80test");
std::string a;
CPPUNIT_ASSERT(x.end() != utf8::find_invalid(x.begin(), x.end()));
utf8::replace_invalid(x.begin(), x.end(), std::back_inserter(a), '_');
CPPUNIT_ASSERT_EQUAL(std::string("test____test"), a);
a = "";
utf8::remove_invalid(x.begin(), x.end(), std::back_inserter(a));
CPPUNIT_ASSERT_EQUAL(std::string("testtest"), a);
}
};
CPPUNIT_TEST_SUITE_REGISTRATION (UtilTest);
|