36 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort0007L); |
36 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort0007L); |
37 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort0008L); |
37 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort0008L); |
38 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort00011L); |
38 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort00011L); |
39 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0001L); |
39 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0001L); |
40 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0006L); |
40 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0006L); |
|
41 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0007L); |
41 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort00011L); |
42 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort00011L); |
42 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0001L); |
43 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0001L); |
43 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0006L); |
44 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0006L); |
44 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0007L); |
45 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0007L); |
45 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0009L); |
46 ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0009L); |
719 err = call2.OpenExistingCall(line2, callName); |
720 err = call2.OpenExistingCall(line2, callName); |
720 ASSERT_EQUALS(KErrNone, err) |
721 ASSERT_EQUALS(KErrNone, err) |
721 CleanupClosePushL(call2); |
722 CleanupClosePushL(call2); |
722 |
723 |
723 // test |
724 // test |
724 err = call.RecoverDataPort(); |
725 err = call2.RecoverDataPort(); |
725 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 330203); |
726 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 330203); |
726 // Request passes to MockLTSY as though the client owns the call. |
727 // Request passes to MockLTSY as though the client owns the call. |
727 // So MockLtsy returns KErrCorrupt because there is no expected IPC. |
728 // So MockLtsy returns KErrCorrupt because there is no expected IPC. |
728 ASSERT_EQUALS(KErrEtelNotCallOwner, err) |
729 ASSERT_EQUALS(KErrEtelNotCallOwner, err) |
729 AssertMockLtsyStatusL(); |
730 AssertMockLtsyStatusL(); |
|
731 |
|
732 iMockLTSY.ExpectL(EEtelCallRecoverDataPort, data); |
|
733 err = call.RecoverDataPort(); |
|
734 ASSERT_EQUALS(KErrNone, err) |
730 |
735 |
731 CleanupStack::PopAndDestroy(8, this); // call2, line2, phone2, telServer2, call, line, data, this |
736 CleanupStack::PopAndDestroy(8, this); // call2, line2, phone2, telServer2, call, line, data, this |
732 |
737 |
733 } |
738 } |
|
739 |
|
740 |
|
741 /** |
|
742 @SYMTestCaseID BA-CTSY-COWN-CRDP-0007 |
|
743 @SYMComponent telephony_ctsy |
|
744 @SYMTestCaseDesc Test support in CTSY for RCall::RecoverDataPort for data call when the call become idle |
|
745 @SYMTestPriority High |
|
746 @SYMTestActions Invokes RCall::RecoverDataPort for data calls |
|
747 @SYMTestExpectedResults Pass |
|
748 @SYMTestType CT |
|
749 */ |
|
750 void CCTsyCallOwnershipFU::TestRecoverDataPort0007L() |
|
751 { |
|
752 |
|
753 OpenEtelServerL(EUseExtendedError); |
|
754 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
755 OpenPhoneL(); |
|
756 |
|
757 RBuf8 data; |
|
758 CleanupClosePushL(data); |
|
759 |
|
760 RCall call; |
|
761 RLine line; |
|
762 |
|
763 TInt err = line.Open(iPhone, KMmTsyDataLineName); |
|
764 ASSERT_EQUALS(KErrNone, err) |
|
765 CleanupClosePushL(line); |
|
766 |
|
767 TName callName; |
|
768 err = OpenNewCall(line, call, KMmTsyDataLineName, callName); |
|
769 ASSERT_EQUALS(KErrNone, err) |
|
770 CleanupClosePushL(call); |
|
771 |
|
772 const TInt KCallId( 1 ); |
|
773 const RMobilePhone::TMobileService KMobileService( RMobilePhone::ECircuitDataService ); |
|
774 DialL(call, KCallId, KMobileService); |
|
775 |
|
776 TRequestStatus mockLtsyStatus; |
|
777 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
778 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
779 RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusConnected; |
|
780 TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData2(KCallId, |
|
781 mobileService, mobileCallStatus); |
|
782 data.Close(); |
|
783 mockData2.SerialiseL(data); |
|
784 iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, data); |
|
785 User::WaitForRequest(mockLtsyStatus); |
|
786 |
|
787 RCall::TCommPort dataPort; |
|
788 dataPort.iCsy.Copy(_L("qwerty")); |
|
789 dataPort.iPort.Copy(_L("asdfgh")); |
|
790 TMockLtsyCallData1<RCall::TCommPort> expData(KCallId, KMobileService, dataPort); |
|
791 expData.SerialiseL(data); |
|
792 iMockLTSY.ExpectL(EEtelCallLoanDataPort, data); |
|
793 err = call.LoanDataPort(dataPort); |
|
794 ASSERT_EQUALS(KErrNone, err) |
|
795 AssertMockLtsyStatusL(); |
|
796 |
|
797 //------------------------------------------------------------------------- |
|
798 // Make the call idle |
|
799 //------------------------------------------------------------------------- |
|
800 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
801 |
|
802 |
|
803 TInt hangUpCause = KErrGsmReleaseByUser; |
|
804 TBool autoStChangeDisable = EFalse; |
|
805 TMockLtsyCallData2<TInt, TBool> mockData1(KCallId, mobileService, hangUpCause, |
|
806 autoStChangeDisable); |
|
807 data.Close(); |
|
808 mockData1.SerialiseL(data); |
|
809 iMockLTSY.ExpectL(EEtelCallHangUp, data, KErrNone); |
|
810 |
|
811 TRequestStatus reqStatus; |
|
812 call.HangUp(reqStatus); |
|
813 |
|
814 mobileCallStatus = RMobileCall::EStatusIdle; |
|
815 TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData3(KCallId, |
|
816 mobileService, mobileCallStatus); |
|
817 data.Close(); |
|
818 mockData3.SerialiseL(data); |
|
819 iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, data); |
|
820 |
|
821 data.Close(); |
|
822 expData.SerialiseL(data); |
|
823 |
|
824 // Expect to RecoverDataPort from CTSY |
|
825 iMockLTSY.ExpectL(EEtelCallRecoverDataPort, data); |
|
826 |
|
827 User::WaitForRequest(reqStatus); |
|
828 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
829 User::WaitForRequest(mockLtsyStatus); |
|
830 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
831 |
|
832 AssertMockLtsyStatusL(); |
|
833 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
834 |
|
835 } |
734 |
836 |
735 |
837 |
736 /** |
838 /** |
737 @SYMTestCaseID BA-CTSY-COWN-CRDP-00011 |
839 @SYMTestCaseID BA-CTSY-COWN-CRDP-00011 |
738 @SYMComponent telephony_ctsy |
840 @SYMComponent telephony_ctsy |