--- a/phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp Fri Sep 17 08:29:19 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp Mon Oct 04 00:16:48 2010 +0300
@@ -16,11 +16,17 @@
*/
#include <QtTest/QtTest>
-
-//#include <hbglobal_p.h>
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include <mockservice.h>
#include "dtmfservice.h"
+#include "qtestmains60.h"
-class TestDTMFService : public QObject, public MPECallControlIF, public MPECallSettersIF
+typedef QSet<int> IntegerSet;
+
+class TestDTMFService : public QObject, public MPECallControlIF, public MPECallSettersIF, public MockService
{
Q_OBJECT
public:
@@ -46,6 +52,7 @@
private slots:
void testPlayDTMFTone ();
void testStopDTMFPlay ();
+ void testPlayDTMFTone_nocaps();
private:
DTMFService *m_dtmfService; // class under test
@@ -62,6 +69,7 @@
bool m_setKeyCodeCalled;
bool m_handlePlayDtmfLeave;
ushort keyValue;
+ XQRequestInfo m_XQRequestInfoMock;
};
TestDTMFService::TestDTMFService ()
@@ -82,6 +90,13 @@
void TestDTMFService::init ()
{
+ initialize();
+ IntegerSet caps;
+ caps.insert(ECapabilityNetworkServices);
+ caps.insert(ECapabilityNetworkControl);
+ SmcDefaultValue<IntegerSet>::SetL(caps);
+ SmcDefaultValue<XQRequestInfo>::SetL(m_XQRequestInfoMock);
+
m_setPhoneNumberCalled = false;
m_setCallTypeCommandCalled = false;
m_handleDialCallCalled = false;
@@ -98,6 +113,9 @@
void TestDTMFService::cleanup ()
{
+ SmcDefaultValue<IntegerSet>::Reset();
+ SmcDefaultValue<XQRequestInfo>::Reset();
+ reset();
delete m_dtmfService;
}
@@ -151,6 +169,8 @@
return KErrNone;
}
+// Test cases
+
void TestDTMFService::testPlayDTMFTone()
{
QChar six('6');
@@ -172,5 +192,22 @@
QVERIFY (m_handleEndDTMFCalled == true);
}
-QTEST_MAIN(TestDTMFService)
+void TestDTMFService::testPlayDTMFTone_nocaps()
+{
+ QSet<int> caps;
+ expect( "XQRequestInfo::clientCapabilities" ).
+ returns(caps).
+ times(2);
+ QChar six('6');
+ int ret = m_dtmfService->playDTMFTone(six);
+ QVERIFY (ret == KErrPermissionDenied);
+ ret = m_dtmfService->stopDTMFPlay();
+ QVERIFY (ret == KErrPermissionDenied);
+
+ QVERIFY( verify() );
+}
+
+
+QTEST_MAIN_S60(TestDTMFService)
#include "unit_tests.moc"
+