diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyserverplugins/common_tsy/test/component/src/cctsyphonecapabilityfu.cpp --- a/telephonyserverplugins/common_tsy/test/component/src/cctsyphonecapabilityfu.cpp Mon May 03 13:37:20 2010 +0300 +++ b/telephonyserverplugins/common_tsy/test/component/src/cctsyphonecapabilityfu.cpp Thu May 06 15:10:38 2010 +0100 @@ -1,470 +1,470 @@ -// 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: -// The TEFUnit test suite for PhoneCapability in the Common TSY. -// -// - -/** - @file -*/ - -#include "cctsyphonecapabilityfu.h" -#include -#include -#include -#include -#include -#include "tmockltsydata.h" -#include "MmTsy_conf.h" - -CTestSuite* CCTsyPhoneCapabilityFU::CreateSuiteL(const TDesC& aName) - { - SUB_SUITE; - - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001L); - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001aL); - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001bL); - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001cL); - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0002L); - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0004L); - ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestGetMultimodeCaps0001L); - - END_SUITE; - } - - -// -// Actual test cases -// - - -/** -@SYMTestCaseID BA-CTSY-PCAP-PCC-0001 -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange -@SYMTestPriority High -@SYMTestActions Invokes RPhone::NotifyCapsChange -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001L() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - // invoke caps change, invoke completion of not requested NotifyCapsChange - RLine line; - TInt err = line.Open(iPhone, KMmTsyVoice1LineName); - ASSERT_EQUALS(KErrNone, err) - line.Close(); - - RLine line2; - - //------------------------------------------------------------------------- - // TEST C: Successful completion request of - // RPhone::NotifyCapsChange. - //------------------------------------------------------------------------- - - TRequestStatus status; - RPhone::TCaps caps; - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change (open data line) - err = line.Open(iPhone, KMmTsyDataLineName); - ASSERT_EQUALS(KErrNone, err); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast( - RPhone::KCapsData | - RPhone::KCapsEventModemDetection | - RPhone::KCapsStealCommPort), - caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change (open auxilliary voice line) - err = line2.Open(iPhone, KMmTsyVoice2LineName); - ASSERT_EQUALS(KErrNone, err) - - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast( - RPhone::KCapsData | - RPhone::KCapsEventModemDetection | - RPhone::KCapsStealCommPort | - RPhone::KCapsVoice) , - caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - line.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - line2.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(0), caps.iFlags); - - CleanupStack::PopAndDestroy(this); - - } - - -/** -@SYMTestCaseID BA-CTSY-PCAP-PCC-0001a -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange for voice calls -@SYMTestPriority High -@SYMTestActions Invokes RPhone::NotifyCapsChange for voice calls -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001aL() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - RLine line; - - //------------------------------------------------------------------------- - // TEST C: Successful completion request of - // RPhone::NotifyCapsChange. - //------------------------------------------------------------------------- - - TRequestStatus status; - RPhone::TCaps caps; - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - TInt err = line.Open(iPhone, KMmTsyVoice1LineName); - ASSERT_EQUALS(KErrNone, err) - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - line.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(0), caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - // now we open auxilliary voice line - err = line.Open(iPhone, KMmTsyVoice2LineName); - ASSERT_EQUALS(KErrNone, err) - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - line.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(0), caps.iFlags); - - CleanupStack::PopAndDestroy(this); - - } - - -/** -@SYMTestCaseID BA-CTSY-PCAP-PCC-0001b -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange for data calls -@SYMTestPriority High -@SYMTestActions Invokes RPhone::NotifyCapsChange for data calls -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001bL() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - RLine line; - - //------------------------------------------------------------------------- - // TEST C: Successful completion request of - // RPhone::NotifyCapsChange. - //------------------------------------------------------------------------- - - TRequestStatus status; - RPhone::TCaps caps; - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - TInt err = line.Open(iPhone, KMmTsyDataLineName); - ASSERT_EQUALS(KErrNone, err); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast( - RPhone::KCapsData | - RPhone::KCapsEventModemDetection | - RPhone::KCapsStealCommPort), - caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // invoke caps change - line.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - ASSERT_EQUALS(static_cast(0), caps.iFlags); - - CleanupStack::PopAndDestroy(this); - - } - - -/** -@SYMTestCaseID BA-CTSY-PCAP-PCC-0001c -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange for fax calls -@SYMTestPriority High -@SYMTestActions Invokes RPhone::NotifyCapsChange for fax calls -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001cL() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - RLine line; - RLine line2; - - //------------------------------------------------------------------------- - // TEST C: Successful completion request of - // RPhone::NotifyCapsChange. - //------------------------------------------------------------------------- - - TRequestStatus status; - RPhone::TCaps caps; - iPhone.NotifyCapsChange(status, caps); - - // open fax line - TInt err = line.Open(iPhone, KMmTsyFaxLineName); - ASSERT_EQUALS(KErrNone, err); - // open voice line - err = line2.Open(iPhone, KMmTsyVoice1LineName); - ASSERT_EQUALS(KErrNone, err); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - // fax line availability does not have sense for phone capabilities in CTSY - // so request completes after voice line is opened with RPhone::KCapsVoice - ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); - - iPhone.NotifyCapsChange(status, caps); - - // close fax line - line.Close(); - // close voice line - line2.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - AssertMockLtsyStatusL(); - // fax line availability does not have sense for phone capabilities in CTSY - // so request completes after closing voice line - ASSERT_EQUALS(static_cast(0), caps.iFlags); - - CleanupStack::PopAndDestroy(this); - - } - - -/** -@SYMTestCaseID BA-CTSY-PCAP-PCC-0002 -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for cancelling of RPhone::NotifyCapsChange -@SYMTestPriority High -@SYMTestActions Invokes cancelling of RPhone::NotifyCapsChange -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0002L() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - //------------------------------------------------------------------------- - // Test cancelling of RPhone::NotifyCapsChange - //------------------------------------------------------------------------- - - TRequestStatus status; - RPhone::TCaps caps; - iPhone.NotifyCapsChange(status, caps); - - iPhone.NotifyCapsChangeCancel(); - - User::WaitForRequest(status); - ASSERT_EQUALS(KErrCancel, status.Int()); - AssertMockLtsyStatusL(); - - CleanupStack::PopAndDestroy(this); - - } - - -/** -@SYMTestCaseID BA-CTSY-PCAP-PCC-0004 -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for multiple client requests to RPhone::NotifyCapsChange -@SYMTestPriority High -@SYMTestActions Invokes multiple client requests to RPhone::NotifyCapsChange -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0004L() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - // Open second client - RTelServer telServer2; - TInt ret = telServer2.Connect(); - ASSERT_EQUALS(KErrNone, ret); - CleanupClosePushL(telServer2); - - RMobilePhone phone2; - ret = phone2.Open(telServer2,KMmTsyPhoneName); - ASSERT_EQUALS(KErrNone, ret); - CleanupClosePushL(phone2); - - // open voice line - RLine line; - TInt err = line.Open(iPhone, KMmTsyVoice1LineName); - ASSERT_EQUALS(KErrNone, err) - - //------------------------------------------------------------------------- - // Test A: Test multiple clients requesting RPhone::NotifyCapsChange - //------------------------------------------------------------------------- - - // request notifys - TRequestStatus status; - RPhone::TCaps caps; - iPhone.NotifyCapsChange(status, caps); - - TRequestStatus status2; - RPhone::TCaps caps2; - phone2.NotifyCapsChange(status2, caps2); - - // invoke caps change - line.Close(); - - // check results - User::WaitForRequest(status); - ASSERT_EQUALS(KErrNone, status.Int()); - TUint expCaps(0); - ASSERT_EQUALS(expCaps, caps.iFlags); - - User::WaitForRequest(status2); - ASSERT_EQUALS(KErrNone, status2.Int()); - ASSERT_EQUALS(expCaps, caps2.iFlags); - - AssertMockLtsyStatusL(); - - CleanupStack::PopAndDestroy(3, this); // phone2, telServer2, this - - } - - -/** -@SYMTestCaseID BA-CTSY-PCAP-MGMC-0001 -@SYMComponent telephony_ctsy -@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetMultimodeCaps -@SYMTestPriority High -@SYMTestActions Invokes RMobilePhone::GetMultimodeCaps -@SYMTestExpectedResults Pass -@SYMTestType CT -*/ -void CCTsyPhoneCapabilityFU::TestGetMultimodeCaps0001L() - { - - OpenEtelServerL(EUseExtendedError); - CleanupStack::PushL(TCleanupItem(Cleanup,this)); - OpenPhoneL(); - - //------------------------------------------------------------------------- - // TEST: Successful completion request of RMobilePhone::GetMultimodeCaps. - //------------------------------------------------------------------------- - - TUint32 caps; - TInt err = iPhone.GetMultimodeCaps(caps); - ASSERT_EQUALS(KErrNone, err); - // CTSY allways returns KMultimodeCaps - TUint32 expCaps(KMultimodeCaps); - ASSERT_EQUALS(expCaps, caps); - - AssertMockLtsyStatusL(); - CleanupStack::PopAndDestroy(this); - - } +// 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: +// The TEFUnit test suite for PhoneCapability in the Common TSY. +// +// + +/** + @file +*/ + +#include "cctsyphonecapabilityfu.h" +#include +#include +#include +#include +#include +#include "tmockltsydata.h" +#include "MmTsy_conf.h" + +CTestSuite* CCTsyPhoneCapabilityFU::CreateSuiteL(const TDesC& aName) + { + SUB_SUITE; + + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001L); + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001aL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001bL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0001cL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0002L); + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestNotifyCapsChange0004L); + ADD_TEST_STEP_ISO_CPP(CCTsyPhoneCapabilityFU, TestGetMultimodeCaps0001L); + + END_SUITE; + } + + +// +// Actual test cases +// + + +/** +@SYMTestCaseID BA-CTSY-PCAP-PCC-0001 +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange +@SYMTestPriority High +@SYMTestActions Invokes RPhone::NotifyCapsChange +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001L() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + // invoke caps change, invoke completion of not requested NotifyCapsChange + RLine line; + TInt err = line.Open(iPhone, KMmTsyVoice1LineName); + ASSERT_EQUALS(KErrNone, err) + line.Close(); + + RLine line2; + + //------------------------------------------------------------------------- + // TEST C: Successful completion request of + // RPhone::NotifyCapsChange. + //------------------------------------------------------------------------- + + TRequestStatus status; + RPhone::TCaps caps; + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change (open data line) + err = line.Open(iPhone, KMmTsyDataLineName); + ASSERT_EQUALS(KErrNone, err); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast( + RPhone::KCapsData | + RPhone::KCapsEventModemDetection | + RPhone::KCapsStealCommPort), + caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change (open auxilliary voice line) + err = line2.Open(iPhone, KMmTsyVoice2LineName); + ASSERT_EQUALS(KErrNone, err) + + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast( + RPhone::KCapsData | + RPhone::KCapsEventModemDetection | + RPhone::KCapsStealCommPort | + RPhone::KCapsVoice) , + caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + line.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + line2.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(0), caps.iFlags); + + CleanupStack::PopAndDestroy(this); + + } + + +/** +@SYMTestCaseID BA-CTSY-PCAP-PCC-0001a +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange for voice calls +@SYMTestPriority High +@SYMTestActions Invokes RPhone::NotifyCapsChange for voice calls +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001aL() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + RLine line; + + //------------------------------------------------------------------------- + // TEST C: Successful completion request of + // RPhone::NotifyCapsChange. + //------------------------------------------------------------------------- + + TRequestStatus status; + RPhone::TCaps caps; + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + TInt err = line.Open(iPhone, KMmTsyVoice1LineName); + ASSERT_EQUALS(KErrNone, err) + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + line.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(0), caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + // now we open auxilliary voice line + err = line.Open(iPhone, KMmTsyVoice2LineName); + ASSERT_EQUALS(KErrNone, err) + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + line.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(0), caps.iFlags); + + CleanupStack::PopAndDestroy(this); + + } + + +/** +@SYMTestCaseID BA-CTSY-PCAP-PCC-0001b +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange for data calls +@SYMTestPriority High +@SYMTestActions Invokes RPhone::NotifyCapsChange for data calls +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001bL() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + RLine line; + + //------------------------------------------------------------------------- + // TEST C: Successful completion request of + // RPhone::NotifyCapsChange. + //------------------------------------------------------------------------- + + TRequestStatus status; + RPhone::TCaps caps; + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + TInt err = line.Open(iPhone, KMmTsyDataLineName); + ASSERT_EQUALS(KErrNone, err); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast( + RPhone::KCapsData | + RPhone::KCapsEventModemDetection | + RPhone::KCapsStealCommPort), + caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // invoke caps change + line.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + ASSERT_EQUALS(static_cast(0), caps.iFlags); + + CleanupStack::PopAndDestroy(this); + + } + + +/** +@SYMTestCaseID BA-CTSY-PCAP-PCC-0001c +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for RPhone::NotifyCapsChange for fax calls +@SYMTestPriority High +@SYMTestActions Invokes RPhone::NotifyCapsChange for fax calls +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0001cL() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + RLine line; + RLine line2; + + //------------------------------------------------------------------------- + // TEST C: Successful completion request of + // RPhone::NotifyCapsChange. + //------------------------------------------------------------------------- + + TRequestStatus status; + RPhone::TCaps caps; + iPhone.NotifyCapsChange(status, caps); + + // open fax line + TInt err = line.Open(iPhone, KMmTsyFaxLineName); + ASSERT_EQUALS(KErrNone, err); + // open voice line + err = line2.Open(iPhone, KMmTsyVoice1LineName); + ASSERT_EQUALS(KErrNone, err); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + // fax line availability does not have sense for phone capabilities in CTSY + // so request completes after voice line is opened with RPhone::KCapsVoice + ASSERT_EQUALS(static_cast(RPhone::KCapsVoice), caps.iFlags); + + iPhone.NotifyCapsChange(status, caps); + + // close fax line + line.Close(); + // close voice line + line2.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + AssertMockLtsyStatusL(); + // fax line availability does not have sense for phone capabilities in CTSY + // so request completes after closing voice line + ASSERT_EQUALS(static_cast(0), caps.iFlags); + + CleanupStack::PopAndDestroy(this); + + } + + +/** +@SYMTestCaseID BA-CTSY-PCAP-PCC-0002 +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for cancelling of RPhone::NotifyCapsChange +@SYMTestPriority High +@SYMTestActions Invokes cancelling of RPhone::NotifyCapsChange +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0002L() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + //------------------------------------------------------------------------- + // Test cancelling of RPhone::NotifyCapsChange + //------------------------------------------------------------------------- + + TRequestStatus status; + RPhone::TCaps caps; + iPhone.NotifyCapsChange(status, caps); + + iPhone.NotifyCapsChangeCancel(); + + User::WaitForRequest(status); + ASSERT_EQUALS(KErrCancel, status.Int()); + AssertMockLtsyStatusL(); + + CleanupStack::PopAndDestroy(this); + + } + + +/** +@SYMTestCaseID BA-CTSY-PCAP-PCC-0004 +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for multiple client requests to RPhone::NotifyCapsChange +@SYMTestPriority High +@SYMTestActions Invokes multiple client requests to RPhone::NotifyCapsChange +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestNotifyCapsChange0004L() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + // Open second client + RTelServer telServer2; + TInt ret = telServer2.Connect(); + ASSERT_EQUALS(KErrNone, ret); + CleanupClosePushL(telServer2); + + RMobilePhone phone2; + ret = phone2.Open(telServer2,KMmTsyPhoneName); + ASSERT_EQUALS(KErrNone, ret); + CleanupClosePushL(phone2); + + // open voice line + RLine line; + TInt err = line.Open(iPhone, KMmTsyVoice1LineName); + ASSERT_EQUALS(KErrNone, err) + + //------------------------------------------------------------------------- + // Test A: Test multiple clients requesting RPhone::NotifyCapsChange + //------------------------------------------------------------------------- + + // request notifys + TRequestStatus status; + RPhone::TCaps caps; + iPhone.NotifyCapsChange(status, caps); + + TRequestStatus status2; + RPhone::TCaps caps2; + phone2.NotifyCapsChange(status2, caps2); + + // invoke caps change + line.Close(); + + // check results + User::WaitForRequest(status); + ASSERT_EQUALS(KErrNone, status.Int()); + TUint expCaps(0); + ASSERT_EQUALS(expCaps, caps.iFlags); + + User::WaitForRequest(status2); + ASSERT_EQUALS(KErrNone, status2.Int()); + ASSERT_EQUALS(expCaps, caps2.iFlags); + + AssertMockLtsyStatusL(); + + CleanupStack::PopAndDestroy(3, this); // phone2, telServer2, this + + } + + +/** +@SYMTestCaseID BA-CTSY-PCAP-MGMC-0001 +@SYMComponent telephony_ctsy +@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetMultimodeCaps +@SYMTestPriority High +@SYMTestActions Invokes RMobilePhone::GetMultimodeCaps +@SYMTestExpectedResults Pass +@SYMTestType CT +*/ +void CCTsyPhoneCapabilityFU::TestGetMultimodeCaps0001L() + { + + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + //------------------------------------------------------------------------- + // TEST: Successful completion request of RMobilePhone::GetMultimodeCaps. + //------------------------------------------------------------------------- + + TUint32 caps; + TInt err = iPhone.GetMultimodeCaps(caps); + ASSERT_EQUALS(KErrNone, err); + // CTSY allways returns KMultimodeCaps + TUint32 expCaps(KMultimodeCaps); + ASSERT_EQUALS(expCaps, caps); + + AssertMockLtsyStatusL(); + CleanupStack::PopAndDestroy(this); + + }