diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphonepower.cpp --- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphonepower.cpp Mon May 03 13:37:20 2010 +0300 +++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphonepower.cpp Thu May 06 15:10:38 2010 +0100 @@ -1,296 +1,296 @@ -// Copyright (c) 2007-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: -// Test step definitions for the PhonePower functional unit. -// -// - -/** - @internalTechnology -*/ - -#include "cctsyintegrationtestphonepower.h" -#include "cetelsessionmgr.h" - - - -CCTSYIntegrationTestPhonePowerBase::CCTSYIntegrationTestPhonePowerBase(CEtelSessionMgr& aEtelSessionMgr) - : CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iPhoneTsyTestHelper(*this) -/** - * Constructor - */ - { - } - -CCTSYIntegrationTestPhonePowerBase::~CCTSYIntegrationTestPhonePowerBase() -/* - * Destructor - */ - { - } - - -CCTSYIntegrationTestPhonePower0001::CCTSYIntegrationTestPhonePower0001(CEtelSessionMgr& aEtelSessionMgr) - : CCTSYIntegrationTestPhonePowerBase(aEtelSessionMgr) -/** - * Constructor. - */ - { - SetTestStepName(CCTSYIntegrationTestPhonePower0001::GetTestStepName()); - } - -CCTSYIntegrationTestPhonePower0001::~CCTSYIntegrationTestPhonePower0001() -/** - * Destructor. - */ - { - } - -TVerdict CCTSYIntegrationTestPhonePower0001::doTestStepL() -/** - * @SYMTestCaseID BA-CTSY-INT-PP-0001 - * @SYMFssID BA/CTSY/PP-0001 - * @SYMTestCaseDesc Get battery capabilities and information. Verify capabilities are correct and charge level is a valid percentage - * @SYMTestPriority High - * @SYMTestActions RMobilePhone::GetBatteryCaps, RMobilePhone::GetBatteryInfo - * @SYMTestExpectedResults Pass - Battery caps and information returned. - * @SYMTestType CIT - * @SYMTestCaseDependencies live/automatic - * - * Reason for test: Verify capabilities are correct and charge level is a valid percentage. - * - * @return - TVerdict code - */ - { - - // - // SET UP - // - // Get the battery capabilities and information. - // Verify capabilities are correct and charge level is a valid percentage. - - RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone); - - // - // SET UP END - // - - StartTest(); - - // - // TEST START - // - - - // Check RMobilePhone::GetBatteryCaps returns caps in set of KCapsGetBatteryInfo | KCapsNotifyBatteryInfoChange - TUint32 batteryCaps; - ASSERT_EQUALS(mobilePhone.GetBatteryCaps(batteryCaps), KErrNone, - _L("RMobilePhone::GetBatteryCaps returned error")) - TUint32 expectedCaps = - RMobilePhone::KCapsGetBatteryInfo - | RMobilePhone::KCapsNotifyBatteryInfoChange; - TUint32 unwantedCaps = 0; - - ASSERT_BITS_SET(batteryCaps, expectedCaps, unwantedCaps, _L("RMobilePhone::GetBatteryCaps returned incorrect caps")) - - TExtEtelRequestStatus requestStatus(mobilePhone,EMobilePhoneGetBatteryInfo); - RMobilePhone::TMobilePhoneBatteryInfoV1 batteryInfo; - - // Check RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EPoweredByBattery - // Check RMobilePhone::GetBatteryInfo returns aInfo.iChargeLevel > 0 but <= 100 - mobilePhone.GetBatteryInfo(requestStatus, batteryInfo); - ASSERT_EQUALS(WaitForRequestWithTimeOut(requestStatus, ETimeShort), - KErrNone, _L("RMobilePhone::GetBatteryInfo did not complete.")) - ASSERT_EQUALS(requestStatus.Int(),KErrNone , - _L("RMobilePhone::GetBatteryInfo completed with incorrect error")) - ASSERT_EQUALS(batteryInfo.iStatus,RMobilePhone::EPoweredByBattery, - _L("RMobilePhone::GetBatteryInfo returned unexpected battery status")) - ASSERT_TRUE(batteryInfo.iChargeLevel > 0 && batteryInfo.iChargeLevel <= 100 , - _L("RMobilePhone::GetBatteryInfo returned incorrect charge level")) - - - // - // TEST END - // - - StartCleanup(); - - - return TestStepResult(); - } - -TPtrC CCTSYIntegrationTestPhonePower0001::GetTestStepName() -/** - * @return The test step name. - */ - { - return _L("CCTSYIntegrationTestPhonePower0001"); - } - - - -CCTSYIntegrationTestPhonePower0002::CCTSYIntegrationTestPhonePower0002(CEtelSessionMgr& aEtelSessionMgr) - : CCTSYIntegrationTestPhonePowerBase(aEtelSessionMgr) -/** - * Constructor. - */ - { - SetTestStepName(CCTSYIntegrationTestPhonePower0002::GetTestStepName()); - } - -CCTSYIntegrationTestPhonePower0002::~CCTSYIntegrationTestPhonePower0002() -/** - * Destructor. - */ - { - } - -TVerdict CCTSYIntegrationTestPhonePower0002::doTestStepL() -/** - * @SYMTestCaseID BA-CTSY-INT-PP-0002 - * @SYMFssID BA/CTSY/PP-0002 - * @SYMTestCaseDesc Plug and unplug the phone charger. - * @SYMTestPriority High - * @SYMTestActions RMobilePhone::GetBatteryInfo - * @SYMTestExpectedResults Pass - Battery info changes when charger is plugged and unplugged. - * @SYMTestType CIT - * @SYMTestCaseDependencies live/manual - * - * Reason for test: Verify battery info change notifications received. - * - * @return - TVerdict code - */ - { - - // - // SET UP - // - - RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone); - - // Ensure RMobilePhone::GetBatteryCaps returns caps in set of KCapsGetBatteryInfo | KCapsNotifyBatteryInfoChange - TUint32 caps; - - CHECK_EQUALS_L(mobilePhone.GetBatteryCaps(caps), KErrNone, _L("RMobilePhone::GetBatteryCaps return value is not KErrNone")); - - TUint32 expectedCaps = RMobilePhone::KCapsGetBatteryInfo | RMobilePhone::KCapsNotifyBatteryInfoChange; - CHECK_BITS_SET_L(caps, expectedCaps, KNoUnwantedBits, _L("RMobilePhone::GetBatteryCaps returned wrong caps")); - - // Ensure charger is plugged into the phone. - TBuf<120> plugPrompt(_L("Ensure charger is plugged into the phone")); - DisplayUserInteractionPromptL(plugPrompt); // 30 seconds - - // Ensure RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EBatteryConnectedButExternallyPowered - TExtEtelRequestStatus getBatteryInfoStatus(mobilePhone, EMobilePhoneGetBatteryInfo); - CleanupStack::PushL(getBatteryInfoStatus); - RMobilePhone::TMobilePhoneBatteryInfoV1 info; - - mobilePhone.GetBatteryInfo(getBatteryInfoStatus, info); - - CHECK_EQUALS_L(WaitForRequestWithTimeOut(getBatteryInfoStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetBatteryInfo timed-out")); - CHECK_EQUALS_L(getBatteryInfoStatus.Int(), KErrNone, _L("RMobilePhone::GetBatteryInfo returned with an error")); - CHECK_EQUALS_L(info.iStatus, RMobilePhone::EBatteryConnectedButExternallyPowered, _L("RMobilePhone::GetBatteryInfo idServiceStatus is not RMobilePhone::EBatteryConnectedButExternallyPowered")); - - // - // SET UP END - // - - StartTest(); - - // - // TEST START - // - - // Post notification for RMobilePhone::NotifyBatteryInfoChange - TExtEtelRequestStatus notifyBatteryInfoChangeStatus(mobilePhone, EMobilePhoneNotifyBatteryInfoChange); - CleanupStack::PushL(notifyBatteryInfoChangeStatus); - RMobilePhone::TMobilePhoneBatteryInfoV1 notifyInfo; - mobilePhone.NotifyBatteryInfoChange(notifyBatteryInfoChangeStatus, notifyInfo); - - // Unplug the phone charger - TBuf<120> unplugPrompt(_L("Ensure charger is unplugged from the phone")); - DisplayUserInteractionPromptL(unplugPrompt); // 30 seconds - - // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iStatus = EPoweredByBattery - // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iChargeLevel > 0 but <= 100 - RMobilePhone::TMobilePhoneBatteryInfoV1 expectedInfo = notifyInfo; - expectedInfo.iStatus = RMobilePhone::EPoweredByBattery; - - TCmpBase phoneBatteryInfoComp(notifyInfo, expectedInfo, *this); - iPhoneTsyTestHelper.WaitForMobilePhoneNotifyBatteryInfoChange(mobilePhone, - notifyBatteryInfoChangeStatus, - phoneBatteryInfoComp, - KErrNone); - - ASSERT_TRUE(notifyInfo.iChargeLevel>0 && notifyInfo.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); - - // Check RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EPoweredByBattery - mobilePhone.GetBatteryInfo(getBatteryInfoStatus, info); - - ASSERT_EQUALS(WaitForRequestWithTimeOut(getBatteryInfoStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetBatteryInfo timed-out")); - ASSERT_EQUALS(getBatteryInfoStatus.Int(), KErrNone, _L("RMobilePhone::GetBatteryInfo returned with an error")); - ASSERT_EQUALS(info.iStatus, RMobilePhone::EPoweredByBattery, _L("RMobilePhone::GetBatteryInfo idServiceStatus is not RMobilePhone::EPoweredByBattery")); - - // Check RMobilePhone::GetBatteryInfo returns aInfo.iChargeLevel > 0 but <= 100 - ASSERT_TRUE(info.iChargeLevel>0 && info.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); - - // Repost notification for RMobilePhone::NotifyBatteryInfoChange - mobilePhone.NotifyBatteryInfoChange(notifyBatteryInfoChangeStatus, notifyInfo); - - // Plug in the phone charger - DisplayUserInteractionPromptL(plugPrompt); // 30 seconds - - // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iStatus = EBatteryConnectedButExternallyPowered - // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iChargeLevel > 0 but <= 100 - expectedInfo.iStatus = RMobilePhone::EBatteryConnectedButExternallyPowered; - - TCmpBase phoneBatteryInfoComp2(notifyInfo, expectedInfo, *this); - iPhoneTsyTestHelper.WaitForMobilePhoneNotifyBatteryInfoChange(mobilePhone, - notifyBatteryInfoChangeStatus, - phoneBatteryInfoComp2, - KErrNone); - - ASSERT_TRUE(notifyInfo.iChargeLevel>0 && notifyInfo.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); - - // Check RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EBatteryConnectedButExternallyPowered - mobilePhone.GetBatteryInfo(getBatteryInfoStatus, info); - - ASSERT_EQUALS(WaitForRequestWithTimeOut(getBatteryInfoStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetBatteryInfo timed-out")); - ASSERT_EQUALS(getBatteryInfoStatus.Int(), KErrNone, _L("RMobilePhone::GetBatteryInfo returned with an error")); - ASSERT_EQUALS(info.iStatus, RMobilePhone::EBatteryConnectedButExternallyPowered, _L("RMobilePhone::GetBatteryInfo idServiceStatus is not RMobilePhone::EBatteryConnectedButExternallyPowered")); - - // Check RMobilePhone::GetBatteryInfo returns aInfo.iChargeLevel > 0 but <= 100 - ASSERT_TRUE(info.iChargeLevel>0 && info.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); - - // - // TEST END - // - - StartCleanup(); - - CleanupStack::PopAndDestroy(¬ifyBatteryInfoChangeStatus); - CleanupStack::PopAndDestroy(&getBatteryInfoStatus); - - return TestStepResult(); - } - -TPtrC CCTSYIntegrationTestPhonePower0002::GetTestStepName() -/** - * @return The test step name. - */ - { - return _L("CCTSYIntegrationTestPhonePower0002"); - } - - - +// Copyright (c) 2007-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: +// Test step definitions for the PhonePower functional unit. +// +// + +/** + @internalTechnology +*/ + +#include "cctsyintegrationtestphonepower.h" +#include "cetelsessionmgr.h" + + + +CCTSYIntegrationTestPhonePowerBase::CCTSYIntegrationTestPhonePowerBase(CEtelSessionMgr& aEtelSessionMgr) + : CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iPhoneTsyTestHelper(*this) +/** + * Constructor + */ + { + } + +CCTSYIntegrationTestPhonePowerBase::~CCTSYIntegrationTestPhonePowerBase() +/* + * Destructor + */ + { + } + + +CCTSYIntegrationTestPhonePower0001::CCTSYIntegrationTestPhonePower0001(CEtelSessionMgr& aEtelSessionMgr) + : CCTSYIntegrationTestPhonePowerBase(aEtelSessionMgr) +/** + * Constructor. + */ + { + SetTestStepName(CCTSYIntegrationTestPhonePower0001::GetTestStepName()); + } + +CCTSYIntegrationTestPhonePower0001::~CCTSYIntegrationTestPhonePower0001() +/** + * Destructor. + */ + { + } + +TVerdict CCTSYIntegrationTestPhonePower0001::doTestStepL() +/** + * @SYMTestCaseID BA-CTSY-INT-PP-0001 + * @SYMFssID BA/CTSY/PP-0001 + * @SYMTestCaseDesc Get battery capabilities and information. Verify capabilities are correct and charge level is a valid percentage + * @SYMTestPriority High + * @SYMTestActions RMobilePhone::GetBatteryCaps, RMobilePhone::GetBatteryInfo + * @SYMTestExpectedResults Pass - Battery caps and information returned. + * @SYMTestType CIT + * @SYMTestCaseDependencies live/automatic + * + * Reason for test: Verify capabilities are correct and charge level is a valid percentage. + * + * @return - TVerdict code + */ + { + + // + // SET UP + // + // Get the battery capabilities and information. + // Verify capabilities are correct and charge level is a valid percentage. + + RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone); + + // + // SET UP END + // + + StartTest(); + + // + // TEST START + // + + + // Check RMobilePhone::GetBatteryCaps returns caps in set of KCapsGetBatteryInfo | KCapsNotifyBatteryInfoChange + TUint32 batteryCaps; + ASSERT_EQUALS(mobilePhone.GetBatteryCaps(batteryCaps), KErrNone, + _L("RMobilePhone::GetBatteryCaps returned error")) + TUint32 expectedCaps = + RMobilePhone::KCapsGetBatteryInfo + | RMobilePhone::KCapsNotifyBatteryInfoChange; + TUint32 unwantedCaps = 0; + + ASSERT_BITS_SET(batteryCaps, expectedCaps, unwantedCaps, _L("RMobilePhone::GetBatteryCaps returned incorrect caps")) + + TExtEtelRequestStatus requestStatus(mobilePhone,EMobilePhoneGetBatteryInfo); + RMobilePhone::TMobilePhoneBatteryInfoV1 batteryInfo; + + // Check RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EPoweredByBattery + // Check RMobilePhone::GetBatteryInfo returns aInfo.iChargeLevel > 0 but <= 100 + mobilePhone.GetBatteryInfo(requestStatus, batteryInfo); + ASSERT_EQUALS(WaitForRequestWithTimeOut(requestStatus, ETimeShort), + KErrNone, _L("RMobilePhone::GetBatteryInfo did not complete.")) + ASSERT_EQUALS(requestStatus.Int(),KErrNone , + _L("RMobilePhone::GetBatteryInfo completed with incorrect error")) + ASSERT_EQUALS(batteryInfo.iStatus,RMobilePhone::EPoweredByBattery, + _L("RMobilePhone::GetBatteryInfo returned unexpected battery status")) + ASSERT_TRUE(batteryInfo.iChargeLevel > 0 && batteryInfo.iChargeLevel <= 100 , + _L("RMobilePhone::GetBatteryInfo returned incorrect charge level")) + + + // + // TEST END + // + + StartCleanup(); + + + return TestStepResult(); + } + +TPtrC CCTSYIntegrationTestPhonePower0001::GetTestStepName() +/** + * @return The test step name. + */ + { + return _L("CCTSYIntegrationTestPhonePower0001"); + } + + + +CCTSYIntegrationTestPhonePower0002::CCTSYIntegrationTestPhonePower0002(CEtelSessionMgr& aEtelSessionMgr) + : CCTSYIntegrationTestPhonePowerBase(aEtelSessionMgr) +/** + * Constructor. + */ + { + SetTestStepName(CCTSYIntegrationTestPhonePower0002::GetTestStepName()); + } + +CCTSYIntegrationTestPhonePower0002::~CCTSYIntegrationTestPhonePower0002() +/** + * Destructor. + */ + { + } + +TVerdict CCTSYIntegrationTestPhonePower0002::doTestStepL() +/** + * @SYMTestCaseID BA-CTSY-INT-PP-0002 + * @SYMFssID BA/CTSY/PP-0002 + * @SYMTestCaseDesc Plug and unplug the phone charger. + * @SYMTestPriority High + * @SYMTestActions RMobilePhone::GetBatteryInfo + * @SYMTestExpectedResults Pass - Battery info changes when charger is plugged and unplugged. + * @SYMTestType CIT + * @SYMTestCaseDependencies live/manual + * + * Reason for test: Verify battery info change notifications received. + * + * @return - TVerdict code + */ + { + + // + // SET UP + // + + RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone); + + // Ensure RMobilePhone::GetBatteryCaps returns caps in set of KCapsGetBatteryInfo | KCapsNotifyBatteryInfoChange + TUint32 caps; + + CHECK_EQUALS_L(mobilePhone.GetBatteryCaps(caps), KErrNone, _L("RMobilePhone::GetBatteryCaps return value is not KErrNone")); + + TUint32 expectedCaps = RMobilePhone::KCapsGetBatteryInfo | RMobilePhone::KCapsNotifyBatteryInfoChange; + CHECK_BITS_SET_L(caps, expectedCaps, KNoUnwantedBits, _L("RMobilePhone::GetBatteryCaps returned wrong caps")); + + // Ensure charger is plugged into the phone. + TBuf<120> plugPrompt(_L("Ensure charger is plugged into the phone")); + DisplayUserInteractionPromptL(plugPrompt); // 30 seconds + + // Ensure RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EBatteryConnectedButExternallyPowered + TExtEtelRequestStatus getBatteryInfoStatus(mobilePhone, EMobilePhoneGetBatteryInfo); + CleanupStack::PushL(getBatteryInfoStatus); + RMobilePhone::TMobilePhoneBatteryInfoV1 info; + + mobilePhone.GetBatteryInfo(getBatteryInfoStatus, info); + + CHECK_EQUALS_L(WaitForRequestWithTimeOut(getBatteryInfoStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetBatteryInfo timed-out")); + CHECK_EQUALS_L(getBatteryInfoStatus.Int(), KErrNone, _L("RMobilePhone::GetBatteryInfo returned with an error")); + CHECK_EQUALS_L(info.iStatus, RMobilePhone::EBatteryConnectedButExternallyPowered, _L("RMobilePhone::GetBatteryInfo idServiceStatus is not RMobilePhone::EBatteryConnectedButExternallyPowered")); + + // + // SET UP END + // + + StartTest(); + + // + // TEST START + // + + // Post notification for RMobilePhone::NotifyBatteryInfoChange + TExtEtelRequestStatus notifyBatteryInfoChangeStatus(mobilePhone, EMobilePhoneNotifyBatteryInfoChange); + CleanupStack::PushL(notifyBatteryInfoChangeStatus); + RMobilePhone::TMobilePhoneBatteryInfoV1 notifyInfo; + mobilePhone.NotifyBatteryInfoChange(notifyBatteryInfoChangeStatus, notifyInfo); + + // Unplug the phone charger + TBuf<120> unplugPrompt(_L("Ensure charger is unplugged from the phone")); + DisplayUserInteractionPromptL(unplugPrompt); // 30 seconds + + // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iStatus = EPoweredByBattery + // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iChargeLevel > 0 but <= 100 + RMobilePhone::TMobilePhoneBatteryInfoV1 expectedInfo = notifyInfo; + expectedInfo.iStatus = RMobilePhone::EPoweredByBattery; + + TCmpBase phoneBatteryInfoComp(notifyInfo, expectedInfo, *this); + iPhoneTsyTestHelper.WaitForMobilePhoneNotifyBatteryInfoChange(mobilePhone, + notifyBatteryInfoChangeStatus, + phoneBatteryInfoComp, + KErrNone); + + ASSERT_TRUE(notifyInfo.iChargeLevel>0 && notifyInfo.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); + + // Check RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EPoweredByBattery + mobilePhone.GetBatteryInfo(getBatteryInfoStatus, info); + + ASSERT_EQUALS(WaitForRequestWithTimeOut(getBatteryInfoStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetBatteryInfo timed-out")); + ASSERT_EQUALS(getBatteryInfoStatus.Int(), KErrNone, _L("RMobilePhone::GetBatteryInfo returned with an error")); + ASSERT_EQUALS(info.iStatus, RMobilePhone::EPoweredByBattery, _L("RMobilePhone::GetBatteryInfo idServiceStatus is not RMobilePhone::EPoweredByBattery")); + + // Check RMobilePhone::GetBatteryInfo returns aInfo.iChargeLevel > 0 but <= 100 + ASSERT_TRUE(info.iChargeLevel>0 && info.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); + + // Repost notification for RMobilePhone::NotifyBatteryInfoChange + mobilePhone.NotifyBatteryInfoChange(notifyBatteryInfoChangeStatus, notifyInfo); + + // Plug in the phone charger + DisplayUserInteractionPromptL(plugPrompt); // 30 seconds + + // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iStatus = EBatteryConnectedButExternallyPowered + // Check RMobilePhone::NotifyBatteryInfoChange completes with aInfo.iChargeLevel > 0 but <= 100 + expectedInfo.iStatus = RMobilePhone::EBatteryConnectedButExternallyPowered; + + TCmpBase phoneBatteryInfoComp2(notifyInfo, expectedInfo, *this); + iPhoneTsyTestHelper.WaitForMobilePhoneNotifyBatteryInfoChange(mobilePhone, + notifyBatteryInfoChangeStatus, + phoneBatteryInfoComp2, + KErrNone); + + ASSERT_TRUE(notifyInfo.iChargeLevel>0 && notifyInfo.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); + + // Check RMobilePhone::GetBatteryInfo returns aInfo.iStatus = EBatteryConnectedButExternallyPowered + mobilePhone.GetBatteryInfo(getBatteryInfoStatus, info); + + ASSERT_EQUALS(WaitForRequestWithTimeOut(getBatteryInfoStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetBatteryInfo timed-out")); + ASSERT_EQUALS(getBatteryInfoStatus.Int(), KErrNone, _L("RMobilePhone::GetBatteryInfo returned with an error")); + ASSERT_EQUALS(info.iStatus, RMobilePhone::EBatteryConnectedButExternallyPowered, _L("RMobilePhone::GetBatteryInfo idServiceStatus is not RMobilePhone::EBatteryConnectedButExternallyPowered")); + + // Check RMobilePhone::GetBatteryInfo returns aInfo.iChargeLevel > 0 but <= 100 + ASSERT_TRUE(info.iChargeLevel>0 && info.iChargeLevel<=100, _L("RMobilePhone::GetBatteryInfo aInfo.iChargeLevel is not > 0 and <= 100")); + + // + // TEST END + // + + StartCleanup(); + + CleanupStack::PopAndDestroy(¬ifyBatteryInfoChangeStatus); + CleanupStack::PopAndDestroy(&getBatteryInfoStatus); + + return TestStepResult(); + } + +TPtrC CCTSYIntegrationTestPhonePower0002::GetTestStepName() +/** + * @return The test step name. + */ + { + return _L("CCTSYIntegrationTestPhonePower0002"); + } + + +