diff -r 594d59766373 -r 7d48bed6ce0c phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp Tue Aug 31 15:45:17 2010 +0300 @@ -0,0 +1,336 @@ +/* +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of the Mt_vmbxEngine class +* +*/ + +//qt +#include +//hb +#include +#include +#include +//symbian +#include + +#include +#include +#include +#include + +#include "mt_vmbxengine.h" + + +/*------------------------------------------------------------------------------ +This module testing project links to vmbxengine.dll. +------------------------------------------------------------------------------*/ + +// ----------------------------------------------------------------------------- +// Constants for verifying test case results +// ----------------------------------------------------------------------------- +// +_LIT(KVmbxNumber,"123456789"); + + // ----------------------------------------------------------------------------- +// Mt_SatAppEngine::Mt_vmbxEngine +// Default constructor, remember to null new members here. +// ----------------------------------------------------------------------------- +// +Mt_vmbxEngine::Mt_vmbxEngine() +{ + qDebug("Mt_vmbxEngine::Mt_vmbxEngine >"); + qDebug("Mt_vmbxEngine::Mt_vmbxEngine <"); +} + +// ----------------------------------------------------------------------------- +// Mt_SatAppEngine::~Mt_SatAppEngine +// ----------------------------------------------------------------------------- +Mt_vmbxEngine::~Mt_vmbxEngine() +{ + qDebug("Mt_vmbxEngine::~Mt_vmbxEngine >"); + qDebug("Mt_vmbxEngine::~Mt_vmbxEngine <"); +} + + +// ----------------------------------------------------------------------------- +// Mt_SatAppEngine::initTestCase +// QTestLib initialization method, called for each test case. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::initTestCase() +{ + qDebug("Mt_vmbxEngine::initTestCase >"); + qDebug("Mt_vmbxEngine::initTestCase <"); +} + + +// ----------------------------------------------------------------------------- +// Mt_SatAppEngine::cleanupTestCase +// QTestLib cleanup method, called for each test case. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::cleanupTestCase() +{ + qDebug("Mt_SatAppEngine::cleanupTestCase >"); + qDebug("Mt_SatAppEngine::cleanupTestCase <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testCreateVmbxEntry +// testCreateVmbxEntry test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testCreateVmbxEntry() +{ + qDebug("Mt_vmbxEngine::testCreateVmbxEntry >"); + TRAPD( err, mVmbxEntry = CVoiceMailboxEntry::NewL()); + QVERIFY2(KErrNone == err, "create CVoiceMailboxEntry failed "); + qDebug("Mt_vmbxEngine::testCreateVmbxEntry <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testCreateVmbxMailbox +// CreateVmbxMailbox test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testCreateVmbxMailbox() +{ + qDebug("Mt_vmbxEngine::testCreateVmbxMailbox >"); + TRAPD( err, mVmbxEngine = CVoiceMailbox::NewL()); + QVERIFY2(KErrNone == err, "create CVoiceMailbox failed "); + qDebug("Mt_vmbxEngine::testCreateVmbxMailbox <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testCheckConfiguration +// CreateVmbxMailbox test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testCheckConfiguration() +{ + qDebug("Mt_vmbxEngine::testCheckConfiguration >"); + TVoiceMailboxParams params; + params.iType = EVmbxVoice; + TBool result = + mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi); + if (!result) { + qDebug("Mt_vmbxEngine::testCheckConfiguration: voice not allowed changed"); + QEXPECT_FAIL("","testCheckConfiguration voice not allowed changed", Continue); + } + params.iType = EVmbxVideo; + result = + mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi); + if (!result) { + qDebug( "Mt_vmbxEngine::testCheckConfiguration: video not allowed changed"); + QEXPECT_FAIL("","testCheckConfiguration video not allowed changed", Continue); + } + params.iType = EVmbxVoip; + result = + mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi); + if (result) { + QFAIL ("testCheckConfiguration voip failed"); + } + qDebug("Mt_vmbxEngine::testCheckConfiguration <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testCreateWindow +// testCreateWindow test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testCreateWindow() +{ + qDebug("Mt_vmbxEngine::testCreateWindow >"); + mWindow = new HbMainWindow(); + QVERIFY(mWindow); + mWindow->show(); + qDebug("Mt_vmbxEngine::testCreateWindow <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testSaveProvisionedEntry +// testSaveProvisionedEntry test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testSaveProvisionedEntry() +{ + qDebug("Mt_vmbxEngine::testSaveProvisionedEntry >"); + QVERIFY(mVmbxEngine); + QVERIFY(mVmbxEntry); + TVoiceMailboxParams params; + params.iType = EVmbxVoice; + CVoiceMailboxEntry* storedEntry = 0; + TInt result(0); + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) { + qDebug("Mt_vmbxEngine::testSaveProvisionedEntry voice"); + result = mVmbxEngine->GetStoredEntry(params,storedEntry); + if (KErrNotFound == result) { + mVmbxEntry->SetVmbxNumber(KNullDesC); + } else if(KErrNone == result) { + mVmbxEntry->SetVmbxNumber(KVmbxNumber); + } else { + QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry: voice \ + GetStoredEntry failed"); + } + mVmbxEntry->SetVoiceMailboxType(EVmbxVoice); + result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry); + QCOMPARE(result, KErrNone); + } + params.iType = EVmbxVideo; + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) { + qDebug("Mt_vmbxEngine::testSaveProvisionedEntry video"); + result = mVmbxEngine->GetStoredEntry(params,storedEntry); + if (KErrNotFound == result) { + mVmbxEntry->SetVmbxNumber(KNullDesC); + } else if (KErrNone == result){ + TPtrC vmbxNumber(KNullDesC); + storedEntry->GetVmbxNumber(vmbxNumber); + mVmbxEntry->SetVmbxNumber(vmbxNumber); + } else { + QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry video \ + GetStoredEntry failed"); + } + mVmbxEntry->SetVoiceMailboxType(EVmbxVideo); + result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry); + QCOMPARE(result, KErrNone); + } + delete storedEntry; + storedEntry = 0; + qDebug("Mt_vmbxEngine::testSaveProvisionedEntry <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testQueryVmbxMailbox +// CreateVmbxMailbox test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testQueryVmbxMailbox() +{ + qDebug("Mt_vmbxEngine::testQueryVmbxMailbox >"); + TVoiceMailboxParams params; + // test QueryVmbxType + TInt result = mVmbxEngine->QueryVmbxType(params); + CVoiceMailboxEntry* vmbxEntry = 0; + if (KErrNotFound == result) { + qDebug("Mt_vmbxEngine::testQueryVmbxMailbox no number defined"); + // test QueryNewEntry + result = mVmbxEngine->QueryNewEntry( params, vmbxEntry ); + //QVERIFY2(KErrNone == result, "QueryNewEntry Failed."); + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) + && KErrNone == result) { + // test SaveEntry + result = mVmbxEngine->SaveEntry( *vmbxEntry ); + QVERIFY2(KErrNone == result, "SaveEntry Failed."); + } + } else if (KErrNone == result) { + qDebug("Mt_vmbxEngine::testQueryVmbxMailbox change number"); + // test change entry + result = mVmbxEngine->QueryChangeEntry( params, vmbxEntry ); + //QVERIFY2(KErrNone == result, "QueryChangeEntry Failed."); + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) + && KErrNone == result ) { + result = mVmbxEngine->SaveEntry( *vmbxEntry ); + QVERIFY2(KErrNone == result, "SaveEntry Failed."); + // test GetStoredEntry + CVoiceMailboxEntry* storedEntry = 0; + result = mVmbxEngine->GetStoredEntry(params,storedEntry); + QVERIFY2(KErrNone == result, "GetStoredEntry Failed."); + TPtrC storedNumber(KNullDesC); + result = storedEntry->GetVmbxNumber(storedNumber); + QVERIFY2(KErrNone == result, "GetVmbxNumber Failed."); + TPtrC vmbxNumber(KNullDesC); + vmbxEntry->GetVmbxNumber(vmbxNumber); + QVERIFY2(storedNumber.Compare(vmbxNumber)==0, "number not match"); + delete storedEntry; + storedEntry = 0; + } + } else { + QFAIL("Mt_vmbxEngine::testQueryVmbxMailbox: QueryVmbxType failed"); + } + delete vmbxEntry; + vmbxEntry = 0; + qDebug("Mt_vmbxEngine::testQueryVmbxMailbox <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testNotifyVmbxNumberChange +// testNotifyVmbxNumberChange test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel() +{ + qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel >"); + mVmbxEngine->NotifyVmbxNumberChangeCancel(); + qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testDeleteWindow +// testDeleteWindow test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testDeleteWindow() +{ + qDebug("Mt_vmbxEngine::testDeleteWindow >"); + delete mWindow; + mWindow = 0; + qDebug("Mt_vmbxEngine::testDeleteWindow <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testDeleteVmbxMailbox +// testDeleteVmbxMailbox test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testDeleteVmbxMailbox() +{ + qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox >"); + delete mVmbxEngine; + mVmbxEngine = 0; + qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox <"); +} + +// ----------------------------------------------------------------------------- +// Mt_vmbxEngine::testDeleteVmbxEntry +// testDeleteVmbxEntry test case +// Connects to test object signal and verifies received data. +// ----------------------------------------------------------------------------- +void Mt_vmbxEngine::testDeleteVmbxEntry() +{ + qDebug("Mt_vmbxEngine::testDeleteVmbxEntry >"); + delete mVmbxEntry; + mVmbxEntry = 0; + qDebug("Mt_vmbxEngine::testDeleteVmbxEntry <"); +} + +// ----------------------------------------------------------------------------- +// main() +// Main method implemented for directing test output to a file. +// ----------------------------------------------------------------------------- +int main(int argc, char *argv[]) + { + qDebug("Mt_vmbxEngine.cpp: main() >"); + QApplication app(argc, argv); + + qDebug("Mt_vmbxEngine.cpp: Mt_vmbxEngine"); + Mt_vmbxEngine tc; + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\logs\\vmbx\\mt_vmbxengine.txt"; + const int result = QTest::qExec(&tc, 3, pass); + + qDebug("Mt_vmbxEngine.cpp: main() <, result=%d", result); + return result; + } + +//End file