From 644bcda4cb795944cc5d5df53b3c0392450239df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Mon, 27 Jul 2009 20:32:51 +0200 Subject: Improve LinkLocalServiceInfo unit test. diff --git a/Slimber/Server.cpp b/Slimber/Server.cpp index c3c3d22..39f4233 100644 --- a/Slimber/Server.cpp +++ b/Slimber/Server.cpp @@ -69,7 +69,7 @@ void Server::handleNewLinkLocalConnection(boost::shared_ptr connecti registerLinkLocalSession(session); } -void Server::handleServiceRegistered(const LinkLocalServiceID& service) { +void Server::handleServiceRegistered(const DNSSDServiceID& service) { std::cout << "Service registered " << service.getName() << " " << service.getType() << " " << service.getDomain() << std::endl; selfJID_ = JID(service.getName()); } diff --git a/Slimber/Server.h b/Slimber/Server.h index b40f576..9167106 100644 --- a/Slimber/Server.h +++ b/Slimber/Server.h @@ -33,7 +33,7 @@ namespace Swift { private: void handleNewClientConnection(boost::shared_ptr c); void handleNewLinkLocalConnection(boost::shared_ptr connection); - void handleServiceRegistered(const LinkLocalServiceID& service); + void handleServiceRegistered(const DNSSDServiceID& service); void handleSessionStarted(); void handleSessionFinished(boost::shared_ptr); void handleLinkLocalSessionFinished(boost::shared_ptr session); diff --git a/Swiften/LinkLocal/DNSSD/DNSSDServiceID.cpp b/Swiften/LinkLocal/DNSSD/DNSSDServiceID.cpp index 06a5b81..b360ee5 100644 --- a/Swiften/LinkLocal/DNSSD/DNSSDServiceID.cpp +++ b/Swiften/LinkLocal/DNSSD/DNSSDServiceID.cpp @@ -2,6 +2,6 @@ namespace Swift { -const String DNSSDServiceID::PresenceServiceType = String("_presence._tcp"); +const char* DNSSDServiceID::PresenceServiceType = "_presence._tcp"; } diff --git a/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h b/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h index 5243662..ba7828b 100644 --- a/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h +++ b/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h @@ -5,7 +5,7 @@ namespace Swift { class DNSSDServiceID { public: - static const String PresenceServiceType; + static const char* PresenceServiceType; DNSSDServiceID( const String& name, diff --git a/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp b/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp index 4b66398..e9501cb 100644 --- a/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp +++ b/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp @@ -49,6 +49,8 @@ class LinkLocalServiceBrowserTest : public CppUnit::TestFixture { removedServices.clear(); changedServices.clear(); + delete aliceServiceID; + delete aliceServiceInfo; delete testServiceInfo2; delete testServiceInfo; delete testServiceID; diff --git a/Swiften/LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp b/Swiften/LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp index b850f14..68f191a 100644 --- a/Swiften/LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp +++ b/Swiften/LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp @@ -10,6 +10,7 @@ class LinkLocalServiceInfoTest : public CppUnit::TestFixture { CPPUNIT_TEST(testGetTXTRecord); CPPUNIT_TEST(testCreateFromTXTRecord); CPPUNIT_TEST(testCreateFromTXTRecord_InvalidSize); + CPPUNIT_TEST(testGetTXTRecordCreateFromTXTRecord_RoundTrip); CPPUNIT_TEST_SUITE_END(); public: @@ -37,6 +38,28 @@ class LinkLocalServiceInfoTest : public CppUnit::TestFixture { CPPUNIT_ASSERT_EQUAL(String("a"), info.getLastName()); } + + void testGetTXTRecordCreateFromTXTRecord_RoundTrip() { + LinkLocalServiceInfo info; + info.setFirstName("Remko"); + info.setLastName("Tron\xc3\xe7on"); + info.setEMail("remko-email@swift.im"); + info.setJID(JID("remko-jid@swift.im")); + info.setMessage("I'm busy"); + info.setNick("el-tramo"); + info.setStatus(LinkLocalServiceInfo::DND); + info.setPort(1234); + + LinkLocalServiceInfo info2 = LinkLocalServiceInfo::createFromTXTRecord(info.toTXTRecord()); + CPPUNIT_ASSERT_EQUAL(info.getFirstName(), info2.getFirstName()); + CPPUNIT_ASSERT_EQUAL(info.getLastName(), info2.getLastName()); + CPPUNIT_ASSERT_EQUAL(info.getEMail(), info2.getEMail()); + CPPUNIT_ASSERT_EQUAL(info.getJID(), info2.getJID()); + CPPUNIT_ASSERT_EQUAL(info.getMessage(), info2.getMessage()); + CPPUNIT_ASSERT_EQUAL(info.getNick(), info2.getNick()); + CPPUNIT_ASSERT(info.getStatus() == info2.getStatus()); + CPPUNIT_ASSERT(info.getPort() == info2.getPort()); + } }; CPPUNIT_TEST_SUITE_REGISTRATION(LinkLocalServiceInfoTest); -- cgit v0.10.2-6-g49f6