phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp
changeset 56 5bcb308bd24d
parent 37 ba76fc04e6c2
child 74 d1c62c765e48
--- a/phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp	Tue Jul 06 14:15:47 2010 +0300
+++ b/phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp	Wed Aug 18 09:48:26 2010 +0300
@@ -18,8 +18,20 @@
 #include <QtTest/QtTest>
 
 //#include <hbglobal_p.h>
+#include <featmgr.h>
+#include <settingsinternalcrkeys.h>
+#include <xqsettingsmanager.h>
 #include "dialservice.h"
 
+bool m_featureManagerReturnValue;
+int m_featureManagerRequestedFeatureSupport;
+
+TBool FeatureManager::FeatureSupported(TInt aFeature)
+{
+    m_featureManagerRequestedFeatureSupport = aFeature;
+    return m_featureManagerReturnValue;
+}
+
 class TestDialService : public QObject, public MPECallControlIF, public MPECallSettersIF
 {
     Q_OBJECT
@@ -47,6 +59,7 @@
     void testDial ();
     void testDial2 ();
     void testDial3();
+    void testDialWithJapanPrefixOn();
     void testDialVideo ();
     void testDialVideo2 ();
     void testDialVoip();
@@ -102,6 +115,8 @@
     m_handleEndDTMFCalled = false;
     m_handlePlayDTMFLCalled = false;
     m_setKeyCodeCalled = false;
+    m_featureManagerReturnValue = false;
+    m_featureManagerRequestedFeatureSupport = -1;
     keyValue = -1;
     m_DialService = new DialService (*this, *this, this);
 }
@@ -193,6 +208,24 @@
     QCOMPARE(_number, QString("+3580501234567"));
 }
 
+void TestDialService::testDialWithJapanPrefixOn()
+{
+    XQSettingsKey dialPrefixMode(XQSettingsKey::TargetCentralRepository, KCRUidTelephonySettings.iUid, KSettingsDialPrefixChangeMode);
+    XQSettingsKey dialPrefixString(XQSettingsKey::TargetCentralRepository, KCRUidTelephonySettings.iUid, KSettingsDialPrefixText);
+    XQSettingsManager setManager;
+    int err = setManager.writeItemValue(dialPrefixString, QString("00"));
+    qDebug() << err;
+    qDebug() << setManager.error();
+    setManager.writeItemValue(dialPrefixMode, 1);
+    m_featureManagerReturnValue = true;
+
+    m_DialService->dial(QString("+358501234567"));    
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QCOMPARE(m_featureManagerRequestedFeatureSupport, KFeatureIdJapanPrefixChange);
+    QVERIFY(m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("00358501234567"));
+}
+
 void TestDialService::testDialVideo()
 {
     m_DialService->dialVideo(QString("0501234567"));