diff options
| author | Remko Tronçon <git@el-tramo.be> | 2011-02-05 15:56:47 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2011-02-05 15:56:47 (GMT) | 
| commit | 374ebf0f8c32c4fd8758af4b8381ac5cff0d151c (patch) | |
| tree | c89be053096b0025f3839d97b5ae08b102335054 /Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp | |
| parent | d18f20669671991825230fe956acd472cca999fc (diff) | |
| download | swift-374ebf0f8c32c4fd8758af4b8381ac5cff0d151c.zip swift-374ebf0f8c32c4fd8758af4b8381ac5cff0d151c.tar.bz2  | |
Don't crash when receiving null roster payload.
Diffstat (limited to 'Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp')
| -rw-r--r-- | Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp | 16 | 
1 files changed, 13 insertions, 3 deletions
diff --git a/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp b/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp index debbd50..22a55d4 100644 --- a/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp +++ b/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp @@ -6,12 +6,13 @@  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> +#include <boost/smart_ptr/make_shared.hpp>  #include "Swiften/Roster/XMPPRosterController.h"  #include "Swiften/Elements/Payload.h"  #include "Swiften/Elements/RosterItemPayload.h"  #include "Swiften/Elements/RosterPayload.h" -#include "Swiften/Queries/DummyIQChannel.h" +#include "Swiften/Client/DummyStanzaChannel.h"  #include "Swiften/Queries/IQRouter.h"  #include "Swiften/Roster/XMPPRosterImpl.h" @@ -19,6 +20,7 @@ using namespace Swift;  class XMPPRosterControllerTest : public CppUnit::TestFixture {  		CPPUNIT_TEST_SUITE(XMPPRosterControllerTest); +		CPPUNIT_TEST(testGet_EmptyResponse);  		CPPUNIT_TEST(testAdd);  		CPPUNIT_TEST(testModify);  		CPPUNIT_TEST(testRemove); @@ -26,7 +28,7 @@ class XMPPRosterControllerTest : public CppUnit::TestFixture {  	public:  		void setUp() { -			channel_ = new DummyIQChannel(); +			channel_ = new DummyStanzaChannel();  			router_ = new IQRouter(channel_);  			xmppRoster_ = new XMPPRosterImpl();  		} @@ -37,6 +39,14 @@ class XMPPRosterControllerTest : public CppUnit::TestFixture {  			delete channel_;  		} +		void testGet_EmptyResponse() { +			XMPPRosterController controller(router_, xmppRoster_); + +			controller.requestRoster(); + +			channel_->onIQReceived(IQ::createResult(JID("baz@fum.com/dum"), channel_->sentStanzas[0]->getID(), boost::shared_ptr<RosterPayload>())); +		} +  		void testAdd() {  			XMPPRosterController controller(router_, xmppRoster_); @@ -74,7 +84,7 @@ class XMPPRosterControllerTest : public CppUnit::TestFixture {  		}  	private: -		DummyIQChannel* channel_; +		DummyStanzaChannel* channel_;  		IQRouter* router_;  		XMPPRosterImpl* xmppRoster_;  };  | 
 Swift