--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/simtsy/test/Te_Sim/Te_SimMiscTest.cpp Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,263 @@
+// Copyright (c) 2005-2009 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:
+//
+
+#include "Te_SimMiscTest.h"
+
+#define KSimTsyVersionTestOffset 30
+_LIT8(KConfigScAuthAUTN, "AUTN_IN");
+_LIT8(KConfigScAuthRAND, "RAND_IN");
+
+CSimMiscTest::CSimMiscTest()
+ {
+ SetTestStepName(_L("MiscTest"));
+ }
+
+TVerdict CSimMiscTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("Misc Functionality"));
+
+ CreateConfigFileL(_L("c:\\config3.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ INFO_PRINTF2(_L("Result: %d"),ret);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+
+ TBool result;
+ TBuf<10> tsyName;
+ tsyName = KSimtsyName;
+ INFO_PRINTF1(_L("Tesing Is Supported functionality"));
+ for (TInt mixin=KETelExtMultimodeV1; mixin<=KETelFuncMobileUserSignalling;mixin++)
+ {
+ iTelServer.IsSupportedByModule(tsyName, mixin, result);
+ if (mixin== KETelExtMultimodeV1
+ || mixin==KETelFuncMobileNetwork
+ || mixin==KETelFuncMobilePower
+ || mixin==KETelFuncMobileSignal
+ || mixin==KETelFuncMobileIndicator
+ || mixin==KETelFuncMobileDTMF
+ || mixin==KETelFuncMobileDataCall
+ || mixin==KETelFuncMobileEmergencyCall
+ || mixin==KETelFuncMobileSmsMessaging
+ || mixin==KETelFuncMobilePhonebook
+ || mixin==KETelFuncMobileSmsStore
+ || mixin==KETelFuncMobileOwnNumberStore
+ || mixin==KETelExtPcktV1
+ || mixin==RMobileCall::KETelMobileDataCallParamsV1
+ || mixin==RMobileCall::KETel3rdPartyCallParamsV1
+ )
+ TESTL(result!=EFalse);
+ else
+ TESTL(result==EFalse);
+
+ }
+
+ iTelServer.IsSupportedByModule(tsyName, KEtelExtMultimodeV9, result);
+ TESTL(result!=EFalse);
+ iTelServer.IsSupportedByModule(tsyName, KEtelFuncCellInfo, result);
+ TESTL(result!=EFalse);
+
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ return TestStepResult();
+ }
+
+//------------------------------------------------------------------
+
+CSetVersion::CSetVersion()
+/** Each test step initialises it's own name
+*/
+ {
+ // store the name of this test case
+ // this is the name that is used by the script file
+ SetTestStepName(_L("SetVersion"));
+ }
+//------------------------------------------------------------------
+
+TVerdict CSetVersion::doTestStepL( void )
+ {
+ INFO_PRINTF1(_L("Testing the simulated version."));
+
+ CreateConfigFileL(_L("c:\\config3.txt"));
+
+ for(TInt version = 1; version<=6; version++)
+ {
+ SetTestNumberL(version + KSimTsyVersionTestOffset);
+ TestVersion(version);
+ }
+
+ return TestStepResult();
+ }
+
+void CSetVersion::TestVersion(TInt aVersion)
+ {
+ // Closing and re-opening the phone (to refresh the version setting)
+ iPhone.Close();
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+
+ TRequestStatus stat0;
+
+ // Testing a V1 data structure.
+ TUint32 capabilities;
+ RMobilePhone::TMobilePhoneBatteryInfoV1 battery;
+ INFO_PRINTF1(_L("Testing a V1 data structure."));
+ ret = iPhone.GetBatteryCaps(capabilities);
+ TESTL(ret==KErrNone); // must always pass - there is no version number lower than 1;
+
+ // Testing a V2 data structure.
+ RMobilePhone::TUSimApplicationInfoV2 usimAppInfo;
+ RMobilePhone::TUSimApplicationInfoV2Pckg usimAppInfoPckg(usimAppInfo);
+ INFO_PRINTF1(_L("Testing a V2 data structure."));
+ iPhone.GetUSimApplicationInfo(stat0, 0, usimAppInfoPckg);
+ User::WaitForRequest(stat0);
+ if(aVersion >=2)
+ {
+ TESTL(stat0==KErrNone);
+ }
+ else
+ {
+ TESTL(stat0==KErrNotSupported);
+ }
+
+
+ // Testing a V3 data structure.
+ RMobilePhone::TMobilePhoneNetworkNameV3 networkname;
+ RMobilePhone::TMobilePhoneNetworkNameV3Pckg networknamePckg(networkname);
+ RMobilePhone::TMobilePhoneOPlmnV3 locInfo;
+ RMobilePhone::TMobilePhoneOPlmnV3Pckg locInfoPckg(locInfo);
+ INFO_PRINTF1(_L("Testing a V3 data structure."));
+ iPhone.GetCurrentNetworkName(stat0, networknamePckg, locInfoPckg);
+ User::WaitForRequest(stat0);
+ if(aVersion >=3)
+ {
+ TESTL(stat0==KErrNone);
+ }
+ else
+ {
+ TESTL(stat0==KErrNotSupported);
+ }
+
+ // Testing a V5 data structure.
+ RMobilePhone::TSmartCardApplicationInfoV5 smartCardAppInfo;
+ RMobilePhone::TSmartCardApplicationInfoV5Pckg smartCardAppInfoPckg(smartCardAppInfo);
+ INFO_PRINTF1(_L("Testing a V5 data structure."));
+ iPhone.GetSmartCardApplicationInfo(stat0, 0, smartCardAppInfoPckg);
+ User::WaitForRequest(stat0);
+ if(aVersion >=5)
+ {
+ TESTL(stat0==KErrNone);
+ }
+ else
+ {
+ TESTL(stat0==KErrNotSupported);
+ }
+
+ // Testing a V6 data structure.
+ RMobilePhone::TSmartCardAuthenticateDataV6 authenticateData;
+ RMobilePhone::TSmartCardAuthenticateDataV6Pckg authenticateDataPckg(authenticateData);
+ authenticateData.iAUTN = KConfigScAuthAUTN();
+ authenticateData.iRAND = KConfigScAuthRAND();
+ INFO_PRINTF1(_L("Testing a V6 data structure."));
+ iPhone.SmartCardAuthenticate(stat0, authenticateDataPckg);
+ User::WaitForRequest(stat0);
+ if(aVersion >=6)
+ {
+ TESTL(stat0==KErrNone);
+ }
+ else
+ {
+ TESTL(stat0==KErrNotSupported);
+ }
+
+
+ iPhone.Close();
+ }
+
+//------------------------------------------------------------------
+
+CCheckVersionSupport::CCheckVersionSupport()
+/** Each test step initialises it's own name
+*/
+ {
+ // store the name of this test case
+ // this is the name hat is used by the script file
+ SetTestStepName(_L("CCheckVersionSupport"));
+ }
+//------------------------------------------------------------------
+
+TVerdict CCheckVersionSupport::doTestStepL( void )
+ {
+ INFO_PRINTF1(_L("Testing the support of the simulated version."));
+
+ CreateConfigFileL(_L("c:\\config3.txt"));
+
+ for(TInt version = 1; version<=6; version++)
+ {
+ SetTestNumberL(version + KSimTsyVersionTestOffset);
+ TestVersionSupport(version);
+ }
+
+ return TestStepResult();
+ }
+
+
+void CCheckVersionSupport::TestVersionSupport(TInt aSimTsyVersion)
+ {
+ TInt mmBaseClassVersion = KETelExtMultimodeV1;
+ TBool isVer;
+
+ const TInt mmVersion[7] =
+ {
+ 0,
+ KETelExtMultimodeV1,
+ KETelExtMultimodeV2,
+ KETelExtMultimodeV3,
+ KETelExtMultimodeV4,
+ KEtelExtMultimodeV5,
+ KEtelExtMultimodeV6
+ };
+
+ // Closing and re-opening the phone (to refresh the version setting)
+ iPhone.Close();
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+
+ for(TInt version = 1; version<=6; version++)
+ {
+ // setting the version to check
+ mmBaseClassVersion = mmVersion[version];
+
+ // checking support
+ INFO_PRINTF2(_L("Testing KETelExtMultimodeV%d."), version);
+ iTelServer.IsSupportedByModule(KSimtsyName,mmBaseClassVersion,isVer);
+
+ if(version <= aSimTsyVersion)
+ {
+ TEST(isVer);
+ }
+ else
+ {
+ TEST(!isVer);
+ }
+ }
+
+ // close the phone (will be opened again on the next iteration)
+ iPhone.Close();
+ }