|
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // The TEFUnit test suite for DataCallControl in the Common TSY. |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 */ |
|
21 |
|
22 #include "cctsydatacallcontrolfu.h" |
|
23 #include <etel.h> |
|
24 #include <etelmm.h> |
|
25 #include <et_clsvr.h> |
|
26 #include <ctsy/mmtsy_names.h> |
|
27 #include <ctsy/serviceapi/mmtsy_ipcdefs.h> |
|
28 #include "tmockltsydata.h" |
|
29 #include <ctsy/serviceapi/gsmerror.h> |
|
30 #include "MmTsy_Csd_Defs.h" |
|
31 #include <featmgr/featurecontrol.h> |
|
32 #include <featureuids.h> |
|
33 |
|
34 CTestSuite* CCTsyDataCallControlFU::CreateSuiteL(const TDesC& aName) |
|
35 { |
|
36 SUB_SUITE; |
|
37 |
|
38 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetBearerServiceInfo0001L); |
|
39 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetBearerServiceInfo0006L); |
|
40 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetBearerServiceInfo0011L); |
|
41 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0001L); |
|
42 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0006L); |
|
43 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0007L); |
|
44 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0008L); |
|
45 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0009L); |
|
46 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0011L); |
|
47 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0012L); |
|
48 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0013L); |
|
49 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestConnect0014L); |
|
50 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetCurrentHscsdInfo0001L); |
|
51 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetCurrentHscsdInfo0006L); |
|
52 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetCurrentHscsdInfo0008L); |
|
53 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetCurrentHscsdInfo0011L); |
|
54 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyVoiceFallback0001L); |
|
55 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyVoiceFallback0006L); |
|
56 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyVoiceFallback00011L); |
|
57 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallCaps0001L); |
|
58 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallCaps0006L); |
|
59 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallCaps0008L); |
|
60 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallCaps00011L); |
|
61 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyHscsdInfoChange0001L); |
|
62 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyHscsdInfoChange0006L); |
|
63 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyHscsdInfoChange0007L); |
|
64 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyHscsdInfoChange0008L); |
|
65 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyHscsdInfoChange0009L); |
|
66 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyHscsdInfoChange00011L); |
|
67 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestSetDynamicHscsdParams0001L); |
|
68 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestSetDynamicHscsdParams0006L); |
|
69 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestSetDynamicHscsdParams0007L); |
|
70 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestSetDynamicHscsdParams0009L); |
|
71 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestSetDynamicHscsdParams00010L); |
|
72 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestSetDynamicHscsdParams00011L); |
|
73 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallRLPRange0001L); |
|
74 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallRLPRange0006L); |
|
75 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestGetMobileDataCallRLPRange00011L); |
|
76 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyMobileDataCallCapsChange0001L); |
|
77 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyMobileDataCallCapsChange0006L); |
|
78 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyMobileDataCallCapsChange0007L); |
|
79 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyMobileDataCallCapsChange0008L); |
|
80 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyMobileDataCallCapsChange0009L); |
|
81 ADD_TEST_STEP_ISO_CPP(CCTsyDataCallControlFU, TestNotifyMobileDataCallCapsChange00011L); |
|
82 |
|
83 END_SUITE; |
|
84 } |
|
85 |
|
86 |
|
87 // |
|
88 // Actual test cases |
|
89 // |
|
90 |
|
91 |
|
92 /** |
|
93 @SYMTestCaseID BA-CTSY-DATC-CGBSI-0001 |
|
94 @SYMComponent telephony_ctsy |
|
95 @SYMTestCaseDesc Test support in CTSY for RCall::GetBearerServiceInfo for voice calls |
|
96 @SYMTestPriority High |
|
97 @SYMTestActions Invokes RCall::GetBearerServiceInfo for voice calls |
|
98 @SYMTestExpectedResults Pass |
|
99 @SYMTestType CT |
|
100 */ |
|
101 void CCTsyDataCallControlFU::TestGetBearerServiceInfo0001L() |
|
102 { |
|
103 |
|
104 OpenEtelServerL(EUseExtendedError); |
|
105 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
106 OpenPhoneL(); |
|
107 |
|
108 //------------------------------------------------------------------------- |
|
109 // TEST: failure to dispatch request to CTSY |
|
110 // because RCall::GetBearerServiceInfo is not supported for voice calls |
|
111 //------------------------------------------------------------------------- |
|
112 |
|
113 RCall call; |
|
114 RLine line; |
|
115 OpenLineLC(line, KMmTsyVoice1LineName); |
|
116 OpenNewCallLC(line, call); |
|
117 DialL(call, 1, RMobilePhone::EVoiceService); |
|
118 RCall::TBearerService bearerService; |
|
119 TInt res = call.GetBearerServiceInfo(bearerService); |
|
120 ASSERT_EQUALS(KErrNotSupported, res) |
|
121 AssertMockLtsyStatusL(); |
|
122 |
|
123 // same test for voice call from auxiliary voice line |
|
124 RCall call2; |
|
125 RLine line2; |
|
126 OpenLineLC(line2, KMmTsyVoice2LineName); |
|
127 OpenNewCallLC(line2, call2); |
|
128 DialL(call2, 2, RMobilePhone::EAuxVoiceService); |
|
129 res = call2.GetBearerServiceInfo(bearerService); |
|
130 ASSERT_EQUALS(KErrNotSupported, res) |
|
131 AssertMockLtsyStatusL(); |
|
132 |
|
133 CleanupStack::PopAndDestroy(5, this); // call2, line2, call, line, this |
|
134 |
|
135 } |
|
136 |
|
137 /** |
|
138 @SYMTestCaseID BA-CTSY-DATC-CGBSI-0006 |
|
139 @SYMComponent telephony_ctsy |
|
140 @SYMTestCaseDesc Test support in CTSY for RCall::GetBearerServiceInfo for data calls |
|
141 @SYMTestPriority High |
|
142 @SYMTestActions Invokes RCall::GetBearerServiceInfo for data calls |
|
143 @SYMTestExpectedResults Pass |
|
144 @SYMTestType CT |
|
145 */ |
|
146 void CCTsyDataCallControlFU::TestGetBearerServiceInfo0006L() |
|
147 { |
|
148 |
|
149 OpenEtelServerL(EUseExtendedError); |
|
150 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
151 OpenPhoneL(); |
|
152 |
|
153 RBuf8 data; |
|
154 CleanupClosePushL(data); |
|
155 |
|
156 RLine line; |
|
157 RCall call; |
|
158 OpenLineLC(line, KMmTsyDataLineName); |
|
159 OpenNewCallLC(line, call); |
|
160 |
|
161 //------------------------------------------------------------------------- |
|
162 // TEST: failure to dispatch request to CTSY |
|
163 // when call is not active |
|
164 //------------------------------------------------------------------------- |
|
165 |
|
166 RCall::TBearerService bearerService; |
|
167 TInt res = call.GetBearerServiceInfo(bearerService); |
|
168 ASSERT_EQUALS(KErrNotFound, res); |
|
169 AssertMockLtsyStatusL(); |
|
170 |
|
171 //------------------------------------------------------------------------- |
|
172 // TEST C: Successful completion request of |
|
173 // RCall::GetBearerServiceInfo. |
|
174 //------------------------------------------------------------------------- |
|
175 |
|
176 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
177 ChangeCallStatusL(1, RMobilePhone::ECircuitDataService, RMobileCall::EStatusConnected); |
|
178 |
|
179 res = call.GetBearerServiceInfo(bearerService); |
|
180 ASSERT_EQUALS(KErrNone, res) |
|
181 ASSERT_EQUALS((TUint32) (RCall::KBearerCapsCompressionNone | RCall::KBearerCapsProtocolUnknown), bearerService.iBearerCaps) |
|
182 ASSERT_EQUALS(RCall::EBearerDataUnknown, bearerService.iBearerSpeed) |
|
183 AssertMockLtsyStatusL(); |
|
184 |
|
185 // change data in CTSY |
|
186 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
187 RCall::TBearerService changeBearerService; |
|
188 changeBearerService.iBearerCaps = RCall::KBearerCapsProtocolALT_CELLULAR; |
|
189 changeBearerService.iBearerSpeed = RCall::EBearerData57600; |
|
190 |
|
191 TMockLtsyCallData1<RCall::TBearerService> mockBearerData(1, mobileService, changeBearerService); |
|
192 data.Close(); |
|
193 mockBearerData.SerialiseL(data); |
|
194 |
|
195 TRequestStatus mockLtsyStatus; |
|
196 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
197 iMockLTSY.CompleteL(EEtelCallGetBearerServiceInfo, KErrNone, data); |
|
198 User::WaitForRequest(mockLtsyStatus); |
|
199 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
200 |
|
201 // test again |
|
202 res = call.GetBearerServiceInfo(bearerService); |
|
203 ASSERT_EQUALS(KErrNone, res); |
|
204 ASSERT_EQUALS((TUint32) (RCall::KBearerCapsProtocolALT_CELLULAR), bearerService.iBearerCaps) |
|
205 ASSERT_EQUALS(RCall::EBearerData57600, bearerService.iBearerSpeed) |
|
206 AssertMockLtsyStatusL(); |
|
207 |
|
208 ChangeCallStatusL(1, RMobilePhone::ECircuitDataService, RMobileCall::EStatusIdle, KErrGsmReleaseByUser); |
|
209 |
|
210 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
211 |
|
212 } |
|
213 |
|
214 |
|
215 /** |
|
216 @SYMTestCaseID BA-CTSY-DATC-CGBSI-0011 |
|
217 @SYMComponent telephony_ctsy |
|
218 @SYMTestCaseDesc Test support in CTSY for RCall::GetBearerServiceInfo for fax calls |
|
219 @SYMTestPriority High |
|
220 @SYMTestActions Invokes RCall::GetBearerServiceInfo for fax calls |
|
221 @SYMTestExpectedResults Pass |
|
222 @SYMTestType CT |
|
223 */ |
|
224 void CCTsyDataCallControlFU::TestGetBearerServiceInfo0011L() |
|
225 { |
|
226 |
|
227 OpenEtelServerL(EUseExtendedError); |
|
228 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
229 OpenPhoneL(); |
|
230 |
|
231 RBuf8 data; |
|
232 CleanupClosePushL(data); |
|
233 |
|
234 RBuf8 expectData; |
|
235 CleanupClosePushL(expectData); |
|
236 |
|
237 RBuf8 completeData; |
|
238 CleanupClosePushL(completeData); |
|
239 |
|
240 RLine line; |
|
241 RCall call; |
|
242 OpenLineLC(line, KMmTsyFaxLineName); |
|
243 OpenNewCallLC(line, call); |
|
244 |
|
245 RCall::TBearerService bearerService; |
|
246 TInt res = call.GetBearerServiceInfo(bearerService); |
|
247 ASSERT_EQUALS(KErrNotFound, res); |
|
248 AssertMockLtsyStatusL(); |
|
249 |
|
250 CleanupStack::PopAndDestroy(&call); |
|
251 |
|
252 TName name; |
|
253 RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService; |
|
254 CreateIncomingCallL(line, 1, KNullDesC, name, mobileService, RMobileCall::EStatusConnected); |
|
255 res = call.OpenExistingCall(line, name); |
|
256 ASSERT_EQUALS(KErrNone, res); |
|
257 CleanupClosePushL(call); |
|
258 |
|
259 //------------------------------------------------------------------------- |
|
260 // TEST C: Successful completion request of |
|
261 // RCall::GetBearerServiceInfo. |
|
262 //------------------------------------------------------------------------- |
|
263 |
|
264 res = call.GetBearerServiceInfo(bearerService); |
|
265 ASSERT_EQUALS(KErrNone, res) |
|
266 ASSERT_EQUALS((TUint32) (RCall::KBearerCapsCompressionNone | RCall::KBearerCapsProtocolUnknown), bearerService.iBearerCaps) |
|
267 ASSERT_EQUALS(RCall::EBearerDataUnknown, bearerService.iBearerSpeed) |
|
268 AssertMockLtsyStatusL(); |
|
269 |
|
270 // change data in CTSY |
|
271 RCall::TBearerService changeBearerService; |
|
272 changeBearerService.iBearerCaps = RCall::KBearerCapsProtocolALT_CELLULAR; |
|
273 changeBearerService.iBearerSpeed = RCall::EBearerData57600; |
|
274 |
|
275 TMockLtsyCallData1<RCall::TBearerService> mockBearerData(1, mobileService, changeBearerService); |
|
276 data.Close(); |
|
277 mockBearerData.SerialiseL(data); |
|
278 |
|
279 TRequestStatus mockLtsyStatus; |
|
280 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
281 iMockLTSY.CompleteL(EEtelCallGetBearerServiceInfo, KErrNone, data); |
|
282 User::WaitForRequest(mockLtsyStatus); |
|
283 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
284 AssertMockLtsyStatusL(); |
|
285 |
|
286 // test again |
|
287 res = call.GetBearerServiceInfo(bearerService); |
|
288 ASSERT_EQUALS(KErrNone, res); |
|
289 ASSERT_EQUALS((TUint32) (RCall::KBearerCapsProtocolALT_CELLULAR), bearerService.iBearerCaps) |
|
290 ASSERT_EQUALS(RCall::EBearerData57600, bearerService.iBearerSpeed) |
|
291 AssertMockLtsyStatusL(); |
|
292 |
|
293 // Fax call is not in idle state while closing the call object. |
|
294 // Therefore CTSY sends HangUp request to LTSY. |
|
295 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
296 TInt hangUpCause = KErrGsmReleaseByUser; |
|
297 TBool autoStChangeDisable = EFalse; |
|
298 TMockLtsyCallData2<TInt, TBool> mockData2(1, RMobilePhone::EFaxService, hangUpCause, autoStChangeDisable); |
|
299 mockData2.SerialiseL(expectData); |
|
300 iMockLTSY.ExpectL(EEtelCallHangUp, expectData); |
|
301 |
|
302 TMockLtsyCallData0 mockData0(1, RMobilePhone::EFaxService); |
|
303 mockData0.SerialiseL(completeData); |
|
304 iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData); |
|
305 |
|
306 call.Close(); |
|
307 User::WaitForRequest(mockLtsyStatus); |
|
308 CleanupStack::Pop(&call); |
|
309 |
|
310 AssertMockLtsyStatusL(); |
|
311 |
|
312 //------------------------------------------------------------------------- |
|
313 // TEST: failure to dispatch request to CTSY |
|
314 // when call is not active |
|
315 //------------------------------------------------------------------------- |
|
316 |
|
317 OpenNewCallLC(line, call); |
|
318 |
|
319 res = call.GetBearerServiceInfo(bearerService); |
|
320 ASSERT_EQUALS(KErrNotFound, res); |
|
321 AssertMockLtsyStatusL(); |
|
322 |
|
323 CleanupStack::PopAndDestroy(6, this); // data, expectData, completeData, call, line, this |
|
324 |
|
325 } |
|
326 |
|
327 |
|
328 |
|
329 /** |
|
330 @SYMTestCaseID BA-CTSY-DATC-CC-0001 |
|
331 @SYMComponent telephony_ctsy |
|
332 @SYMTestCaseDesc Test support in CTSY for RCall::Connect for voice calls |
|
333 @SYMTestPriority High |
|
334 @SYMTestActions Invokes RCall::Connect for voice calls |
|
335 @SYMTestExpectedResults Pass |
|
336 @SYMTestType CT |
|
337 */ |
|
338 void CCTsyDataCallControlFU::TestConnect0001L() |
|
339 { |
|
340 |
|
341 OpenEtelServerL(EUseExtendedError); |
|
342 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
343 OpenPhoneL(); |
|
344 |
|
345 RLine line; |
|
346 RCall call; |
|
347 OpenLineLC(line, KMmTsyVoice1LineName); |
|
348 OpenNewCallLC(line, call); |
|
349 |
|
350 //------------------------------------------------------------------------- |
|
351 // TEST: failure to dispatch request to CTSY |
|
352 // because RCall::Connect is not supported for voice calls |
|
353 //------------------------------------------------------------------------- |
|
354 |
|
355 // synchronous version |
|
356 TInt res = call.Connect(); |
|
357 ASSERT_EQUALS(KErrNotSupported, res) |
|
358 |
|
359 // synchronous version with parameters |
|
360 RCall::TCallParams callParams; |
|
361 RCall::TCallParamsPckg callParamsPckg(callParams); |
|
362 res = call.Connect(callParamsPckg); |
|
363 ASSERT_EQUALS(KErrNotSupported, res) |
|
364 |
|
365 // asynchronous version |
|
366 TRequestStatus reqStatus; |
|
367 call.Connect(reqStatus); |
|
368 User::WaitForRequest(reqStatus); |
|
369 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
370 |
|
371 // asynchronous version with parameters |
|
372 call.Connect(reqStatus, callParamsPckg); |
|
373 User::WaitForRequest(reqStatus); |
|
374 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
375 |
|
376 CleanupStack::PopAndDestroy(2); // call, line |
|
377 |
|
378 // same test for voice call from auxiliary voice line |
|
379 OpenLineLC(line, KMmTsyVoice2LineName); |
|
380 OpenNewCallLC(line, call); |
|
381 |
|
382 // synchronous version |
|
383 res = call.Connect(); |
|
384 ASSERT_EQUALS(KErrNotSupported, res) |
|
385 |
|
386 // synchronous version with parameters |
|
387 res = call.Connect(callParamsPckg); |
|
388 ASSERT_EQUALS(KErrNotSupported, res) |
|
389 |
|
390 // asynchronous version |
|
391 call.Connect(reqStatus); |
|
392 User::WaitForRequest(reqStatus); |
|
393 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
394 |
|
395 // asynchronous version with parameters |
|
396 call.Connect(reqStatus, callParamsPckg); |
|
397 User::WaitForRequest(reqStatus); |
|
398 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
399 |
|
400 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
401 |
|
402 } |
|
403 |
|
404 |
|
405 /** |
|
406 @SYMTestCaseID BA-CTSY-DATC-CC-0006 |
|
407 @SYMComponent telephony_ctsy |
|
408 @SYMTestCaseDesc Test support in CTSY for RCall::Connect for data calls |
|
409 @SYMTestPriority High |
|
410 @SYMTestActions Invokes RCall::Connect for data calls |
|
411 @SYMTestExpectedResults Pass |
|
412 @SYMTestType CT |
|
413 */ |
|
414 void CCTsyDataCallControlFU::TestConnect0006L() |
|
415 { |
|
416 |
|
417 OpenEtelServerL(EUseExtendedError); |
|
418 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
419 OpenPhoneL(); |
|
420 |
|
421 RLine line; |
|
422 RCall call; |
|
423 OpenLineLC(line, KMmTsyDataLineName); |
|
424 OpenNewCallLC(line, call); |
|
425 |
|
426 //------------------------------------------------------------------------- |
|
427 // TEST C: Successful completion request of |
|
428 // RCall::Connect. |
|
429 //------------------------------------------------------------------------- |
|
430 |
|
431 TRequestStatus reqStatus; |
|
432 |
|
433 // synchronous version with no parameters |
|
434 TInt res = call.Connect(); |
|
435 ASSERT_EQUALS(KErrNone, res) |
|
436 |
|
437 // synchronous version with RCall::TCallParams parameter |
|
438 RCall::TCallParams callParams; |
|
439 callParams.iSpeakerControl = RMobileCall::EMonitorSpeakerControlAlwaysOff; |
|
440 callParams.iSpeakerVolume = RMobileCall::EMonitorSpeakerVolumeOff; |
|
441 callParams.iInterval = 0; |
|
442 callParams.iWaitForDialTone = RMobileCall::EDialToneNoWait; |
|
443 RCall::TCallParamsPckg callParamsPckg(callParams); |
|
444 res = call.Connect(callParamsPckg); |
|
445 ASSERT_EQUALS(KErrNone, res) |
|
446 |
|
447 // synchronous version with RMobileCall::TMobileCallParamsV1Pckg parameter |
|
448 RMobileCall::TMobileCallParamsV1 mobileCallParams; |
|
449 mobileCallParams.iSpeakerControl = RMobileCall::EMonitorSpeakerControlAlwaysOn; |
|
450 mobileCallParams.iSpeakerVolume = RMobileCall::EMonitorSpeakerVolumeMedium; |
|
451 mobileCallParams.iInterval = 0; |
|
452 mobileCallParams.iWaitForDialTone = RMobileCall::EDialToneNoWait; |
|
453 mobileCallParams.iIdRestrict = RMobileCall::EIdRestrictDefault; |
|
454 mobileCallParams.iCug.iExplicitInvoke = EFalse; |
|
455 mobileCallParams.iCug.iCugIndex = -1; |
|
456 mobileCallParams.iCug.iSuppressOA = EFalse; |
|
457 mobileCallParams.iCug.iSuppressPrefCug = EFalse; |
|
458 mobileCallParams.iAutoRedial = EFalse; |
|
459 RMobileCall::TMobileCallParamsV1Pckg mobileCallParamsPckg(mobileCallParams); |
|
460 |
|
461 res = call.Connect(mobileCallParamsPckg); |
|
462 ASSERT_EQUALS(KErrNone, res) |
|
463 |
|
464 // synchronous version with RMobileCall::TMobileDataCallParamsV1Pckg parameter |
|
465 RMobileCall::TMobileDataCallParamsV1 dataCallParams; |
|
466 dataCallParams.iSpeakerControl = RMobileCall::EMonitorSpeakerControlAlwaysOn; |
|
467 dataCallParams.iSpeakerVolume = RMobileCall::EMonitorSpeakerVolumeMedium; |
|
468 dataCallParams.iInterval = 0; |
|
469 dataCallParams.iWaitForDialTone = RMobileCall::EDialToneNoWait; |
|
470 dataCallParams.iIdRestrict = RMobileCall::EIdRestrictDefault; |
|
471 dataCallParams.iCug.iExplicitInvoke = EFalse; |
|
472 dataCallParams.iCug.iCugIndex = -1; |
|
473 dataCallParams.iCug.iSuppressOA = EFalse; |
|
474 dataCallParams.iCug.iSuppressPrefCug = EFalse; |
|
475 dataCallParams.iAutoRedial = EFalse; |
|
476 dataCallParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
477 dataCallParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
478 dataCallParams.iProtocol = RMobileCall::EProtocolV32; |
|
479 dataCallParams.iQoS = RMobileCall::EQoSTransparent; |
|
480 dataCallParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
481 dataCallParams.iModemToMSWindowSize = 100; |
|
482 dataCallParams.iMSToModemWindowSize = 100; |
|
483 dataCallParams.iAckTimer = 100; |
|
484 dataCallParams.iRetransmissionAttempts = 3; |
|
485 dataCallParams.iResequencingPeriod = 100; |
|
486 dataCallParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
487 dataCallParams.iV42bisCodewordsNum = 2; |
|
488 dataCallParams.iV42bisMaxStringLength = 64; |
|
489 dataCallParams.iUseEdge = EFalse; |
|
490 RMobileCall::TMobileDataCallParamsV1Pckg dataCallParamsPckg(dataCallParams); |
|
491 |
|
492 res = call.Connect(dataCallParamsPckg); |
|
493 ASSERT_EQUALS(KErrNone, res) |
|
494 |
|
495 // asynchronous version with RMobileCall::TMobileHscsdCallParamsV1 parameter |
|
496 RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams; |
|
497 RMobileCall::TMobileHscsdCallParamsV1Pckg hscsdCallParamsPckg(hscsdCallParams); |
|
498 |
|
499 hscsdCallParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
500 hscsdCallParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
501 hscsdCallParams.iProtocol = RMobileCall::EProtocolV32; |
|
502 hscsdCallParams.iQoS = RMobileCall::EQoSTransparent; |
|
503 hscsdCallParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
504 hscsdCallParams.iModemToMSWindowSize = 100; |
|
505 hscsdCallParams.iMSToModemWindowSize = 100; |
|
506 hscsdCallParams.iAckTimer = 100; |
|
507 hscsdCallParams.iRetransmissionAttempts = 3; |
|
508 hscsdCallParams.iResequencingPeriod = 100; |
|
509 hscsdCallParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
510 hscsdCallParams.iV42bisCodewordsNum = 2; |
|
511 hscsdCallParams.iV42bisMaxStringLength = 64; |
|
512 hscsdCallParams.iUseEdge = EFalse; |
|
513 hscsdCallParams.iWantedAiur = RMobileCall::EAiurBps19200; |
|
514 hscsdCallParams.iWantedRxTimeSlots = 2; |
|
515 hscsdCallParams.iMaxTimeSlots = 3; |
|
516 hscsdCallParams.iCodings = RMobileCall::KCapsAiurCoding96; |
|
517 hscsdCallParams.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
518 hscsdCallParams.iUserInitUpgrade = ETrue; |
|
519 |
|
520 |
|
521 call.Connect(reqStatus, hscsdCallParamsPckg); |
|
522 User::WaitForRequest(reqStatus); |
|
523 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
524 |
|
525 |
|
526 //------------------------------------------------------------------------- |
|
527 // Test: Test passing RMobileCall::TMobileDataCallParamsV2 to |
|
528 // RCall::Connect |
|
529 //------------------------------------------------------------------------- |
|
530 |
|
531 RMobileCall::TMobileDataCallParamsV2 callParams2; |
|
532 RMobileCall::TMobileDataCallParamsV2Pckg callParamsPckg2(callParams2); |
|
533 |
|
534 callParams2.iService = RMobileCall::EServiceDataCircuitAsync; |
|
535 callParams2.iSpeed = RMobileCall::ESpeedAutobauding; |
|
536 callParams2.iProtocol = RMobileCall::EProtocolV32; |
|
537 callParams2.iQoS = RMobileCall::EQoSTransparent; |
|
538 callParams2.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
539 callParams2.iModemToMSWindowSize = 100; |
|
540 callParams2.iMSToModemWindowSize = 100; |
|
541 callParams2.iAckTimer = 100; |
|
542 callParams2.iRetransmissionAttempts = 3; |
|
543 callParams2.iResequencingPeriod = 100; |
|
544 callParams2.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
545 callParams2.iV42bisCodewordsNum = 2; |
|
546 callParams2.iV42bisMaxStringLength = 64; |
|
547 callParams2.iUseEdge = EFalse; |
|
548 callParams2.iBearerMode = RMobileCall::EMulticallNotSupported; |
|
549 |
|
550 call.Connect(reqStatus, callParamsPckg2); |
|
551 User::WaitForRequest(reqStatus); |
|
552 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
553 |
|
554 //------------------------------------------------------------------------- |
|
555 // Test: Test passing RMobileCall::TMobileDataCallParamsV8 to |
|
556 // RCall::Connect |
|
557 //------------------------------------------------------------------------- |
|
558 |
|
559 RMobileCall::TMobileDataCallParamsV8 callParams8; |
|
560 RMobileCall::TMobileDataCallParamsV8Pckg callParamsPckg8(callParams8); |
|
561 |
|
562 callParams8.iService = RMobileCall::EServiceDataCircuitAsync; |
|
563 callParams8.iSpeed = RMobileCall::ESpeedAutobauding; |
|
564 callParams8.iProtocol = RMobileCall::EProtocolV32; |
|
565 callParams8.iQoS = RMobileCall::EQoSTransparent; |
|
566 callParams8.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
567 callParams8.iModemToMSWindowSize = 100; |
|
568 callParams8.iMSToModemWindowSize = 100; |
|
569 callParams8.iAckTimer = 100; |
|
570 callParams8.iRetransmissionAttempts = 3; |
|
571 callParams8.iResequencingPeriod = 100; |
|
572 callParams8.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
573 callParams8.iV42bisCodewordsNum = 2; |
|
574 callParams8.iV42bisMaxStringLength = 64; |
|
575 callParams8.iUseEdge = EFalse; |
|
576 |
|
577 callParams8.iBearerMode = RMobileCall::EMulticallNotSupported; |
|
578 callParams8.iCallParamOrigin = RMobileCall::EOriginatorUnknown ; |
|
579 callParams8.iSubAddress.Zero() ; |
|
580 callParams8.iBearerCap1.Zero(); |
|
581 callParams8.iBearerCap2.Zero(); |
|
582 callParams8.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode ; |
|
583 callParams8.iAlphaId.Copy(_L("Alpha Id")); |
|
584 |
|
585 call.Connect(reqStatus, callParamsPckg8); |
|
586 User::WaitForRequest(reqStatus); |
|
587 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
588 |
|
589 //------------------------------------------------------------------------- |
|
590 // Test: Test passing RMobileCall::TMobileHscsdCallParamsV2 to |
|
591 // RCall::Connect |
|
592 //------------------------------------------------------------------------- |
|
593 |
|
594 RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2; |
|
595 RMobileCall::TMobileHscsdCallParamsV2Pckg hscsdCallParamsPckg2(hscsdCallParams2); |
|
596 |
|
597 hscsdCallParams2.iService = RMobileCall::EServiceDataCircuitAsync; |
|
598 hscsdCallParams2.iSpeed = RMobileCall::ESpeedAutobauding; |
|
599 hscsdCallParams2.iProtocol = RMobileCall::EProtocolV32; |
|
600 hscsdCallParams2.iQoS = RMobileCall::EQoSTransparent; |
|
601 hscsdCallParams2.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
602 hscsdCallParams2.iModemToMSWindowSize = 100; |
|
603 hscsdCallParams2.iMSToModemWindowSize = 100; |
|
604 hscsdCallParams2.iAckTimer = 100; |
|
605 hscsdCallParams2.iRetransmissionAttempts = 3; |
|
606 hscsdCallParams2.iResequencingPeriod = 100; |
|
607 hscsdCallParams2.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
608 hscsdCallParams2.iV42bisCodewordsNum = 2; |
|
609 hscsdCallParams2.iV42bisMaxStringLength = 64; |
|
610 hscsdCallParams2.iUseEdge = EFalse; |
|
611 hscsdCallParams2.iWantedRxTimeSlots = 3; |
|
612 |
|
613 hscsdCallParams2.iBearerMode = RMobileCall::EMulticallNotSupported; |
|
614 |
|
615 call.Connect(reqStatus, hscsdCallParamsPckg2); |
|
616 User::WaitForRequest(reqStatus); |
|
617 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
618 |
|
619 //------------------------------------------------------------------------- |
|
620 // Test: Test passing RMobileCall::TMobileHscsdCallParamsV7 to |
|
621 // RCall::Connect |
|
622 //------------------------------------------------------------------------- |
|
623 |
|
624 RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7; |
|
625 RMobileCall::TMobileHscsdCallParamsV7Pckg hscsdCallParamsPckg7(hscsdCallParams7); |
|
626 |
|
627 hscsdCallParams7.iService = RMobileCall::EServiceDataCircuitAsync; |
|
628 hscsdCallParams7.iSpeed = RMobileCall::ESpeedAutobauding; |
|
629 hscsdCallParams7.iProtocol = RMobileCall::EProtocolV32; |
|
630 hscsdCallParams7.iQoS = RMobileCall::EQoSTransparent; |
|
631 hscsdCallParams7.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
632 hscsdCallParams7.iModemToMSWindowSize = 100; |
|
633 hscsdCallParams7.iMSToModemWindowSize = 100; |
|
634 hscsdCallParams7.iAckTimer = 100; |
|
635 hscsdCallParams7.iRetransmissionAttempts = 3; |
|
636 hscsdCallParams7.iResequencingPeriod = 100; |
|
637 hscsdCallParams7.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
638 hscsdCallParams7.iV42bisCodewordsNum = 2; |
|
639 hscsdCallParams7.iV42bisMaxStringLength = 64; |
|
640 hscsdCallParams7.iUseEdge = EFalse; |
|
641 hscsdCallParams7.iWantedRxTimeSlots = 3; |
|
642 |
|
643 hscsdCallParams7.iBearerMode = RMobileCall::EMulticallNotSupported; |
|
644 hscsdCallParams7.iCallParamOrigin = RMobileCall::EOriginatorUnknown; |
|
645 hscsdCallParams7.iIconId.iQualifier = RMobileCall::ENoIconId; |
|
646 hscsdCallParams7.iIconId.iIdentifier = 2; |
|
647 hscsdCallParams7.iAlphaId.Zero(); |
|
648 |
|
649 call.Connect(reqStatus, hscsdCallParamsPckg7); |
|
650 User::WaitForRequest(reqStatus); |
|
651 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
652 |
|
653 //------------------------------------------------------------------------- |
|
654 // Test: Test passing RMobileCall::TMobileHscsdCallParamsV8 to |
|
655 // RCall::Connect |
|
656 //------------------------------------------------------------------------- |
|
657 |
|
658 RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8; |
|
659 RMobileCall::TMobileHscsdCallParamsV8Pckg hscsdCallParamsPckg8(hscsdCallParams8); |
|
660 |
|
661 hscsdCallParams8.iService = RMobileCall::EServiceDataCircuitAsync; |
|
662 hscsdCallParams8.iSpeed = RMobileCall::ESpeedAutobauding; |
|
663 hscsdCallParams8.iProtocol = RMobileCall::EProtocolV32; |
|
664 hscsdCallParams8.iQoS = RMobileCall::EQoSTransparent; |
|
665 hscsdCallParams8.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
666 hscsdCallParams8.iModemToMSWindowSize = 100; |
|
667 hscsdCallParams8.iMSToModemWindowSize = 100; |
|
668 hscsdCallParams8.iAckTimer = 100; |
|
669 hscsdCallParams8.iRetransmissionAttempts = 3; |
|
670 hscsdCallParams8.iResequencingPeriod = 100; |
|
671 hscsdCallParams8.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
672 hscsdCallParams8.iV42bisCodewordsNum = 2; |
|
673 hscsdCallParams8.iV42bisMaxStringLength = 64; |
|
674 hscsdCallParams8.iUseEdge = EFalse; |
|
675 hscsdCallParams8.iWantedRxTimeSlots = 3; |
|
676 |
|
677 hscsdCallParams8.iBearerMode = RMobileCall::EMulticallNotSupported; |
|
678 hscsdCallParams8.iCallParamOrigin = RMobileCall::EOriginatorUnknown; |
|
679 hscsdCallParams8.iIconId.iQualifier = RMobileCall::ENoIconId; |
|
680 hscsdCallParams8.iIconId.iIdentifier = 2; |
|
681 hscsdCallParams8.iAlphaId.Zero(); |
|
682 |
|
683 hscsdCallParams8.iSubAddress.Zero(); |
|
684 hscsdCallParams8.iBearerCap1.Zero(); |
|
685 hscsdCallParams8.iBearerCap2.Zero(); |
|
686 hscsdCallParams8.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode ; |
|
687 |
|
688 call.Connect(reqStatus, hscsdCallParamsPckg8); |
|
689 User::WaitForRequest(reqStatus); |
|
690 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
691 |
|
692 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
693 |
|
694 } |
|
695 |
|
696 /** |
|
697 @SYMTestCaseID BA-CTSY-DATC-CC-0007 |
|
698 @SYMComponent telephony_ctsy |
|
699 @SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Connect for data calls |
|
700 @SYMTestPriority High |
|
701 @SYMTestActions Invokes cancelling of RCall::Connect for data calls |
|
702 @SYMTestExpectedResults Pass |
|
703 @SYMTestType CT |
|
704 */ |
|
705 void CCTsyDataCallControlFU::TestConnect0007L() |
|
706 { |
|
707 |
|
708 OpenEtelServerL(EUseExtendedError); |
|
709 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
710 OpenPhoneL(); |
|
711 |
|
712 RLine line; |
|
713 RCall call; |
|
714 OpenLineLC(line, KMmTsyDataLineName); |
|
715 OpenNewCallLC(line, call); |
|
716 |
|
717 //------------------------------------------------------------------------- |
|
718 // Test cancelling of RCall::Connect (Not Supported) |
|
719 //------------------------------------------------------------------------- |
|
720 |
|
721 RMobileCall::TMobileCallParamsV1 mobileCallParams; |
|
722 mobileCallParams.iSpeakerControl = RMobileCall::EMonitorSpeakerControlAlwaysOn; |
|
723 mobileCallParams.iSpeakerVolume = RMobileCall::EMonitorSpeakerVolumeMedium; |
|
724 mobileCallParams.iInterval = 0; |
|
725 mobileCallParams.iWaitForDialTone = RMobileCall::EDialToneNoWait; |
|
726 mobileCallParams.iIdRestrict = RMobileCall::EIdRestrictDefault; |
|
727 mobileCallParams.iCug.iExplicitInvoke = EFalse; |
|
728 mobileCallParams.iCug.iCugIndex = -1; |
|
729 mobileCallParams.iCug.iSuppressOA = EFalse; |
|
730 mobileCallParams.iCug.iSuppressPrefCug = EFalse; |
|
731 mobileCallParams.iAutoRedial = EFalse; |
|
732 RMobileCall::TMobileCallParamsV1Pckg mobileCallParamsPckg(mobileCallParams); |
|
733 |
|
734 TRequestStatus reqStatus; |
|
735 call.Connect(reqStatus, mobileCallParamsPckg); |
|
736 |
|
737 // Cancels connecting of a (data) call. |
|
738 call.ConnectCancel(); |
|
739 |
|
740 User::WaitForRequest(reqStatus); |
|
741 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
742 AssertMockLtsyStatusL(); |
|
743 |
|
744 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
745 |
|
746 } |
|
747 |
|
748 /** |
|
749 @SYMTestCaseID BA-CTSY-DATC-CC-0008 |
|
750 @SYMComponent telephony_ctsy |
|
751 @SYMTestCaseDesc Test support in CTSY for RCall::Connect with bad parameter data for data calls |
|
752 @SYMTestPriority High |
|
753 @SYMTestActions Invokes RCall::Connect with bad parameter data for data calls |
|
754 @SYMTestExpectedResults Pass |
|
755 @SYMTestType CT |
|
756 */ |
|
757 void CCTsyDataCallControlFU::TestConnect0008L() |
|
758 { |
|
759 |
|
760 OpenEtelServerL(EUseExtendedError); |
|
761 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
762 OpenPhoneL(); |
|
763 |
|
764 RLine line; |
|
765 RCall call; |
|
766 OpenLineLC(line, KMmTsyDataLineName); |
|
767 OpenNewCallLC(line, call); |
|
768 |
|
769 //------------------------------------------------------------------------- |
|
770 // Test B: Test passing wrong descriptor size to parameter in |
|
771 // RCall::Connect |
|
772 //------------------------------------------------------------------------- |
|
773 |
|
774 _LIT8(KOneCharDesc,"1"); |
|
775 TBuf8<1> buf(KOneCharDesc); |
|
776 TInt res = call.Connect(buf); |
|
777 // Passing a small buffer to function does cause an error. |
|
778 ASSERT_EQUALS(KErrArgument, res) |
|
779 |
|
780 TRequestStatus reqStatus; |
|
781 call.Connect(reqStatus, buf); |
|
782 User::WaitForRequest(reqStatus); |
|
783 // Passing a small buffer to function does cause an error. |
|
784 ASSERT_EQUALS(KErrArgument, reqStatus.Int()) |
|
785 |
|
786 |
|
787 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
788 |
|
789 } |
|
790 |
|
791 /** |
|
792 @SYMTestCaseID BA-CTSY-DATC-CC-0009 |
|
793 @SYMComponent telephony_ctsy |
|
794 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Connect for data calls |
|
795 @SYMTestPriority High |
|
796 @SYMTestActions Invokes multiple client requests to RCall::Connect for data calls |
|
797 @SYMTestExpectedResults Pass |
|
798 @SYMTestType CT |
|
799 */ |
|
800 void CCTsyDataCallControlFU::TestConnect0009L() |
|
801 { |
|
802 |
|
803 OpenEtelServerL(EUseExtendedError); |
|
804 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
805 OpenPhoneL(); |
|
806 |
|
807 RLine line; |
|
808 RCall call; |
|
809 OpenLineLC(line, KMmTsyDataLineName); |
|
810 OpenNewCallLC(line, call); |
|
811 |
|
812 RLine line2; |
|
813 RCall call2; |
|
814 OpenLineLC(line2, KMmTsyDataLineName); |
|
815 OpenNewCallLC(line2, call2); |
|
816 |
|
817 TRequestStatus reqStatus; |
|
818 TRequestStatus reqStatus2; |
|
819 |
|
820 RMobileCall::TMobileDataCallParamsV1 callParams; |
|
821 callParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
822 callParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
823 callParams.iProtocol = RMobileCall::EProtocolV32; |
|
824 callParams.iQoS = RMobileCall::EQoSTransparent; |
|
825 callParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
826 callParams.iModemToMSWindowSize = 100; |
|
827 callParams.iMSToModemWindowSize = 100; |
|
828 callParams.iAckTimer = 100; |
|
829 callParams.iRetransmissionAttempts = 3; |
|
830 callParams.iResequencingPeriod = 100; |
|
831 callParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
832 callParams.iV42bisCodewordsNum = 2; |
|
833 callParams.iV42bisMaxStringLength = 64; |
|
834 callParams.iUseEdge = EFalse; |
|
835 |
|
836 RMobileCall::TMobileDataCallParamsV1Pckg callParamsPckg(callParams); |
|
837 |
|
838 //------------------------------------------------------------------------- |
|
839 // Test A: Test multiple clients requesting RCall::Connect |
|
840 //------------------------------------------------------------------------- |
|
841 |
|
842 call.Connect(reqStatus, callParamsPckg); |
|
843 call2.Connect(reqStatus2, callParamsPckg); |
|
844 |
|
845 User::WaitForRequest(reqStatus); |
|
846 User::WaitForRequest(reqStatus2); |
|
847 |
|
848 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
849 ASSERT_EQUALS(KErrNone, reqStatus2.Int()) |
|
850 |
|
851 AssertMockLtsyStatusL(); |
|
852 CleanupStack::PopAndDestroy(5, this); // call2, line2, call, line, this |
|
853 |
|
854 } |
|
855 |
|
856 /** |
|
857 @SYMTestCaseID BA-CTSY-DATC-CC-0011 |
|
858 @SYMComponent telephony_ctsy |
|
859 @SYMTestCaseDesc Test support in CTSY for RCall::Connect for fax calls |
|
860 @SYMTestPriority High |
|
861 @SYMTestActions Invokes RCall::Connect for fax calls |
|
862 @SYMTestExpectedResults Pass |
|
863 @SYMTestType CT |
|
864 */ |
|
865 void CCTsyDataCallControlFU::TestConnect0011L() |
|
866 { |
|
867 |
|
868 OpenEtelServerL(EUseExtendedError); |
|
869 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
870 OpenPhoneL(); |
|
871 |
|
872 RLine line; |
|
873 RCall call; |
|
874 OpenLineLC(line, KMmTsyFaxLineName); |
|
875 OpenNewCallLC(line, call); |
|
876 |
|
877 //------------------------------------------------------------------------- |
|
878 // TEST C: Successful completion request of |
|
879 // RCall::Connect. |
|
880 //------------------------------------------------------------------------- |
|
881 |
|
882 // synchronous version |
|
883 TInt res = call.Connect(); |
|
884 |
|
885 // RCall::Connect() without call parameters is not supported by CTSY. |
|
886 // Because of this it is completed with KErrArgument. |
|
887 ASSERT_EQUALS(KErrArgument, res) |
|
888 |
|
889 // asynchronous version |
|
890 TRequestStatus reqStatus; |
|
891 call.Connect(reqStatus); |
|
892 User::WaitForRequest(reqStatus); |
|
893 |
|
894 // RCall::Connect() without call parameters is not supported by CTSY. |
|
895 // Because of this it is completed with KErrArgument. |
|
896 ASSERT_EQUALS(KErrArgument, reqStatus.Int()) |
|
897 |
|
898 // synchronous version with RMobileCall::TMobileDataCallParamsV1Pckg parameter |
|
899 RMobileCall::TMobileDataCallParamsV1 callParams; |
|
900 callParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
901 callParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
902 callParams.iProtocol = RMobileCall::EProtocolV32; |
|
903 callParams.iQoS = RMobileCall::EQoSTransparent; |
|
904 callParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
905 callParams.iModemToMSWindowSize = 100; |
|
906 callParams.iMSToModemWindowSize = 100; |
|
907 callParams.iAckTimer = 100; |
|
908 callParams.iRetransmissionAttempts = 3; |
|
909 callParams.iResequencingPeriod = 100; |
|
910 callParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
911 callParams.iV42bisCodewordsNum = 2; |
|
912 callParams.iV42bisMaxStringLength = 64; |
|
913 callParams.iUseEdge = EFalse; |
|
914 RMobileCall::TMobileDataCallParamsV1Pckg callParamsPckg(callParams); |
|
915 |
|
916 res = call.Connect(callParamsPckg); |
|
917 ASSERT_EQUALS(KErrNone, res) |
|
918 |
|
919 // asynchronous version with RMobileCall::TMobileHscsdCallParamsV1Pckg parameter |
|
920 RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams; |
|
921 hscsdCallParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
922 hscsdCallParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
923 hscsdCallParams.iProtocol = RMobileCall::EProtocolV32; |
|
924 hscsdCallParams.iQoS = RMobileCall::EQoSTransparent; |
|
925 hscsdCallParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
926 hscsdCallParams.iModemToMSWindowSize = 100; |
|
927 hscsdCallParams.iMSToModemWindowSize = 100; |
|
928 hscsdCallParams.iAckTimer = 100; |
|
929 hscsdCallParams.iRetransmissionAttempts = 3; |
|
930 hscsdCallParams.iResequencingPeriod = 100; |
|
931 hscsdCallParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
932 hscsdCallParams.iV42bisCodewordsNum = 2; |
|
933 hscsdCallParams.iV42bisMaxStringLength = 64; |
|
934 hscsdCallParams.iUseEdge = EFalse; |
|
935 hscsdCallParams.iWantedAiur = RMobileCall::EAiurBps19200; |
|
936 hscsdCallParams.iWantedRxTimeSlots = 2; |
|
937 hscsdCallParams.iMaxTimeSlots = 3; |
|
938 hscsdCallParams.iCodings = RMobileCall::KCapsAiurCoding96; |
|
939 hscsdCallParams.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
940 hscsdCallParams.iUserInitUpgrade = ETrue; |
|
941 RMobileCall::TMobileHscsdCallParamsV1Pckg hscsdCallParamsPckg(hscsdCallParams); |
|
942 |
|
943 call.Connect(reqStatus, hscsdCallParamsPckg); |
|
944 User::WaitForRequest(reqStatus); |
|
945 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
946 |
|
947 //------------------------------------------------------------ |
|
948 // TMobileDataCallParamsV2 |
|
949 RMobileCall::TMobileDataCallParamsV2 dataCallParams2; |
|
950 dataCallParams2.iService = RMobileCall::EServiceDataCircuitAsync; |
|
951 dataCallParams2.iSpeed = RMobileCall::ESpeedAutobauding; |
|
952 dataCallParams2.iProtocol = RMobileCall::EProtocolV32; |
|
953 dataCallParams2.iQoS = RMobileCall::EQoSTransparent; |
|
954 dataCallParams2.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
955 dataCallParams2.iModemToMSWindowSize = 100; |
|
956 dataCallParams2.iMSToModemWindowSize = 100; |
|
957 dataCallParams2.iAckTimer = 100; |
|
958 dataCallParams2.iRetransmissionAttempts = 3; |
|
959 dataCallParams2.iResequencingPeriod = 100; |
|
960 dataCallParams2.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
961 dataCallParams2.iV42bisCodewordsNum = 2; |
|
962 dataCallParams2.iV42bisMaxStringLength = 64; |
|
963 dataCallParams2.iUseEdge = EFalse; |
|
964 dataCallParams2.iBearerMode = RMobileCall::EMulticallShareBearer; |
|
965 RMobileCall::TMobileDataCallParamsV2Pckg dataCallParamsPckg2(dataCallParams2); |
|
966 |
|
967 res = call.Connect(dataCallParamsPckg2); |
|
968 ASSERT_EQUALS(KErrNone, res) |
|
969 |
|
970 //------------------------------------------------------------ |
|
971 // TMobileDataCallParamsV8 |
|
972 |
|
973 RMobileCall::TMobileDataCallParamsV8 dataCallParams8; |
|
974 dataCallParams8.iService = RMobileCall::EServiceDataCircuitAsync; |
|
975 dataCallParams8.iSpeed = RMobileCall::ESpeedAutobauding; |
|
976 dataCallParams8.iProtocol = RMobileCall::EProtocolV32; |
|
977 dataCallParams8.iQoS = RMobileCall::EQoSTransparent; |
|
978 dataCallParams8.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
979 dataCallParams8.iModemToMSWindowSize = 100; |
|
980 dataCallParams8.iMSToModemWindowSize = 100; |
|
981 dataCallParams8.iAckTimer = 100; |
|
982 dataCallParams8.iRetransmissionAttempts = 3; |
|
983 dataCallParams8.iResequencingPeriod = 100; |
|
984 dataCallParams8.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
985 dataCallParams8.iV42bisCodewordsNum = 2; |
|
986 dataCallParams8.iV42bisMaxStringLength = 64; |
|
987 dataCallParams8.iUseEdge = EFalse; |
|
988 dataCallParams8.iBearerMode = RMobileCall::EMulticallShareBearer; |
|
989 RMobileCall::TMobileDataCallParamsV8Pckg dataCallParamsPckg8(dataCallParams8); |
|
990 |
|
991 res = call.Connect(dataCallParamsPckg8); |
|
992 ASSERT_EQUALS(KErrNone, res) |
|
993 |
|
994 //------------------------------------------------------------ |
|
995 // TMobileHscsdCallParamsV2 |
|
996 |
|
997 RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2; |
|
998 hscsdCallParams2.iService = RMobileCall::EServiceDataCircuitAsync; |
|
999 hscsdCallParams2.iSpeed = RMobileCall::ESpeedAutobauding; |
|
1000 hscsdCallParams2.iProtocol = RMobileCall::EProtocolV32; |
|
1001 hscsdCallParams2.iQoS = RMobileCall::EQoSTransparent; |
|
1002 hscsdCallParams2.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
1003 hscsdCallParams2.iModemToMSWindowSize = 100; |
|
1004 hscsdCallParams2.iMSToModemWindowSize = 100; |
|
1005 hscsdCallParams2.iAckTimer = 100; |
|
1006 hscsdCallParams2.iRetransmissionAttempts = 3; |
|
1007 hscsdCallParams2.iResequencingPeriod = 100; |
|
1008 hscsdCallParams2.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1009 hscsdCallParams2.iV42bisCodewordsNum = 2; |
|
1010 hscsdCallParams2.iV42bisMaxStringLength = 64; |
|
1011 hscsdCallParams2.iUseEdge = EFalse; |
|
1012 hscsdCallParams2.iWantedAiur = RMobileCall::EAiurBps19200; |
|
1013 hscsdCallParams2.iWantedRxTimeSlots = 2; |
|
1014 hscsdCallParams2.iMaxTimeSlots = 3; |
|
1015 hscsdCallParams2.iCodings = RMobileCall::KCapsAiurCoding96; |
|
1016 hscsdCallParams2.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
1017 hscsdCallParams2.iUserInitUpgrade = ETrue; |
|
1018 RMobileCall::TMobileHscsdCallParamsV2Pckg hscsdCallParamsPckg2(hscsdCallParams2); |
|
1019 |
|
1020 call.Connect(reqStatus, hscsdCallParamsPckg2); |
|
1021 User::WaitForRequest(reqStatus); |
|
1022 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
1023 |
|
1024 //------------------------------------------------------------ |
|
1025 // TMobileHscsdCallParamsV2 |
|
1026 |
|
1027 RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7; |
|
1028 hscsdCallParams7.iService = RMobileCall::EServiceDataCircuitAsync; |
|
1029 hscsdCallParams7.iSpeed = RMobileCall::ESpeedAutobauding; |
|
1030 hscsdCallParams7.iProtocol = RMobileCall::EProtocolV32; |
|
1031 hscsdCallParams7.iQoS = RMobileCall::EQoSTransparent; |
|
1032 hscsdCallParams7.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
1033 hscsdCallParams7.iModemToMSWindowSize = 100; |
|
1034 hscsdCallParams7.iMSToModemWindowSize = 100; |
|
1035 hscsdCallParams7.iAckTimer = 100; |
|
1036 hscsdCallParams7.iRetransmissionAttempts = 3; |
|
1037 hscsdCallParams7.iResequencingPeriod = 100; |
|
1038 hscsdCallParams7.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1039 hscsdCallParams7.iV42bisCodewordsNum = 2; |
|
1040 hscsdCallParams7.iV42bisMaxStringLength = 64; |
|
1041 hscsdCallParams7.iUseEdge = EFalse; |
|
1042 hscsdCallParams7.iWantedAiur = RMobileCall::EAiurBps19200; |
|
1043 hscsdCallParams7.iWantedRxTimeSlots = 2; |
|
1044 hscsdCallParams7.iMaxTimeSlots = 3; |
|
1045 hscsdCallParams7.iCodings = RMobileCall::KCapsAiurCoding96; |
|
1046 hscsdCallParams7.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
1047 hscsdCallParams7.iUserInitUpgrade = ETrue; |
|
1048 RMobileCall::TMobileHscsdCallParamsV7Pckg hscsdCallParamsPckg7(hscsdCallParams7); |
|
1049 |
|
1050 call.Connect(reqStatus, hscsdCallParamsPckg7); |
|
1051 User::WaitForRequest(reqStatus); |
|
1052 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
1053 |
|
1054 //------------------------------------------------------------ |
|
1055 // TMobileHscsdCallParamsV8 |
|
1056 |
|
1057 RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8; |
|
1058 hscsdCallParams8.iService = RMobileCall::EServiceDataCircuitAsync; |
|
1059 hscsdCallParams8.iSpeed = RMobileCall::ESpeedAutobauding; |
|
1060 hscsdCallParams8.iProtocol = RMobileCall::EProtocolV32; |
|
1061 hscsdCallParams8.iQoS = RMobileCall::EQoSTransparent; |
|
1062 hscsdCallParams8.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
1063 hscsdCallParams8.iModemToMSWindowSize = 100; |
|
1064 hscsdCallParams8.iMSToModemWindowSize = 100; |
|
1065 hscsdCallParams8.iAckTimer = 100; |
|
1066 hscsdCallParams8.iRetransmissionAttempts = 3; |
|
1067 hscsdCallParams8.iResequencingPeriod = 100; |
|
1068 hscsdCallParams8.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1069 hscsdCallParams8.iV42bisCodewordsNum = 2; |
|
1070 hscsdCallParams8.iV42bisMaxStringLength = 64; |
|
1071 hscsdCallParams8.iUseEdge = EFalse; |
|
1072 hscsdCallParams8.iWantedAiur = RMobileCall::EAiurBps19200; |
|
1073 hscsdCallParams8.iWantedRxTimeSlots = 2; |
|
1074 hscsdCallParams8.iMaxTimeSlots = 3; |
|
1075 hscsdCallParams8.iCodings = RMobileCall::KCapsAiurCoding96; |
|
1076 hscsdCallParams8.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
1077 hscsdCallParams8.iUserInitUpgrade = ETrue; |
|
1078 RMobileCall::TMobileHscsdCallParamsV8Pckg hscsdCallParamsPckg8(hscsdCallParams8); |
|
1079 |
|
1080 call.Connect(reqStatus, hscsdCallParamsPckg8); |
|
1081 User::WaitForRequest(reqStatus); |
|
1082 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
1083 |
|
1084 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1085 |
|
1086 } |
|
1087 |
|
1088 /** |
|
1089 @SYMTestCaseID BA-CTSY-DATC-CC-0012 |
|
1090 @SYMComponent telephony_ctsy |
|
1091 @SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Connect for fax calls |
|
1092 @SYMTestPriority High |
|
1093 @SYMTestActions Invokes cancelling of RCall::Connect for fax calls |
|
1094 @SYMTestExpectedResults Pass |
|
1095 @SYMTestType CT |
|
1096 */ |
|
1097 void CCTsyDataCallControlFU::TestConnect0012L() |
|
1098 { |
|
1099 |
|
1100 OpenEtelServerL(EUseExtendedError); |
|
1101 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1102 OpenPhoneL(); |
|
1103 |
|
1104 RLine line; |
|
1105 RCall call; |
|
1106 OpenLineLC(line, KMmTsyFaxLineName); |
|
1107 OpenNewCallLC(line, call); |
|
1108 |
|
1109 //------------------------------------------------------------------------- |
|
1110 // Test cancelling of RCall::Connect (Not Supported) |
|
1111 //------------------------------------------------------------------------- |
|
1112 |
|
1113 RMobileCall::TMobileDataCallParamsV1 callParams; |
|
1114 callParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
1115 callParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
1116 callParams.iProtocol = RMobileCall::EProtocolV32; |
|
1117 callParams.iQoS = RMobileCall::EQoSTransparent; |
|
1118 callParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
1119 callParams.iModemToMSWindowSize = 100; |
|
1120 callParams.iMSToModemWindowSize = 100; |
|
1121 callParams.iAckTimer = 100; |
|
1122 callParams.iRetransmissionAttempts = 3; |
|
1123 callParams.iResequencingPeriod = 100; |
|
1124 callParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1125 callParams.iV42bisCodewordsNum = 2; |
|
1126 callParams.iV42bisMaxStringLength = 64; |
|
1127 callParams.iUseEdge = EFalse; |
|
1128 RMobileCall::TMobileDataCallParamsV1Pckg callParamsPckg(callParams); |
|
1129 |
|
1130 TRequestStatus reqStatus; |
|
1131 call.Connect(reqStatus, callParamsPckg); |
|
1132 |
|
1133 // Cancels connecting of a (data) call (Not Supported). |
|
1134 call.ConnectCancel(); |
|
1135 |
|
1136 User::WaitForRequest(reqStatus); |
|
1137 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
1138 |
|
1139 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1140 |
|
1141 } |
|
1142 |
|
1143 /** |
|
1144 @SYMTestCaseID BA-CTSY-DATC-CC-0013 |
|
1145 @SYMComponent telephony_ctsy |
|
1146 @SYMTestCaseDesc Test support in CTSY for RCall::Connect with bad parameter data for fax calls |
|
1147 @SYMTestPriority High |
|
1148 @SYMTestActions Invokes RCall::Connect with bad parameter data for fax calls |
|
1149 @SYMTestExpectedResults Pass |
|
1150 @SYMTestType CT |
|
1151 */ |
|
1152 void CCTsyDataCallControlFU::TestConnect0013L() |
|
1153 { |
|
1154 |
|
1155 OpenEtelServerL(EUseExtendedError); |
|
1156 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1157 OpenPhoneL(); |
|
1158 |
|
1159 RLine line; |
|
1160 RCall call; |
|
1161 OpenLineLC(line, KMmTsyFaxLineName); |
|
1162 OpenNewCallLC(line, call); |
|
1163 |
|
1164 //------------------------------------------------------------------------- |
|
1165 // Test B: Test passing wrong descriptor size to parameter in |
|
1166 // RCall::Connect |
|
1167 //------------------------------------------------------------------------- |
|
1168 |
|
1169 TBuf8<1> buf(KNullDesC8); |
|
1170 TInt res = call.Connect(buf); |
|
1171 // Passing a small buffer to function doesn't cause an error. |
|
1172 ASSERT_EQUALS(KErrArgument, res) |
|
1173 |
|
1174 TRequestStatus reqStatus; |
|
1175 call.Connect(reqStatus, buf); |
|
1176 User::WaitForRequest(reqStatus); |
|
1177 // Passing a small buffer to function doesn't cause an error. |
|
1178 ASSERT_EQUALS(KErrArgument, reqStatus.Int()) |
|
1179 |
|
1180 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1181 |
|
1182 } |
|
1183 |
|
1184 /** |
|
1185 @SYMTestCaseID BA-CTSY-DATC-CC-0014 |
|
1186 @SYMComponent telephony_ctsy |
|
1187 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Connect for fax calls |
|
1188 @SYMTestPriority High |
|
1189 @SYMTestActions Invokes multiple client requests to RCall::Connect for fax calls |
|
1190 @SYMTestExpectedResults Pass |
|
1191 @SYMTestType CT |
|
1192 */ |
|
1193 void CCTsyDataCallControlFU::TestConnect0014L() |
|
1194 { |
|
1195 |
|
1196 OpenEtelServerL(EUseExtendedError); |
|
1197 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1198 OpenPhoneL(); |
|
1199 |
|
1200 RLine line; |
|
1201 RCall call; |
|
1202 OpenLineLC(line, KMmTsyFaxLineName); |
|
1203 OpenNewCallLC(line, call); |
|
1204 |
|
1205 RLine line2; |
|
1206 RCall call2; |
|
1207 OpenLineLC(line2, KMmTsyFaxLineName); |
|
1208 OpenNewCallLC(line2, call2); |
|
1209 |
|
1210 TRequestStatus reqStatus; |
|
1211 TRequestStatus reqStatus2; |
|
1212 |
|
1213 RMobileCall::TMobileDataCallParamsV1 callParams; |
|
1214 callParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
1215 callParams.iSpeed = RMobileCall::ESpeedAutobauding; |
|
1216 callParams.iProtocol = RMobileCall::EProtocolV32; |
|
1217 callParams.iQoS = RMobileCall::EQoSTransparent; |
|
1218 callParams.iRLPVersion = RMobileCall::ERLPNotRequested; |
|
1219 callParams.iModemToMSWindowSize = 100; |
|
1220 callParams.iMSToModemWindowSize = 100; |
|
1221 callParams.iAckTimer = 100; |
|
1222 callParams.iRetransmissionAttempts = 3; |
|
1223 callParams.iResequencingPeriod = 100; |
|
1224 callParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1225 callParams.iV42bisCodewordsNum = 2; |
|
1226 callParams.iV42bisMaxStringLength = 64; |
|
1227 callParams.iUseEdge = EFalse; |
|
1228 RMobileCall::TMobileDataCallParamsV1Pckg callParamsPckg(callParams); |
|
1229 |
|
1230 //------------------------------------------------------------------------- |
|
1231 // Test A: Test multiple clients requesting RCall::Connect |
|
1232 //------------------------------------------------------------------------- |
|
1233 |
|
1234 call.Connect(reqStatus, callParamsPckg); |
|
1235 call2.Connect(reqStatus2, callParamsPckg); |
|
1236 |
|
1237 User::WaitForRequest(reqStatus); |
|
1238 User::WaitForRequest(reqStatus2); |
|
1239 |
|
1240 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
1241 ASSERT_EQUALS(KErrNone, reqStatus2.Int()) |
|
1242 |
|
1243 CleanupStack::PopAndDestroy(5, this); // call2, line2, call, line, this |
|
1244 |
|
1245 } |
|
1246 |
|
1247 |
|
1248 /** |
|
1249 @SYMTestCaseID BA-CTSY-DATC-CGCHI-0001 |
|
1250 @SYMComponent telephony_ctsy |
|
1251 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetCurrentHscsdInfo for voice calls |
|
1252 @SYMTestPriority High |
|
1253 @SYMTestActions Invokes RMobileCall::GetCurrentHscsdInfo for voice calls |
|
1254 @SYMTestExpectedResults Pass |
|
1255 @SYMTestType CT |
|
1256 */ |
|
1257 void CCTsyDataCallControlFU::TestGetCurrentHscsdInfo0001L() |
|
1258 { |
|
1259 |
|
1260 OpenEtelServerL(EUseExtendedError); |
|
1261 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1262 OpenPhoneL(); |
|
1263 |
|
1264 RLine line; |
|
1265 RMobileCall call; |
|
1266 |
|
1267 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
1268 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
1269 |
|
1270 //------------------------------------------------------------------------- |
|
1271 // TEST: failure to dispatch request to CTSY |
|
1272 // because RMobileCall::GetCurrentHscsdInfo is not supported for voice calls |
|
1273 //------------------------------------------------------------------------- |
|
1274 |
|
1275 OpenLineLC(line, KMmTsyVoice1LineName); |
|
1276 OpenNewCallLC(line, call); |
|
1277 |
|
1278 TInt res = call.GetCurrentHscsdInfo(infoPckg); |
|
1279 ASSERT_EQUALS(KErrNotSupported, res) |
|
1280 |
|
1281 CleanupStack::PopAndDestroy(2); // call, line |
|
1282 |
|
1283 // same test for voice call from auxiliary voice line |
|
1284 OpenLineLC(line, KMmTsyVoice2LineName); |
|
1285 OpenNewCallLC(line, call); |
|
1286 |
|
1287 res = call.GetCurrentHscsdInfo(infoPckg); |
|
1288 ASSERT_EQUALS(KErrNotSupported, res) |
|
1289 |
|
1290 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1291 |
|
1292 } |
|
1293 |
|
1294 /** |
|
1295 @SYMTestCaseID BA-CTSY-DATC-CGCHI-0006 |
|
1296 @SYMComponent telephony_ctsy |
|
1297 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetCurrentHscsdInfo for data calls |
|
1298 @SYMTestPriority High |
|
1299 @SYMTestActions Invokes RMobileCall::GetCurrentHscsdInfo for data calls |
|
1300 @SYMTestExpectedResults Pass |
|
1301 @SYMTestType CT |
|
1302 */ |
|
1303 void CCTsyDataCallControlFU::TestGetCurrentHscsdInfo0006L() |
|
1304 { |
|
1305 |
|
1306 OpenEtelServerL(EUseExtendedError); |
|
1307 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1308 OpenPhoneL(); |
|
1309 |
|
1310 RBuf8 data; |
|
1311 CleanupClosePushL(data); |
|
1312 |
|
1313 RLine line; |
|
1314 RMobileCall call; |
|
1315 OpenLineLC(line, KMmTsyDataLineName); |
|
1316 OpenNewCallLC(line, call); |
|
1317 |
|
1318 //------------------------------------------------------------------------- |
|
1319 // TEST: failure to dispatch request to CTSY |
|
1320 // when dial request is pending |
|
1321 //------------------------------------------------------------------------- |
|
1322 |
|
1323 // create dial request |
|
1324 RMobileCall::TMobileCallParamsV1 callParams; |
|
1325 callParams.iInterval = 4; |
|
1326 callParams.iCug.iCugIndex = 0xFFFF; |
|
1327 |
|
1328 RMobileCall::TMobileCallInfoV8 callInfo; |
|
1329 _LIT(KPhoneNumber, "101632960000"); |
|
1330 callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber); |
|
1331 callInfo.iService = RMobilePhone::ECircuitDataService; |
|
1332 callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating; |
|
1333 |
|
1334 TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> |
|
1335 expDialData(0, RMobilePhone::ECircuitDataService, callParams, callInfo); |
|
1336 |
|
1337 data.Close(); |
|
1338 expDialData.SerialiseL(data); |
|
1339 iMockLTSY.ExpectL(EEtelCallDial, data); |
|
1340 TRequestStatus requestStatus; |
|
1341 TPckg<RMobileCall::TMobileCallParamsV1> callParamsPckg(callParams); |
|
1342 call.Dial(requestStatus, callParamsPckg, KPhoneNumber); |
|
1343 |
|
1344 // test |
|
1345 RMobileCall::TMobileCallHscsdInfoV8 resInfo; |
|
1346 RMobileCall::TMobileCallHscsdInfoV8Pckg resInfoPckg(resInfo); |
|
1347 TInt res = call.GetCurrentHscsdInfo(resInfoPckg); |
|
1348 ASSERT_EQUALS(KErrEtelCallNotActive, res); |
|
1349 ASSERT_EQUALS(RMobileCall::EAiurBpsUnspecified, resInfo.iAiur); |
|
1350 ASSERT_EQUALS(0, resInfo.iRxTimeSlots); |
|
1351 ASSERT_EQUALS(0, resInfo.iTxTimeSlots); |
|
1352 ASSERT_EQUALS(RMobileCall::ETchCodingUnspecified, resInfo.iCodings); |
|
1353 ASSERT_TRUE(0 == resInfo.iAlphaId.Length()); |
|
1354 ASSERT_TRUE(0 == resInfo.iSubAddress.Length()); |
|
1355 AssertMockLtsyStatusL(); |
|
1356 |
|
1357 // complete dial request |
|
1358 TRequestStatus mockLtsyStatus; |
|
1359 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1360 CallGetMobileCallInfoL(1, RMobilePhone::ECircuitDataService, KPhoneNumber); |
|
1361 User::WaitForRequest(mockLtsyStatus); |
|
1362 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
1363 |
|
1364 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1365 TMockLtsyCallData0 completeDialData(1, RMobilePhone::ECircuitDataService); |
|
1366 data.Close(); |
|
1367 completeDialData.SerialiseL(data); |
|
1368 iMockLTSY.CompleteL(EEtelCallDial, KErrNone, data); |
|
1369 User::WaitForRequest(mockLtsyStatus); |
|
1370 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
1371 |
|
1372 User::WaitForRequest(requestStatus); // dial request completed |
|
1373 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
1374 AssertMockLtsyStatusL(); |
|
1375 |
|
1376 CleanupStack::PopAndDestroy(&call); |
|
1377 |
|
1378 //------------------------------------------------------------------------- |
|
1379 // TEST: failure to dispatch request to CTSY |
|
1380 // when info is not ready |
|
1381 //------------------------------------------------------------------------- |
|
1382 |
|
1383 OpenNewCallLC(line, call); |
|
1384 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
1385 |
|
1386 res = call.GetCurrentHscsdInfo(resInfoPckg); |
|
1387 ASSERT_EQUALS(KErrNotReady, res) |
|
1388 AssertMockLtsyStatusL(); |
|
1389 |
|
1390 //------------------------------------------------------------------------- |
|
1391 // TEST C: Successful completion request of |
|
1392 // RMobileCall::GetCurrentHscsdInfo. |
|
1393 //------------------------------------------------------------------------- |
|
1394 |
|
1395 RMobileCall::TMobileCallHscsdInfoV8 hscsdInfo; |
|
1396 |
|
1397 hscsdInfo.iAiur = RMobileCall::EAiurBps38400; |
|
1398 hscsdInfo.iRxTimeSlots = 2; |
|
1399 hscsdInfo.iTxTimeSlots = 2; |
|
1400 hscsdInfo.iCodings = RMobileCall::ETchCoding320; |
|
1401 hscsdInfo.iAlphaId.Copy(_L("Alpha Id")); |
|
1402 hscsdInfo.iSubAddress.Copy(_L("An unknown SubAddress")); |
|
1403 hscsdInfo.iCallParamOrigin = RMobileCall::EOriginatorSIM ; |
|
1404 |
|
1405 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
1406 dataCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryNoPreference; |
|
1407 dataCallCaps.iUserInitUpgrade = EFalse; |
|
1408 dataCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
1409 dataCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
1410 dataCallCaps.iHscsdSupport = ETrue; |
|
1411 dataCallCaps.iMaxRxTimeSlots = 2; |
|
1412 dataCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed14400; |
|
1413 dataCallCaps.iMaxTxTimeSlots = 2; |
|
1414 dataCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV32 | RMobileCall::KCapsPstnMultimedia; |
|
1415 dataCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
1416 dataCallCaps.iServiceCaps = RMobileCall::KCapsDataCircuitAsynchronousRDI; |
|
1417 dataCallCaps.iMClass = 1; |
|
1418 dataCallCaps.iTotalRxTxTimeSlots = 4; |
|
1419 dataCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
1420 |
|
1421 TMockLtsyCallData2<RMobileCall::TMobileCallHscsdInfoV8, RMobileCall::TMobileCallDataCapsV1> hscsdData(1, RMobilePhone::ECircuitDataService, hscsdInfo, dataCallCaps); |
|
1422 data.Close(); |
|
1423 hscsdData.SerialiseL(data); |
|
1424 |
|
1425 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1426 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
1427 User::WaitForRequest(mockLtsyStatus); |
|
1428 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
1429 |
|
1430 RMobileCall::TMobileCallHscsdInfoV8 resInfo8; |
|
1431 RMobileCall::TMobileCallHscsdInfoV8Pckg resInfoPckg8(resInfo8); |
|
1432 res = call.GetCurrentHscsdInfo(resInfoPckg8); |
|
1433 ASSERT_EQUALS(KErrNone, res); |
|
1434 ASSERT_EQUALS(hscsdInfo.iAiur, resInfo8.iAiur); |
|
1435 ASSERT_EQUALS(hscsdInfo.iRxTimeSlots, resInfo8.iRxTimeSlots); |
|
1436 ASSERT_EQUALS(hscsdInfo.iTxTimeSlots, resInfo8.iTxTimeSlots); |
|
1437 ASSERT_EQUALS(hscsdInfo.iCodings, resInfo8.iCodings); |
|
1438 ASSERT_EQUALS(hscsdInfo.iCallParamOrigin, resInfo8.iCallParamOrigin); |
|
1439 ASSERT_EQUALS(hscsdInfo.iAlphaId, resInfo8.iAlphaId); |
|
1440 ASSERT_EQUALS(hscsdInfo.iSubAddress, resInfo8.iSubAddress); |
|
1441 |
|
1442 //------------------------------------------------------------------------- |
|
1443 // TEST: failure to dispatch request to CTSY |
|
1444 // when Hscsd is not supported |
|
1445 //------------------------------------------------------------------------- |
|
1446 |
|
1447 // prepare CTSY (make Hscsd unsupported) |
|
1448 dataCallCaps.iHscsdSupport = EFalse; |
|
1449 data.Close(); |
|
1450 hscsdData.SerialiseL(data); |
|
1451 |
|
1452 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1453 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
1454 User::WaitForRequest(mockLtsyStatus); |
|
1455 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
1456 |
|
1457 // test |
|
1458 res = call.GetCurrentHscsdInfo(resInfoPckg); |
|
1459 ASSERT_EQUALS(KErrEtelCallNotActive, res); |
|
1460 AssertMockLtsyStatusL(); |
|
1461 |
|
1462 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
1463 |
|
1464 } |
|
1465 |
|
1466 /** |
|
1467 @SYMTestCaseID BA-CTSY-DATC-CGCHI-0008 |
|
1468 @SYMComponent telephony_ctsy |
|
1469 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetCurrentHscsdInfo with bad parameter data for data calls |
|
1470 @SYMTestPriority High |
|
1471 @SYMTestActions Invokes RMobileCall::GetCurrentHscsdInfo with bad parameter data for data calls |
|
1472 @SYMTestExpectedResults Pass |
|
1473 @SYMTestType CT |
|
1474 */ |
|
1475 void CCTsyDataCallControlFU::TestGetCurrentHscsdInfo0008L() |
|
1476 { |
|
1477 |
|
1478 OpenEtelServerL(EUseExtendedError); |
|
1479 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1480 OpenPhoneL(); |
|
1481 |
|
1482 RBuf8 data; |
|
1483 CleanupClosePushL(data); |
|
1484 |
|
1485 RLine line; |
|
1486 RMobileCall call; |
|
1487 OpenLineLC(line, KMmTsyDataLineName); |
|
1488 OpenNewCallLC(line, call); |
|
1489 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
1490 |
|
1491 // prepare CTSY (make info ready) |
|
1492 RMobileCall::TMobileCallHscsdInfoV1 hscsdInfo; |
|
1493 hscsdInfo.iAiur = RMobileCall::EAiurBps38400; |
|
1494 hscsdInfo.iRxTimeSlots = 2; |
|
1495 hscsdInfo.iTxTimeSlots = 2; |
|
1496 hscsdInfo.iCodings = RMobileCall::ETchCoding320; |
|
1497 |
|
1498 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
1499 dataCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryNoPreference; |
|
1500 dataCallCaps.iUserInitUpgrade = EFalse; |
|
1501 dataCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
1502 dataCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
1503 dataCallCaps.iHscsdSupport = ETrue; |
|
1504 dataCallCaps.iMaxRxTimeSlots = 2; |
|
1505 dataCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed14400; |
|
1506 dataCallCaps.iMaxTxTimeSlots = 2; |
|
1507 dataCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV32 | RMobileCall::KCapsPstnMultimedia; |
|
1508 dataCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
1509 dataCallCaps.iServiceCaps = RMobileCall::KCapsDataCircuitAsynchronousRDI; |
|
1510 dataCallCaps.iMClass = 1; |
|
1511 dataCallCaps.iTotalRxTxTimeSlots = 4; |
|
1512 dataCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
1513 |
|
1514 TMockLtsyCallData2<RMobileCall::TMobileCallHscsdInfoV1, RMobileCall::TMobileCallDataCapsV1> hscsdData(1, RMobilePhone::ECircuitDataService, hscsdInfo, dataCallCaps); |
|
1515 data.Close(); |
|
1516 hscsdData.SerialiseL(data); |
|
1517 |
|
1518 TRequestStatus mockLtsyStatus; |
|
1519 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1520 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
1521 User::WaitForRequest(mockLtsyStatus); |
|
1522 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
1523 |
|
1524 //------------------------------------------------------------------------- |
|
1525 // Test B: Test passing wrong descriptor size to parameter in |
|
1526 // RMobileCall::GetCurrentHscsdInfo |
|
1527 //------------------------------------------------------------------------- |
|
1528 |
|
1529 TBuf8<1> info(KNullDesC8); |
|
1530 TInt res = call.GetCurrentHscsdInfo(info); |
|
1531 |
|
1532 ASSERT_EQUALS(KErrArgument, res) |
|
1533 |
|
1534 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
1535 |
|
1536 } |
|
1537 |
|
1538 |
|
1539 |
|
1540 /** |
|
1541 @SYMTestCaseID BA-CTSY-DATC-CGCHI-0011 |
|
1542 @SYMComponent telephony_ctsy |
|
1543 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetCurrentHscsdInfo for fax calls |
|
1544 @SYMTestPriority High |
|
1545 @SYMTestActions Invokes RMobileCall::GetCurrentHscsdInfo for fax calls |
|
1546 @SYMTestExpectedResults Pass |
|
1547 @SYMTestType CT |
|
1548 */ |
|
1549 void CCTsyDataCallControlFU::TestGetCurrentHscsdInfo0011L() |
|
1550 { |
|
1551 |
|
1552 OpenEtelServerL(EUseExtendedError); |
|
1553 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1554 OpenPhoneL(); |
|
1555 |
|
1556 //------------------------------------------------------------------------- |
|
1557 // TEST: failure to dispatch request to CTSY |
|
1558 // because RMobileCall::GetCurrentHscsdInfo is not supported for fax calls |
|
1559 //------------------------------------------------------------------------- |
|
1560 |
|
1561 RLine line; |
|
1562 RMobileCall call; |
|
1563 |
|
1564 OpenLineLC(line, KMmTsyFaxLineName); |
|
1565 OpenNewCallLC(line, call); |
|
1566 |
|
1567 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
1568 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
1569 |
|
1570 TInt res = call.GetCurrentHscsdInfo(infoPckg); |
|
1571 ASSERT_EQUALS(KErrNotSupported, res) |
|
1572 |
|
1573 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1574 |
|
1575 } |
|
1576 |
|
1577 |
|
1578 /** |
|
1579 @SYMTestCaseID BA-CTSY-DATC-CNVF-0001 |
|
1580 @SYMComponent telephony_ctsy |
|
1581 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyVoiceFallback for voice calls |
|
1582 @SYMTestPriority High |
|
1583 @SYMTestActions Invokes RMobileCall::NotifyVoiceFallback for voice calls |
|
1584 @SYMTestExpectedResults Pass |
|
1585 @SYMTestType CT |
|
1586 */ |
|
1587 void CCTsyDataCallControlFU::TestNotifyVoiceFallback0001L() |
|
1588 { |
|
1589 |
|
1590 OpenEtelServerL(EUseExtendedError); |
|
1591 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1592 OpenPhoneL(); |
|
1593 |
|
1594 //------------------------------------------------------------------------- |
|
1595 // TEST: failure to dispatch request to CTSY |
|
1596 // because RMobileCall::NotifyVoiceFallback is not supported |
|
1597 //------------------------------------------------------------------------- |
|
1598 |
|
1599 RLine line; |
|
1600 RMobileCall call; |
|
1601 |
|
1602 OpenLineLC(line, KMmTsyVoice1LineName); |
|
1603 OpenNewCallLC(line, call); |
|
1604 DialL(call, 1, RMobilePhone::EVoiceService); |
|
1605 |
|
1606 TRequestStatus reqStatus; |
|
1607 TName name; |
|
1608 call.NotifyVoiceFallback(reqStatus, name); |
|
1609 User::WaitForRequest(reqStatus); |
|
1610 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
1611 |
|
1612 // same test for voice call from auxiliary voice line |
|
1613 RLine line2; |
|
1614 RMobileCall call2; |
|
1615 |
|
1616 OpenLineLC(line2, KMmTsyVoice2LineName); |
|
1617 OpenNewCallLC(line2, call2); |
|
1618 DialL(call2, 2, RMobilePhone::EAuxVoiceService); |
|
1619 |
|
1620 call2.NotifyVoiceFallback(reqStatus, name); |
|
1621 User::WaitForRequest(reqStatus); |
|
1622 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
1623 |
|
1624 CleanupStack::PopAndDestroy(5, this); // call2, line2, call, line, this |
|
1625 |
|
1626 } |
|
1627 |
|
1628 |
|
1629 /** |
|
1630 @SYMTestCaseID BA-CTSY-DATC-CNVF-0006 |
|
1631 @SYMComponent telephony_ctsy |
|
1632 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyVoiceFallback for data calls |
|
1633 @SYMTestPriority High |
|
1634 @SYMTestActions Invokes RMobileCall::NotifyVoiceFallback for data calls |
|
1635 @SYMTestExpectedResults Pass |
|
1636 @SYMTestType CT |
|
1637 */ |
|
1638 void CCTsyDataCallControlFU::TestNotifyVoiceFallback0006L() |
|
1639 { |
|
1640 |
|
1641 OpenEtelServerL(EUseExtendedError); |
|
1642 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1643 OpenPhoneL(); |
|
1644 |
|
1645 //------------------------------------------------------------------------- |
|
1646 // TEST: failure to dispatch request to CTSY |
|
1647 // because RMobileCall::NotifyVoiceFallback is not supported |
|
1648 //------------------------------------------------------------------------- |
|
1649 |
|
1650 RLine line; |
|
1651 RMobileCall call; |
|
1652 |
|
1653 OpenLineLC(line, KMmTsyDataLineName); |
|
1654 OpenNewCallLC(line, call); |
|
1655 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
1656 |
|
1657 TRequestStatus reqStatus; |
|
1658 TName name; |
|
1659 call.NotifyVoiceFallback(reqStatus, name); |
|
1660 User::WaitForRequest(reqStatus); |
|
1661 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
1662 |
|
1663 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1664 |
|
1665 } |
|
1666 |
|
1667 |
|
1668 /** |
|
1669 @SYMTestCaseID BA-CTSY-DATC-CNVF-00011 |
|
1670 @SYMComponent telephony_ctsy |
|
1671 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyVoiceFallback for fax calls |
|
1672 @SYMTestPriority High |
|
1673 @SYMTestActions Invokes RMobileCall::NotifyVoiceFallback for fax calls |
|
1674 @SYMTestExpectedResults Pass |
|
1675 @SYMTestType CT |
|
1676 */ |
|
1677 void CCTsyDataCallControlFU::TestNotifyVoiceFallback00011L() |
|
1678 { |
|
1679 |
|
1680 OpenEtelServerL(EUseExtendedError); |
|
1681 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1682 OpenPhoneL(); |
|
1683 |
|
1684 //------------------------------------------------------------------------- |
|
1685 // TEST: failure to dispatch request to CTSY |
|
1686 // because RMobileCall::NotifyVoiceFallback is not supported |
|
1687 //------------------------------------------------------------------------- |
|
1688 |
|
1689 RLine line; |
|
1690 RMobileCall call; |
|
1691 |
|
1692 OpenLineLC(line, KMmTsyFaxLineName); |
|
1693 |
|
1694 TName name; |
|
1695 CreateIncomingCallL(line, 1, KNullDesC, name, RMobilePhone::EFaxService, RMobileCall::EStatusConnected); |
|
1696 TInt res = call.OpenExistingCall(line, name); |
|
1697 ASSERT_EQUALS(KErrNone, res); |
|
1698 CleanupClosePushL(call); |
|
1699 |
|
1700 TRequestStatus reqStatus; |
|
1701 call.NotifyVoiceFallback(reqStatus, name); |
|
1702 User::WaitForRequest(reqStatus); |
|
1703 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
1704 |
|
1705 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1706 |
|
1707 } |
|
1708 |
|
1709 |
|
1710 /** |
|
1711 @SYMTestCaseID BA-CTSY-DATC-CGMDCC-0001 |
|
1712 @SYMComponent telephony_ctsy |
|
1713 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallCaps for voice calls |
|
1714 @SYMTestPriority High |
|
1715 @SYMTestActions Invokes RMobileCall::GetMobileDataCallCaps for voice calls |
|
1716 @SYMTestExpectedResults Pass |
|
1717 @SYMTestType CT |
|
1718 */ |
|
1719 void CCTsyDataCallControlFU::TestGetMobileDataCallCaps0001L() |
|
1720 { |
|
1721 |
|
1722 OpenEtelServerL(EUseExtendedError); |
|
1723 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1724 OpenPhoneL(); |
|
1725 |
|
1726 //------------------------------------------------------------------------- |
|
1727 // TEST: failure to dispatch request to CTSY |
|
1728 // because RMobileCall::GetMobileDataCallCaps is not supported for voice calls |
|
1729 //------------------------------------------------------------------------- |
|
1730 |
|
1731 RLine line; |
|
1732 RMobileCall call; |
|
1733 |
|
1734 OpenLineLC(line, KMmTsyVoice1LineName); |
|
1735 OpenNewCallLC(line, call); |
|
1736 |
|
1737 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
1738 RMobileCall::TMobileCallDataCapsV1Pckg dataCallCapsPckg(dataCallCaps); |
|
1739 |
|
1740 TInt res = call.GetMobileDataCallCaps(dataCallCapsPckg); |
|
1741 ASSERT_EQUALS(KErrNotSupported, res) |
|
1742 AssertMockLtsyStatusL(); |
|
1743 |
|
1744 // same test for voice call from auxiliary voice line |
|
1745 RLine line2; |
|
1746 RMobileCall call2; |
|
1747 |
|
1748 OpenLineLC(line2, KMmTsyVoice2LineName); |
|
1749 OpenNewCallLC(line2, call2); |
|
1750 |
|
1751 res = call2.GetMobileDataCallCaps(dataCallCapsPckg); |
|
1752 ASSERT_EQUALS(KErrNotSupported, res) |
|
1753 |
|
1754 CleanupStack::PopAndDestroy(5, this); // call2, line2, call, line, this |
|
1755 |
|
1756 } |
|
1757 |
|
1758 |
|
1759 /** |
|
1760 @SYMTestCaseID BA-CTSY-DATC-CGMDCC-0006 |
|
1761 @SYMComponent telephony_ctsy |
|
1762 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallCaps for data calls |
|
1763 @SYMTestPriority High |
|
1764 @SYMTestActions Invokes RMobileCall::GetMobileDataCallCaps for data calls |
|
1765 @SYMTestExpectedResults Pass |
|
1766 @SYMTestType CT |
|
1767 */ |
|
1768 void CCTsyDataCallControlFU::TestGetMobileDataCallCaps0006L() |
|
1769 { |
|
1770 |
|
1771 OpenEtelServerL(EUseExtendedError); |
|
1772 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1773 OpenPhoneL(); |
|
1774 |
|
1775 RBuf8 data; |
|
1776 CleanupClosePushL(data); |
|
1777 |
|
1778 RLine line; |
|
1779 RMobileCall call; |
|
1780 |
|
1781 OpenLineLC(line, KMmTsyDataLineName); |
|
1782 OpenNewCallLC(line, call); |
|
1783 |
|
1784 //------------------------------------------------------------------------- |
|
1785 // TEST C: Successful completion request of |
|
1786 // RMobileCall::GetMobileDataCallCaps. |
|
1787 //------------------------------------------------------------------------- |
|
1788 |
|
1789 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
1790 RMobileCall::TMobileCallDataCapsV1Pckg dataCallCapsPckg(dataCallCaps); |
|
1791 TInt res = call.GetMobileDataCallCaps(dataCallCapsPckg); |
|
1792 ASSERT_EQUALS(KErrNone, res) |
|
1793 |
|
1794 // check results |
|
1795 TBool usingFeatureManager(EFalse); |
|
1796 RFeatureControl featureControl; |
|
1797 CleanupClosePushL(featureControl); |
|
1798 res = featureControl.Open(); |
|
1799 if ( KErrNone == res ) |
|
1800 { |
|
1801 usingFeatureManager = ETrue; |
|
1802 } |
|
1803 // additional flags for videotelephony |
|
1804 if ( (usingFeatureManager) && (featureControl.FeatureSupported(NFeature::KCsVideoTelephony) == KFeatureSupported) ) |
|
1805 { |
|
1806 ASSERT_EQUALS((TUint32)(KMultimodeTsyDataSpeedCaps | KMultimodeTsyDataSpeedCapsVT), dataCallCaps.iSpeedCaps) |
|
1807 ASSERT_EQUALS((TUint32)(KMultimodeTsyDataProtocolCaps | KMultimodeTsyDataProtocolCapsVT), dataCallCaps.iProtocolCaps) |
|
1808 ASSERT_EQUALS((TUint32)(KMultimodeTsyDataServiceCaps | KMultimodeTsyDataServiceCapsVT), dataCallCaps.iServiceCaps) |
|
1809 } |
|
1810 else |
|
1811 { |
|
1812 ASSERT_EQUALS((TUint32)KMultimodeTsyDataSpeedCaps, dataCallCaps.iSpeedCaps) |
|
1813 ASSERT_EQUALS((TUint32)KMultimodeTsyDataProtocolCaps, dataCallCaps.iProtocolCaps) |
|
1814 ASSERT_EQUALS((TUint32)KMultimodeTsyDataServiceCaps, dataCallCaps.iServiceCaps) |
|
1815 } |
|
1816 ASSERT_EQUALS((TUint32)KMultimodeTsyDataQoSCaps, dataCallCaps.iQoSCaps) |
|
1817 ASSERT_EQUALS((TBool)KMultimodeTsyDataHscsdSupport, dataCallCaps.iHscsdSupport) |
|
1818 ASSERT_EQUALS((TInt)KMultimodeTsyDataMClassDefValue, dataCallCaps.iMClass) |
|
1819 ASSERT_EQUALS((TInt)KMultimodeTsyDataMaxRxTSDefValue, dataCallCaps.iMaxRxTimeSlots) |
|
1820 ASSERT_EQUALS((TInt)KMultimodeTsyDataMaxTxTSDefValue, dataCallCaps.iMaxTxTimeSlots) |
|
1821 ASSERT_EQUALS((TInt)KMultimodeTsyDataTotalRxTxTSDefValue, dataCallCaps.iTotalRxTxTimeSlots) |
|
1822 ASSERT_EQUALS((TUint32)KMultimodeTsyDataTchCodingsCaps, dataCallCaps.iCodingCaps) |
|
1823 ASSERT_EQUALS((TUint32)KMultimodeTsyDataAsymmetryCaps, dataCallCaps.iAsymmetryCaps) |
|
1824 ASSERT_EQUALS((TBool)KMultimodeTsyDataUserInitUpgrade, dataCallCaps.iUserInitUpgrade) |
|
1825 ASSERT_EQUALS((TUint32)KMultimodeTsyDataRLPVersionCaps, dataCallCaps.iRLPVersionCaps) |
|
1826 ASSERT_EQUALS((TUint32)KMultimodeTsyDataV42bisCaps, dataCallCaps.iV42bisCaps) |
|
1827 CleanupStack::PopAndDestroy(&featureControl); |
|
1828 AssertMockLtsyStatusL(); |
|
1829 |
|
1830 // change data in CTSY |
|
1831 |
|
1832 //This is needed for assign a callId to Call for setting new callDataCaps values. |
|
1833 |
|
1834 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
1835 |
|
1836 RMobileCall::TMobileCallDataCapsV1 newCaps; |
|
1837 newCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryNoPreference; |
|
1838 newCaps.iUserInitUpgrade = EFalse; |
|
1839 newCaps.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
1840 newCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
1841 newCaps.iHscsdSupport = ETrue; |
|
1842 newCaps.iMaxRxTimeSlots = 2; |
|
1843 newCaps.iSpeedCaps = RMobileCall::KCapsSpeed14400; |
|
1844 newCaps.iMaxTxTimeSlots = 2; |
|
1845 newCaps.iProtocolCaps = RMobileCall::KCapsProtocolV32 | RMobileCall::KCapsPstnMultimedia; |
|
1846 newCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
1847 newCaps.iServiceCaps = RMobileCall::KCapsDataCircuitAsynchronousRDI; |
|
1848 newCaps.iMClass = 1; |
|
1849 newCaps.iTotalRxTxTimeSlots = 4; |
|
1850 newCaps.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
1851 |
|
1852 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
1853 TMockLtsyCallData1<RMobileCall::TMobileCallDataCapsV1> newCapsData(1, mobileService, newCaps); |
|
1854 newCapsData.SerialiseL(data); |
|
1855 |
|
1856 TRequestStatus mockLtsyStatus; |
|
1857 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1858 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, data); |
|
1859 User::WaitForRequest(mockLtsyStatus); |
|
1860 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
1861 |
|
1862 // test again |
|
1863 res = call.GetMobileDataCallCaps(dataCallCapsPckg); |
|
1864 ASSERT_EQUALS(KErrNone, res) |
|
1865 |
|
1866 ASSERT_EQUALS(newCaps.iSpeedCaps, dataCallCaps.iSpeedCaps) |
|
1867 ASSERT_EQUALS(newCaps.iProtocolCaps, dataCallCaps.iProtocolCaps) |
|
1868 ASSERT_EQUALS(newCaps.iServiceCaps, dataCallCaps.iServiceCaps) |
|
1869 ASSERT_EQUALS(newCaps.iQoSCaps, dataCallCaps.iQoSCaps) |
|
1870 ASSERT_EQUALS(newCaps.iHscsdSupport, dataCallCaps.iHscsdSupport) |
|
1871 ASSERT_EQUALS(newCaps.iMClass, dataCallCaps.iMClass) |
|
1872 ASSERT_EQUALS(newCaps.iMaxRxTimeSlots, dataCallCaps.iMaxRxTimeSlots) |
|
1873 ASSERT_EQUALS(newCaps.iMaxTxTimeSlots, dataCallCaps.iMaxTxTimeSlots) |
|
1874 ASSERT_EQUALS(newCaps.iTotalRxTxTimeSlots, dataCallCaps.iTotalRxTxTimeSlots) |
|
1875 ASSERT_EQUALS(newCaps.iCodingCaps, dataCallCaps.iCodingCaps) |
|
1876 ASSERT_EQUALS(newCaps.iAsymmetryCaps, dataCallCaps.iAsymmetryCaps) |
|
1877 ASSERT_EQUALS(newCaps.iUserInitUpgrade, dataCallCaps.iUserInitUpgrade) |
|
1878 ASSERT_EQUALS(newCaps.iRLPVersionCaps, dataCallCaps.iRLPVersionCaps) |
|
1879 ASSERT_EQUALS(newCaps.iV42bisCaps, dataCallCaps.iV42bisCaps) |
|
1880 |
|
1881 AssertMockLtsyStatusL(); |
|
1882 |
|
1883 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
1884 |
|
1885 } |
|
1886 |
|
1887 |
|
1888 /** |
|
1889 @SYMTestCaseID BA-CTSY-DATC-CGMDCC-0008 |
|
1890 @SYMComponent telephony_ctsy |
|
1891 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallCaps with bad parameter data for data calls |
|
1892 @SYMTestPriority High |
|
1893 @SYMTestActions Invokes RMobileCall::GetMobileDataCallCaps with bad parameter data for data calls |
|
1894 @SYMTestExpectedResults Pass |
|
1895 @SYMTestType CT |
|
1896 */ |
|
1897 void CCTsyDataCallControlFU::TestGetMobileDataCallCaps0008L() |
|
1898 { |
|
1899 |
|
1900 OpenEtelServerL(EUseExtendedError); |
|
1901 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1902 OpenPhoneL(); |
|
1903 |
|
1904 RLine line; |
|
1905 RMobileCall call; |
|
1906 |
|
1907 OpenLineLC(line, KMmTsyDataLineName); |
|
1908 OpenNewCallLC(line, call); |
|
1909 |
|
1910 //------------------------------------------------------------------------- |
|
1911 // Test B: Test passing wrong descriptor size to parameter in |
|
1912 // RMobileCall::GetMobileDataCallCaps |
|
1913 //------------------------------------------------------------------------- |
|
1914 |
|
1915 TBuf8<1> caps(KNullDesC8); |
|
1916 TInt res = call.GetMobileDataCallCaps(caps); |
|
1917 ASSERT_EQUALS(KErrArgument, res); |
|
1918 |
|
1919 //------------------------------------------------------------------------- |
|
1920 // Test B: Test passing wrong parameter to |
|
1921 // RMobileCall::GetMobileDataCallCaps method |
|
1922 //------------------------------------------------------------------------- |
|
1923 |
|
1924 const TInt bufSize = sizeof ( RMobileCall::TMobileCallDataCapsV1 ); |
|
1925 TBuf8<bufSize> caps2; |
|
1926 caps2.FillZ(); //Fill buffer with zeros |
|
1927 res = call.GetMobileDataCallCaps(caps2); |
|
1928 ASSERT_EQUALS(KErrArgument, res); |
|
1929 |
|
1930 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1931 |
|
1932 } |
|
1933 |
|
1934 /** |
|
1935 @SYMTestCaseID BA-CTSY-DATC-CGMDCC-00011 |
|
1936 @SYMComponent telephony_ctsy |
|
1937 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallCaps for fax calls |
|
1938 @SYMTestPriority High |
|
1939 @SYMTestActions Invokes RMobileCall::GetMobileDataCallCaps for fax calls |
|
1940 @SYMTestExpectedResults Pass |
|
1941 @SYMTestType CT |
|
1942 */ |
|
1943 void CCTsyDataCallControlFU::TestGetMobileDataCallCaps00011L() |
|
1944 { |
|
1945 |
|
1946 OpenEtelServerL(EUseExtendedError); |
|
1947 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1948 OpenPhoneL(); |
|
1949 |
|
1950 RLine line; |
|
1951 RMobileCall call; |
|
1952 |
|
1953 OpenLineLC(line, KMmTsyFaxLineName); |
|
1954 OpenNewCallLC(line, call); |
|
1955 |
|
1956 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
1957 RMobileCall::TMobileCallDataCapsV1Pckg dataCallCapsPckg(dataCallCaps); |
|
1958 |
|
1959 //------------------------------------------------------------------------- |
|
1960 // TEST: failure to dispatch request to CTSY |
|
1961 // because RMobileCall::GetMobileDataCallCaps is not supported for fax calls |
|
1962 //------------------------------------------------------------------------- |
|
1963 |
|
1964 TInt res = call.GetMobileDataCallCaps(dataCallCapsPckg); |
|
1965 ASSERT_EQUALS(KErrNotSupported, res) |
|
1966 |
|
1967 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
1968 |
|
1969 } |
|
1970 |
|
1971 |
|
1972 |
|
1973 /** |
|
1974 @SYMTestCaseID BA-CTSY-DATC-CNHIC-0001 |
|
1975 @SYMComponent telephony_ctsy |
|
1976 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyHscsdInfoChange for voice calls |
|
1977 @SYMTestPriority High |
|
1978 @SYMTestActions Invokes RMobileCall::NotifyHscsdInfoChange for voice calls |
|
1979 @SYMTestExpectedResults Pass |
|
1980 @SYMTestType CT |
|
1981 */ |
|
1982 void CCTsyDataCallControlFU::TestNotifyHscsdInfoChange0001L() |
|
1983 { |
|
1984 |
|
1985 OpenEtelServerL(EUseExtendedError); |
|
1986 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1987 OpenPhoneL(); |
|
1988 |
|
1989 RLine line; |
|
1990 RMobileCall call; |
|
1991 |
|
1992 //------------------------------------------------------------------------- |
|
1993 // TEST: failure to dispatch request to CTSY |
|
1994 // because RMobileCall::NotifyHscsdInfoChange is not supported for voice calls |
|
1995 //------------------------------------------------------------------------- |
|
1996 |
|
1997 OpenLineLC(line, KMmTsyVoice1LineName); |
|
1998 OpenNewCallLC(line, call); |
|
1999 |
|
2000 TRequestStatus reqStatus; |
|
2001 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
2002 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
2003 call.NotifyHscsdInfoChange(reqStatus, infoPckg); |
|
2004 User::WaitForRequest(reqStatus); |
|
2005 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2006 |
|
2007 CleanupStack::PopAndDestroy(2); // call, line |
|
2008 |
|
2009 // same test for voice call from auxiliary voice line |
|
2010 OpenLineLC(line, KMmTsyVoice2LineName); |
|
2011 OpenNewCallLC(line, call); |
|
2012 |
|
2013 call.NotifyHscsdInfoChange(reqStatus, infoPckg); |
|
2014 User::WaitForRequest(reqStatus); |
|
2015 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2016 |
|
2017 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
2018 |
|
2019 } |
|
2020 |
|
2021 /** |
|
2022 @SYMTestCaseID BA-CTSY-DATC-CNHIC-0006 |
|
2023 @SYMComponent telephony_ctsy |
|
2024 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyHscsdInfoChange for data calls |
|
2025 @SYMTestPriority High |
|
2026 @SYMTestActions Invokes RMobileCall::NotifyHscsdInfoChange for data calls |
|
2027 @SYMTestExpectedResults Pass |
|
2028 @SYMTestType CT |
|
2029 */ |
|
2030 void CCTsyDataCallControlFU::TestNotifyHscsdInfoChange0006L() |
|
2031 { |
|
2032 |
|
2033 OpenEtelServerL(EUseExtendedError); |
|
2034 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2035 OpenPhoneL(); |
|
2036 |
|
2037 RBuf8 data; |
|
2038 CleanupClosePushL(data); |
|
2039 |
|
2040 RLine line; |
|
2041 RMobileCall call; |
|
2042 |
|
2043 OpenLineLC(line, KMmTsyDataLineName); |
|
2044 OpenNewCallLC(line, call); |
|
2045 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
2046 |
|
2047 TRequestStatus reqStatus; |
|
2048 |
|
2049 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
2050 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
2051 |
|
2052 RMobileCall::TMobileCallHscsdInfoV1 hscsdInfo; |
|
2053 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
2054 |
|
2055 hscsdInfo.iAiur = RMobileCall::EAiurBps38400; |
|
2056 hscsdInfo.iRxTimeSlots = 2; |
|
2057 hscsdInfo.iTxTimeSlots = 2; |
|
2058 hscsdInfo.iCodings = RMobileCall::ETchCoding320; |
|
2059 |
|
2060 dataCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryNoPreference; |
|
2061 dataCallCaps.iUserInitUpgrade = EFalse; |
|
2062 dataCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
2063 dataCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
2064 dataCallCaps.iHscsdSupport = ETrue; // should be ETrue |
|
2065 dataCallCaps.iMaxRxTimeSlots = 2; |
|
2066 dataCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed14400; |
|
2067 dataCallCaps.iMaxTxTimeSlots = 2; |
|
2068 dataCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV32 | RMobileCall::KCapsPstnMultimedia; |
|
2069 dataCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
2070 dataCallCaps.iServiceCaps = RMobileCall::KCapsDataCircuitAsynchronousRDI; |
|
2071 dataCallCaps.iMClass = 1; |
|
2072 dataCallCaps.iTotalRxTxTimeSlots = 4; |
|
2073 dataCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
2074 |
|
2075 TMockLtsyCallData2<RMobileCall::TMobileCallHscsdInfoV1, RMobileCall::TMobileCallDataCapsV1> hscsdData(1, RMobilePhone::ECircuitDataService, hscsdInfo, dataCallCaps); |
|
2076 data.Close(); |
|
2077 hscsdData.SerialiseL(data); |
|
2078 |
|
2079 //------------------------------------------------------------------------- |
|
2080 // TEST C: Successful completion request of |
|
2081 // RMobileCall::NotifyHscsdInfoChange. |
|
2082 //------------------------------------------------------------------------- |
|
2083 |
|
2084 call.NotifyHscsdInfoChange(reqStatus, infoPckg); |
|
2085 |
|
2086 TRequestStatus mockLtsyStatus; |
|
2087 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2088 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
2089 User::WaitForRequest(mockLtsyStatus); |
|
2090 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
2091 |
|
2092 User::WaitForRequest(reqStatus); |
|
2093 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
2094 |
|
2095 ASSERT_EQUALS(hscsdInfo.iAiur, info.iAiur) |
|
2096 ASSERT_EQUALS(hscsdInfo.iRxTimeSlots, info.iRxTimeSlots) |
|
2097 ASSERT_EQUALS(hscsdInfo.iTxTimeSlots, info.iTxTimeSlots) |
|
2098 ASSERT_EQUALS(hscsdInfo.iCodings, info.iCodings) |
|
2099 |
|
2100 //------------------------------------------------------------------------- |
|
2101 // TEST E: Unsolicited completion of RMobileCall::NotifyHscsdInfoChange |
|
2102 // from LTSY. |
|
2103 //------------------------------------------------------------------------- |
|
2104 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2105 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
2106 User::WaitForRequest(mockLtsyStatus); |
|
2107 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
2108 |
|
2109 AssertMockLtsyStatusL(); |
|
2110 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
2111 |
|
2112 } |
|
2113 |
|
2114 |
|
2115 /** |
|
2116 @SYMTestCaseID BA-CTSY-DATC-CNHIC-0007 |
|
2117 @SYMComponent telephony_ctsy |
|
2118 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::NotifyHscsdInfoChange for data calls |
|
2119 @SYMTestPriority High |
|
2120 @SYMTestActions Invokes cancelling of RMobileCall::NotifyHscsdInfoChange for data calls |
|
2121 @SYMTestExpectedResults Pass |
|
2122 @SYMTestType CT |
|
2123 */ |
|
2124 void CCTsyDataCallControlFU::TestNotifyHscsdInfoChange0007L() |
|
2125 { |
|
2126 |
|
2127 OpenEtelServerL(EUseExtendedError); |
|
2128 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2129 OpenPhoneL(); |
|
2130 |
|
2131 RBuf8 data; |
|
2132 CleanupClosePushL(data); |
|
2133 |
|
2134 RLine line; |
|
2135 RMobileCall call; |
|
2136 |
|
2137 OpenLineLC(line, KMmTsyDataLineName); |
|
2138 OpenNewCallLC(line, call); |
|
2139 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
2140 |
|
2141 TRequestStatus reqStatus; |
|
2142 |
|
2143 //------------------------------------------------------------------------- |
|
2144 // Test cancelling of RMobileCall::NotifyHscsdInfoChange |
|
2145 //------------------------------------------------------------------------- |
|
2146 |
|
2147 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
2148 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
2149 call.NotifyHscsdInfoChange(reqStatus, infoPckg); |
|
2150 |
|
2151 call.CancelAsyncRequest(EMobileCallNotifyHscsdInfoChange); |
|
2152 |
|
2153 User::WaitForRequest(reqStatus); |
|
2154 ASSERT_EQUALS(KErrCancel, reqStatus.Int()) |
|
2155 |
|
2156 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
2157 |
|
2158 } |
|
2159 |
|
2160 |
|
2161 /** |
|
2162 @SYMTestCaseID BA-CTSY-DATC-CNHIC-0008 |
|
2163 @SYMComponent telephony_ctsy |
|
2164 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyHscsdInfoChange with bad parameter data for data calls |
|
2165 @SYMTestPriority High |
|
2166 @SYMTestActions Invokes RMobileCall::NotifyHscsdInfoChange with bad parameter data for data calls |
|
2167 @SYMTestExpectedResults Pass |
|
2168 @SYMTestType CT |
|
2169 */ |
|
2170 void CCTsyDataCallControlFU::TestNotifyHscsdInfoChange0008L() |
|
2171 { |
|
2172 |
|
2173 OpenEtelServerL(EUseExtendedError); |
|
2174 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2175 OpenPhoneL(); |
|
2176 |
|
2177 RBuf8 data; |
|
2178 CleanupClosePushL(data); |
|
2179 |
|
2180 RLine line; |
|
2181 RMobileCall call; |
|
2182 |
|
2183 OpenLineLC(line, KMmTsyDataLineName); |
|
2184 OpenNewCallLC(line, call); |
|
2185 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
2186 |
|
2187 TRequestStatus reqStatus; |
|
2188 |
|
2189 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
2190 |
|
2191 RMobileCall::TMobileCallHscsdInfoV1 hscsdInfo; |
|
2192 hscsdInfo.iAiur = RMobileCall::EAiurBps38400; |
|
2193 hscsdInfo.iRxTimeSlots = 2; |
|
2194 hscsdInfo.iTxTimeSlots = 2; |
|
2195 hscsdInfo.iCodings = RMobileCall::ETchCoding320; |
|
2196 |
|
2197 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
2198 dataCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryNoPreference; |
|
2199 dataCallCaps.iUserInitUpgrade = EFalse; |
|
2200 dataCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
2201 dataCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
2202 dataCallCaps.iHscsdSupport = ETrue; // should be ETrue |
|
2203 dataCallCaps.iMaxRxTimeSlots = 2; |
|
2204 dataCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed14400; |
|
2205 dataCallCaps.iMaxTxTimeSlots = 2; |
|
2206 dataCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV32 | RMobileCall::KCapsPstnMultimedia; |
|
2207 dataCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
2208 dataCallCaps.iServiceCaps = RMobileCall::KCapsDataCircuitAsynchronousRDI; |
|
2209 dataCallCaps.iMClass = 1; |
|
2210 dataCallCaps.iTotalRxTxTimeSlots = 4; |
|
2211 dataCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
2212 |
|
2213 TMockLtsyCallData2<RMobileCall::TMobileCallHscsdInfoV1, RMobileCall::TMobileCallDataCapsV1> hscsdData(1, mobileService, hscsdInfo, dataCallCaps); |
|
2214 data.Close(); |
|
2215 hscsdData.SerialiseL(data); |
|
2216 |
|
2217 //------------------------------------------------------------------------- |
|
2218 // Test B: Test passing wrong descriptor size to parameter in |
|
2219 // RMobileCall::NotifyHscsdInfoChange |
|
2220 //------------------------------------------------------------------------- |
|
2221 |
|
2222 TBuf8<1> smallBuf(KNullDesC8); |
|
2223 call.NotifyHscsdInfoChange(reqStatus, smallBuf); |
|
2224 |
|
2225 TRequestStatus mockLtsyStatus; |
|
2226 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2227 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
2228 User::WaitForRequest(mockLtsyStatus); |
|
2229 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
2230 |
|
2231 User::WaitForRequest(reqStatus); |
|
2232 |
|
2233 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
2234 |
|
2235 CleanupStack::PopAndDestroy(4, this); // call, line, data, this |
|
2236 |
|
2237 } |
|
2238 |
|
2239 |
|
2240 /** |
|
2241 @SYMTestCaseID BA-CTSY-DATC-CNHIC-0009 |
|
2242 @SYMComponent telephony_ctsy |
|
2243 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::NotifyHscsdInfoChange for data calls |
|
2244 @SYMTestPriority High |
|
2245 @SYMTestActions Invokes multiple client requests to RMobileCall::NotifyHscsdInfoChange for data calls |
|
2246 @SYMTestExpectedResults Pass |
|
2247 @SYMTestType CT |
|
2248 */ |
|
2249 void CCTsyDataCallControlFU::TestNotifyHscsdInfoChange0009L() |
|
2250 { |
|
2251 |
|
2252 OpenEtelServerL(EUseExtendedError); |
|
2253 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2254 OpenPhoneL(); |
|
2255 |
|
2256 RBuf8 data; |
|
2257 CleanupClosePushL(data); |
|
2258 |
|
2259 // Open second client |
|
2260 RTelServer telServer2; |
|
2261 TInt ret = telServer2.Connect(); |
|
2262 ASSERT_EQUALS(KErrNone, ret); |
|
2263 CleanupClosePushL(telServer2); |
|
2264 |
|
2265 RMobilePhone phone2; |
|
2266 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
2267 ASSERT_EQUALS(KErrNone, ret); |
|
2268 CleanupClosePushL(phone2); |
|
2269 |
|
2270 // prepare first call |
|
2271 RLine line; |
|
2272 RMobileCall call; |
|
2273 |
|
2274 OpenLineLC(line, KMmTsyDataLineName); |
|
2275 TName callName; |
|
2276 ret = call.OpenNewCall(line, callName); |
|
2277 ASSERT_EQUALS(KErrNone, ret); |
|
2278 CleanupClosePushL(call); |
|
2279 DialL(call, 1, RMobilePhone::ECircuitDataService); |
|
2280 |
|
2281 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
2282 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
2283 |
|
2284 TRequestStatus reqStatus; |
|
2285 |
|
2286 // prepare second call |
|
2287 RLine line2; |
|
2288 RMobileCall call2; |
|
2289 |
|
2290 TInt errorCode = line2.Open(phone2, KMmTsyDataLineName); |
|
2291 ASSERT_EQUALS(KErrNone, errorCode) |
|
2292 CleanupClosePushL(line2); |
|
2293 |
|
2294 OpenNewCallLC(line2, call2); |
|
2295 DialL(call2, 2, RMobilePhone::ECircuitDataService); |
|
2296 |
|
2297 RMobileCall::TMobileCallHscsdInfoV1 info2; |
|
2298 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg2(info2); |
|
2299 |
|
2300 TRequestStatus reqStatus2; |
|
2301 |
|
2302 // prepare third call |
|
2303 RMobileCall call3; |
|
2304 ret = call3.OpenExistingCall(line, callName); |
|
2305 ASSERT_EQUALS(KErrNone, ret); |
|
2306 CleanupClosePushL(call3); |
|
2307 |
|
2308 RMobileCall::TMobileCallHscsdInfoV1 info3; |
|
2309 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg3(info3); |
|
2310 |
|
2311 TRequestStatus reqStatus3; |
|
2312 |
|
2313 // prepare ltsy data |
|
2314 RMobileCall::TMobileCallHscsdInfoV1 hscsdInfo; |
|
2315 hscsdInfo.iAiur = RMobileCall::EAiurBps38400; |
|
2316 hscsdInfo.iRxTimeSlots = 2; |
|
2317 hscsdInfo.iTxTimeSlots = 2; |
|
2318 hscsdInfo.iCodings = RMobileCall::ETchCoding320; |
|
2319 |
|
2320 RMobileCall::TMobileCallHscsdInfoV1 hscsdInfo2; |
|
2321 hscsdInfo2.iAiur = RMobileCall::EAiurBps43200; |
|
2322 hscsdInfo2.iRxTimeSlots = 4; |
|
2323 hscsdInfo2.iTxTimeSlots = 4; |
|
2324 hscsdInfo2.iCodings = RMobileCall::ETchCoding432; |
|
2325 |
|
2326 RMobileCall::TMobileCallDataCapsV1 dataCallCaps; |
|
2327 dataCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryNoPreference; |
|
2328 dataCallCaps.iUserInitUpgrade = EFalse; |
|
2329 dataCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
2330 dataCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
2331 dataCallCaps.iHscsdSupport = ETrue; // should be ETrue |
|
2332 dataCallCaps.iMaxRxTimeSlots = 2; |
|
2333 dataCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed14400; |
|
2334 dataCallCaps.iMaxTxTimeSlots = 2; |
|
2335 dataCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV32 | RMobileCall::KCapsPstnMultimedia; |
|
2336 dataCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
2337 dataCallCaps.iServiceCaps = RMobileCall::KCapsDataCircuitAsynchronousRDI; |
|
2338 dataCallCaps.iMClass = 1; |
|
2339 dataCallCaps.iTotalRxTxTimeSlots = 4; |
|
2340 dataCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
2341 |
|
2342 RMobileCall::TMobileCallDataCapsV1 dataCallCaps2; |
|
2343 dataCallCaps2.iAsymmetryCaps = RMobileCall::KCapsAsymmetryDownlink; |
|
2344 dataCallCaps2.iUserInitUpgrade = ETrue; |
|
2345 dataCallCaps2.iCodingCaps = RMobileCall::KCapsAiurCoding96; |
|
2346 dataCallCaps2.iRLPVersionCaps = RMobileCall::KCapsRLPMultiLinkVersion2; |
|
2347 dataCallCaps2.iHscsdSupport = ETrue; // should be ETrue |
|
2348 dataCallCaps2.iMaxRxTimeSlots = 4; |
|
2349 dataCallCaps2.iSpeedCaps = RMobileCall::KCapsSpeed28800; |
|
2350 dataCallCaps2.iMaxTxTimeSlots = 4; |
|
2351 dataCallCaps2.iProtocolCaps = RMobileCall::KCapsProtocolV34 | RMobileCall::KCapsIsdnMultimedia; |
|
2352 dataCallCaps2.iQoSCaps = RMobileCall::KCapsTransparent; |
|
2353 dataCallCaps2.iServiceCaps = RMobileCall::KCapsDataCircuitSynchronous; |
|
2354 dataCallCaps2.iMClass = 2; |
|
2355 dataCallCaps2.iTotalRxTxTimeSlots = 6; |
|
2356 dataCallCaps2.iV42bisCaps = RMobileCall::KCapsV42bisRxDirection; |
|
2357 |
|
2358 TMockLtsyCallData2<RMobileCall::TMobileCallHscsdInfoV1, RMobileCall::TMobileCallDataCapsV1> hscsdData(1, RMobilePhone::ECircuitDataService, hscsdInfo, dataCallCaps); |
|
2359 TMockLtsyCallData2<RMobileCall::TMobileCallHscsdInfoV1, RMobileCall::TMobileCallDataCapsV1> hscsdData2(2, RMobilePhone::ECircuitDataService, hscsdInfo2, dataCallCaps2); |
|
2360 |
|
2361 //------------------------------------------------------------------------- |
|
2362 // Test A: Test multiple clients requesting RMobileCall::NotifyHscsdInfoChange |
|
2363 //------------------------------------------------------------------------- |
|
2364 |
|
2365 call.NotifyHscsdInfoChange(reqStatus, infoPckg); |
|
2366 call2.NotifyHscsdInfoChange(reqStatus2, infoPckg2); |
|
2367 call3.NotifyHscsdInfoChange(reqStatus3, infoPckg3); |
|
2368 |
|
2369 TRequestStatus mockLtsyStatus; |
|
2370 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2371 data.Close(); |
|
2372 hscsdData.SerialiseL(data); |
|
2373 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
2374 User::WaitForRequest(mockLtsyStatus); |
|
2375 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
2376 |
|
2377 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2378 data.Close(); |
|
2379 hscsdData2.SerialiseL(data); |
|
2380 iMockLTSY.CompleteL(EMobileCallNotifyHscsdInfoChange, KErrNone, data); |
|
2381 User::WaitForRequest(mockLtsyStatus); |
|
2382 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
2383 |
|
2384 User::WaitForRequest(reqStatus); |
|
2385 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
2386 ASSERT_EQUALS(hscsdInfo.iAiur, info.iAiur) |
|
2387 ASSERT_EQUALS(hscsdInfo.iRxTimeSlots, info.iRxTimeSlots) |
|
2388 ASSERT_EQUALS(hscsdInfo.iTxTimeSlots, info.iTxTimeSlots) |
|
2389 ASSERT_EQUALS(hscsdInfo.iCodings, info.iCodings) |
|
2390 |
|
2391 User::WaitForRequest(reqStatus2); |
|
2392 ASSERT_EQUALS(KErrNone, reqStatus2.Int()) |
|
2393 ASSERT_EQUALS(hscsdInfo2.iAiur, info2.iAiur) |
|
2394 ASSERT_EQUALS(hscsdInfo2.iRxTimeSlots, info2.iRxTimeSlots) |
|
2395 ASSERT_EQUALS(hscsdInfo2.iTxTimeSlots, info2.iTxTimeSlots) |
|
2396 ASSERT_EQUALS(hscsdInfo2.iCodings, info2.iCodings) |
|
2397 |
|
2398 User::WaitForRequest(reqStatus3); |
|
2399 ASSERT_EQUALS(KErrNone, reqStatus3.Int()) |
|
2400 // same data as for 1st call because 3rd call object |
|
2401 // is opened from existing call |
|
2402 ASSERT_EQUALS(hscsdInfo.iAiur, info3.iAiur) |
|
2403 ASSERT_EQUALS(hscsdInfo.iRxTimeSlots, info3.iRxTimeSlots) |
|
2404 ASSERT_EQUALS(hscsdInfo.iTxTimeSlots, info3.iTxTimeSlots) |
|
2405 ASSERT_EQUALS(hscsdInfo.iCodings, info3.iCodings) |
|
2406 |
|
2407 AssertMockLtsyStatusL(); |
|
2408 CleanupStack::PopAndDestroy(9, this); // call3, call2, line2, call, line, phone2, telServer2, data, this |
|
2409 |
|
2410 } |
|
2411 |
|
2412 |
|
2413 /** |
|
2414 @SYMTestCaseID BA-CTSY-DATC-CNHIC-00011 |
|
2415 @SYMComponent telephony_ctsy |
|
2416 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyHscsdInfoChange for fax calls |
|
2417 @SYMTestPriority High |
|
2418 @SYMTestActions Invokes RMobileCall::NotifyHscsdInfoChange for fax calls |
|
2419 @SYMTestExpectedResults Pass |
|
2420 @SYMTestType CT |
|
2421 */ |
|
2422 void CCTsyDataCallControlFU::TestNotifyHscsdInfoChange00011L() |
|
2423 { |
|
2424 |
|
2425 OpenEtelServerL(EUseExtendedError); |
|
2426 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2427 OpenPhoneL(); |
|
2428 |
|
2429 RLine line; |
|
2430 RMobileCall call; |
|
2431 |
|
2432 OpenLineLC(line, KMmTsyFaxLineName); |
|
2433 OpenNewCallLC(line, call); |
|
2434 |
|
2435 TRequestStatus reqStatus; |
|
2436 |
|
2437 //------------------------------------------------------------------------- |
|
2438 // TEST: failure to dispatch request to CTSY |
|
2439 // because RMobileCall::NotifyHscsdInfoChange is not supported for fax calls |
|
2440 //------------------------------------------------------------------------- |
|
2441 |
|
2442 RMobileCall::TMobileCallHscsdInfoV1 info; |
|
2443 RMobileCall::TMobileCallHscsdInfoV1Pckg infoPckg(info); |
|
2444 |
|
2445 call.NotifyHscsdInfoChange(reqStatus, infoPckg); |
|
2446 User::WaitForRequest(reqStatus); |
|
2447 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2448 AssertMockLtsyStatusL(); |
|
2449 |
|
2450 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
2451 |
|
2452 } |
|
2453 |
|
2454 |
|
2455 /** |
|
2456 @SYMTestCaseID BA-CTSY-DATC-CSDHP-0001 |
|
2457 @SYMComponent telephony_ctsy |
|
2458 @SYMTestCaseDesc Test support in CTSY for RMobileCall::SetDynamicHscsdParams for voice calls |
|
2459 @SYMTestPriority High |
|
2460 @SYMTestActions Invokes RMobileCall::SetDynamicHscsdParams for voice calls |
|
2461 @SYMTestExpectedResults Pass |
|
2462 @SYMTestType CT |
|
2463 */ |
|
2464 void CCTsyDataCallControlFU::TestSetDynamicHscsdParams0001L() |
|
2465 { |
|
2466 |
|
2467 OpenEtelServerL(EUseExtendedError); |
|
2468 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2469 OpenPhoneL(); |
|
2470 |
|
2471 RLine line; |
|
2472 RMobileCall call; |
|
2473 |
|
2474 //------------------------------------------------------------------------- |
|
2475 // TEST: failure to dispatch request to CTSY |
|
2476 // because RMobileCall::SetDynamicHscsdParams is not supported for voice calls |
|
2477 //------------------------------------------------------------------------- |
|
2478 |
|
2479 OpenLineLC(line, KMmTsyVoice1LineName); |
|
2480 OpenNewCallLC(line, call); |
|
2481 |
|
2482 TRequestStatus reqStatus; |
|
2483 call.SetDynamicHscsdParams(reqStatus, RMobileCall::EAiurBps38400, 2); |
|
2484 User::WaitForRequest(reqStatus); |
|
2485 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2486 |
|
2487 CleanupStack::PopAndDestroy(2); // call, line |
|
2488 |
|
2489 // same test for voice call from auxiliary voice line |
|
2490 OpenLineLC(line, KMmTsyVoice2LineName); |
|
2491 OpenNewCallLC(line, call); |
|
2492 |
|
2493 call.SetDynamicHscsdParams(reqStatus, RMobileCall::EAiurBps38400, 2); |
|
2494 User::WaitForRequest(reqStatus); |
|
2495 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2496 |
|
2497 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
2498 |
|
2499 } |
|
2500 |
|
2501 /** |
|
2502 @SYMTestCaseID BA-CTSY-DATC-CSDHP-0006 |
|
2503 @SYMComponent telephony_ctsy |
|
2504 @SYMTestCaseDesc Test support in CTSY for RMobileCall::SetDynamicHscsdParams for data calls |
|
2505 @SYMTestPriority High |
|
2506 @SYMTestActions Invokes RMobileCall::SetDynamicHscsdParams for data calls |
|
2507 @SYMTestExpectedResults Pass |
|
2508 @SYMTestType CT |
|
2509 */ |
|
2510 void CCTsyDataCallControlFU::TestSetDynamicHscsdParams0006L() |
|
2511 { |
|
2512 |
|
2513 OpenEtelServerL(EUseExtendedError); |
|
2514 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2515 OpenPhoneL(); |
|
2516 |
|
2517 RBuf8 expData; |
|
2518 CleanupClosePushL(expData); |
|
2519 RBuf8 completeData; |
|
2520 CleanupClosePushL(completeData); |
|
2521 |
|
2522 RLine line; |
|
2523 RMobileCall call; |
|
2524 |
|
2525 OpenLineLC(line, KMmTsyDataLineName); |
|
2526 const TInt KCallId = 1; |
|
2527 OpenNewCallLC(line, call); |
|
2528 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
2529 |
|
2530 TRequestStatus reqStatus; |
|
2531 |
|
2532 RMobileCall::TMobileHscsdCallParamsV8 hscsdParams; |
|
2533 hscsdParams.iWantedAiur = RMobileCall::EAiurBps38400; |
|
2534 hscsdParams.iWantedRxTimeSlots = 2; |
|
2535 |
|
2536 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
2537 TMockLtsyCallData1<RMobileCall::TMobileHscsdCallParamsV1> |
|
2538 expLtsyData(KCallId, mobileService, hscsdParams); |
|
2539 expLtsyData.SerialiseL(expData); |
|
2540 |
|
2541 TMockLtsyCallData0 completeLtsyData(KCallId, mobileService); |
|
2542 completeLtsyData.SerialiseL(completeData); |
|
2543 |
|
2544 //------------------------------------------------------------------------- |
|
2545 // TEST A: failure to dispatch request to LTSY |
|
2546 //------------------------------------------------------------------------- |
|
2547 |
|
2548 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData, KErrNotSupported); |
|
2549 |
|
2550 call.SetDynamicHscsdParams(reqStatus, hscsdParams.iWantedAiur, hscsdParams.iWantedRxTimeSlots); |
|
2551 User::WaitForRequest(reqStatus); |
|
2552 ASSERT_EQUALS(KErrNotFound, reqStatus.Int()) |
|
2553 AssertMockLtsyStatusL(); |
|
2554 |
|
2555 //------------------------------------------------------------------------- |
|
2556 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
2557 //------------------------------------------------------------------------- |
|
2558 |
|
2559 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData, KErrNone); |
|
2560 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrGeneral, completeData); |
|
2561 |
|
2562 call.SetDynamicHscsdParams(reqStatus, hscsdParams.iWantedAiur, hscsdParams.iWantedRxTimeSlots); |
|
2563 User::WaitForRequest(reqStatus); |
|
2564 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()) |
|
2565 AssertMockLtsyStatusL(); |
|
2566 |
|
2567 //------------------------------------------------------------------------- |
|
2568 // TEST C: Successful completion request of |
|
2569 // RMobileCall::SetDynamicHscsdParams. |
|
2570 //------------------------------------------------------------------------- |
|
2571 |
|
2572 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData, KErrNone); |
|
2573 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrNone, completeData); |
|
2574 |
|
2575 call.SetDynamicHscsdParams(reqStatus, hscsdParams.iWantedAiur, hscsdParams.iWantedRxTimeSlots); |
|
2576 User::WaitForRequest(reqStatus); |
|
2577 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
2578 AssertMockLtsyStatusL(); |
|
2579 |
|
2580 //------------------------------------------------------------------------- |
|
2581 // TEST E: Unsolicited completion of RMobileCall::SetDynamicHscsdParams |
|
2582 // from LTSY. |
|
2583 //------------------------------------------------------------------------- |
|
2584 |
|
2585 TRequestStatus mockLtsyStatus; |
|
2586 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2587 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrNone, completeData); |
|
2588 User::WaitForRequest(mockLtsyStatus); |
|
2589 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
2590 AssertMockLtsyStatusL(); |
|
2591 |
|
2592 CleanupStack::PopAndDestroy(5, this); // call, line, completeData, expData, this |
|
2593 |
|
2594 } |
|
2595 |
|
2596 |
|
2597 /** |
|
2598 @SYMTestCaseID BA-CTSY-DATC-CSDHP-0007 |
|
2599 @SYMComponent telephony_ctsy |
|
2600 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::SetDynamicHscsdParams for data calls |
|
2601 @SYMTestPriority High |
|
2602 @SYMTestActions Invokes cancelling of RMobileCall::SetDynamicHscsdParams for data calls |
|
2603 @SYMTestExpectedResults Pass |
|
2604 @SYMTestType CT |
|
2605 */ |
|
2606 void CCTsyDataCallControlFU::TestSetDynamicHscsdParams0007L() |
|
2607 { |
|
2608 |
|
2609 OpenEtelServerL(EUseExtendedError); |
|
2610 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2611 OpenPhoneL(); |
|
2612 |
|
2613 RBuf8 expData; |
|
2614 CleanupClosePushL(expData); |
|
2615 RBuf8 completeData; |
|
2616 CleanupClosePushL(completeData); |
|
2617 |
|
2618 RLine line; |
|
2619 RMobileCall call; |
|
2620 |
|
2621 OpenLineLC(line, KMmTsyDataLineName); |
|
2622 const TInt KCallId = 1; |
|
2623 OpenNewCallLC(line, call); |
|
2624 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
2625 |
|
2626 TRequestStatus reqStatus; |
|
2627 |
|
2628 RMobileCall::TMobileHscsdCallParamsV8 hscsdParams; |
|
2629 hscsdParams.iWantedAiur = RMobileCall::EAiurBps38400; |
|
2630 hscsdParams.iWantedRxTimeSlots = 2; |
|
2631 |
|
2632 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
2633 TMockLtsyCallData1<RMobileCall::TMobileHscsdCallParamsV1> |
|
2634 expLtsyData(KCallId, mobileService, hscsdParams); |
|
2635 expLtsyData.SerialiseL(expData); |
|
2636 |
|
2637 TMockLtsyCallData0 completeLtsyData(KCallId, mobileService); |
|
2638 completeLtsyData.SerialiseL(completeData); |
|
2639 |
|
2640 //------------------------------------------------------------------------- |
|
2641 // Test cancelling of RMobileCall::SetDynamicHscsdParams |
|
2642 //------------------------------------------------------------------------- |
|
2643 |
|
2644 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData, KErrNone); |
|
2645 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrNone, completeData); |
|
2646 |
|
2647 call.SetDynamicHscsdParams(reqStatus, hscsdParams.iWantedAiur, hscsdParams.iWantedRxTimeSlots); |
|
2648 |
|
2649 call.CancelAsyncRequest(EMobileCallSetDynamicHscsdParams); |
|
2650 |
|
2651 User::WaitForRequest(reqStatus); |
|
2652 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2653 AssertMockLtsyStatusL(); |
|
2654 |
|
2655 CleanupStack::PopAndDestroy(5, this); // call, line, completeData, expData, this |
|
2656 |
|
2657 |
|
2658 } |
|
2659 |
|
2660 |
|
2661 /** |
|
2662 @SYMTestCaseID BA-CTSY-DATC-CSDHP-0009 |
|
2663 @SYMComponent telephony_ctsy |
|
2664 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::SetDynamicHscsdParams for data calls |
|
2665 @SYMTestPriority High |
|
2666 @SYMTestActions Invokes multiple client requests to RMobileCall::SetDynamicHscsdParams for data calls |
|
2667 @SYMTestExpectedResults Pass |
|
2668 @SYMTestType CT |
|
2669 */ |
|
2670 void CCTsyDataCallControlFU::TestSetDynamicHscsdParams0009L() |
|
2671 { |
|
2672 |
|
2673 OpenEtelServerL(EUseExtendedError); |
|
2674 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2675 OpenPhoneL(); |
|
2676 |
|
2677 RBuf8 expData; |
|
2678 CleanupClosePushL(expData); |
|
2679 RBuf8 completeData; |
|
2680 CleanupClosePushL(completeData); |
|
2681 |
|
2682 RLine line; |
|
2683 RMobileCall call; |
|
2684 |
|
2685 OpenLineLC(line, KMmTsyDataLineName); |
|
2686 const TInt KCallId = 1; |
|
2687 TName callName; |
|
2688 TInt ret = call.OpenNewCall(line, callName); |
|
2689 ASSERT_EQUALS(KErrNone, ret); |
|
2690 CleanupClosePushL(call); |
|
2691 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
2692 |
|
2693 TRequestStatus reqStatus; |
|
2694 |
|
2695 RMobileCall::TMobileHscsdCallParamsV8 hscsdParams; |
|
2696 hscsdParams.iWantedAiur = RMobileCall::EAiurBps38400; |
|
2697 hscsdParams.iWantedRxTimeSlots = 2; |
|
2698 |
|
2699 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
2700 TMockLtsyCallData1<RMobileCall::TMobileHscsdCallParamsV1> |
|
2701 expLtsyData(KCallId, mobileService, hscsdParams); |
|
2702 expLtsyData.SerialiseL(expData); |
|
2703 |
|
2704 TMockLtsyCallData0 completeLtsyData(KCallId, mobileService); |
|
2705 completeLtsyData.SerialiseL(completeData); |
|
2706 |
|
2707 // Open second client |
|
2708 RTelServer telServer2; |
|
2709 ret = telServer2.Connect(); |
|
2710 ASSERT_EQUALS(KErrNone, ret); |
|
2711 CleanupClosePushL(telServer2); |
|
2712 |
|
2713 RMobilePhone phone2; |
|
2714 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
2715 ASSERT_EQUALS(KErrNone, ret); |
|
2716 CleanupClosePushL(phone2); |
|
2717 |
|
2718 RBuf8 expData2; |
|
2719 CleanupClosePushL(expData2); |
|
2720 RBuf8 completeData2; |
|
2721 CleanupClosePushL(completeData2); |
|
2722 |
|
2723 RLine line2; |
|
2724 RMobileCall call2; |
|
2725 |
|
2726 const TInt KCallId2 = 2; |
|
2727 |
|
2728 ret = line2.Open(phone2, KMmTsyDataLineName); |
|
2729 ASSERT_EQUALS(KErrNone, ret) |
|
2730 CleanupClosePushL(line2); |
|
2731 |
|
2732 OpenNewCallLC(line2, call2); |
|
2733 DialL(call2, KCallId2, RMobilePhone::ECircuitDataService); |
|
2734 |
|
2735 TRequestStatus reqStatus2; |
|
2736 |
|
2737 RMobileCall::TMobileHscsdCallParamsV8 hscsdParams2; |
|
2738 hscsdParams2.iWantedAiur = RMobileCall::EAiurBps43200; |
|
2739 hscsdParams2.iWantedRxTimeSlots = 3; |
|
2740 |
|
2741 TMockLtsyCallData1<RMobileCall::TMobileHscsdCallParamsV1> |
|
2742 expLtsyData2(KCallId2, mobileService, hscsdParams2); |
|
2743 expLtsyData2.SerialiseL(expData2); |
|
2744 |
|
2745 TMockLtsyCallData0 completeLtsyData2(KCallId2, mobileService); |
|
2746 completeLtsyData2.SerialiseL(completeData2); |
|
2747 |
|
2748 // Open third call |
|
2749 RBuf8 expData3; |
|
2750 CleanupClosePushL(expData3); |
|
2751 |
|
2752 RMobileCall call3; |
|
2753 ret = call3.OpenExistingCall(line2, callName); |
|
2754 ASSERT_EQUALS(KErrNone, ret); |
|
2755 CleanupClosePushL(call3); |
|
2756 |
|
2757 TRequestStatus reqStatus3; |
|
2758 |
|
2759 RMobileCall::TMobileHscsdCallParamsV8 hscsdParams3; |
|
2760 hscsdParams3.iWantedAiur = RMobileCall::EAiurBps57600; |
|
2761 hscsdParams3.iWantedRxTimeSlots = 4; |
|
2762 |
|
2763 TMockLtsyCallData1<RMobileCall::TMobileHscsdCallParamsV1> |
|
2764 expLtsyData3(KCallId, mobileService, hscsdParams3); |
|
2765 expLtsyData3.SerialiseL(expData3); |
|
2766 |
|
2767 //------------------------------------------------------------------------- |
|
2768 // Test A: Test multiple clients requesting RMobileCall::SetDynamicHscsdParams |
|
2769 //------------------------------------------------------------------------- |
|
2770 |
|
2771 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData, KErrNone); |
|
2772 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrNone, completeData); |
|
2773 call.SetDynamicHscsdParams(reqStatus, hscsdParams.iWantedAiur, hscsdParams.iWantedRxTimeSlots); |
|
2774 |
|
2775 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData2, KErrNone); |
|
2776 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrNone, completeData2); |
|
2777 call2.SetDynamicHscsdParams(reqStatus2, hscsdParams2.iWantedAiur, hscsdParams2.iWantedRxTimeSlots); |
|
2778 |
|
2779 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData3, KErrNone); |
|
2780 iMockLTSY.CompleteL(EMobileCallSetDynamicHscsdParams, KErrNone, completeData); |
|
2781 call3.SetDynamicHscsdParams(reqStatus3, hscsdParams3.iWantedAiur, hscsdParams3.iWantedRxTimeSlots); |
|
2782 |
|
2783 User::WaitForRequest(reqStatus); |
|
2784 ASSERT_EQUALS(KErrNone, reqStatus.Int()) |
|
2785 |
|
2786 User::WaitForRequest(reqStatus2); |
|
2787 ASSERT_EQUALS(KErrNone, reqStatus2.Int()) |
|
2788 |
|
2789 User::WaitForRequest(reqStatus3); |
|
2790 ASSERT_EQUALS(KErrNone, reqStatus3.Int()) |
|
2791 |
|
2792 AssertMockLtsyStatusL(); |
|
2793 |
|
2794 CleanupStack::PopAndDestroy(8); // call3, expData3, call2, line2, completeData2, expData2, phone2, telServer2 |
|
2795 CleanupStack::PopAndDestroy(5, this); // call, line, completeData, expData, this |
|
2796 |
|
2797 } |
|
2798 |
|
2799 |
|
2800 /** |
|
2801 @SYMTestCaseID BA-CTSY-DATC-CSDHP-00010 |
|
2802 @SYMComponent telephony_ctsy |
|
2803 @SYMTestCaseDesc Test support in CTSY for RMobileCall::SetDynamicHscsdParams with timeout for data calls |
|
2804 @SYMTestPriority High |
|
2805 @SYMTestActions Invokes RMobileCall::SetDynamicHscsdParams and tests for timeout for data calls |
|
2806 @SYMTestExpectedResults Pass |
|
2807 @SYMTestType CT |
|
2808 */ |
|
2809 void CCTsyDataCallControlFU::TestSetDynamicHscsdParams00010L() |
|
2810 { |
|
2811 |
|
2812 OpenEtelServerL(EUseExtendedError); |
|
2813 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2814 OpenPhoneL(); |
|
2815 |
|
2816 RBuf8 expData; |
|
2817 CleanupClosePushL(expData); |
|
2818 |
|
2819 RLine line; |
|
2820 RMobileCall call; |
|
2821 |
|
2822 OpenLineLC(line, KMmTsyDataLineName); |
|
2823 const TInt KCallId = 1; |
|
2824 OpenNewCallLC(line, call); |
|
2825 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
2826 |
|
2827 TRequestStatus reqStatus; |
|
2828 |
|
2829 RMobileCall::TMobileHscsdCallParamsV1 hscsdParams; |
|
2830 hscsdParams.iWantedAiur = RMobileCall::EAiurBps38400; |
|
2831 hscsdParams.iWantedRxTimeSlots = 2; |
|
2832 |
|
2833 RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService; |
|
2834 TMockLtsyCallData1<RMobileCall::TMobileHscsdCallParamsV1> |
|
2835 expLtsyData(KCallId, mobileService, hscsdParams); |
|
2836 expLtsyData.SerialiseL(expData); |
|
2837 |
|
2838 //------------------------------------------------------------------------- |
|
2839 // Test A: Test timeout of RMobileCall::SetDynamicHscsdParams |
|
2840 //------------------------------------------------------------------------- |
|
2841 |
|
2842 iMockLTSY.ExpectL(EMobileCallSetDynamicHscsdParams, expData, KErrNone); |
|
2843 call.SetDynamicHscsdParams(reqStatus, hscsdParams.iWantedAiur, hscsdParams.iWantedRxTimeSlots); |
|
2844 User::WaitForRequest(reqStatus); |
|
2845 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()) |
|
2846 AssertMockLtsyStatusL(); |
|
2847 |
|
2848 CleanupStack::PopAndDestroy(4, this); // call, line, expData, this |
|
2849 |
|
2850 } |
|
2851 |
|
2852 |
|
2853 /** |
|
2854 @SYMTestCaseID BA-CTSY-DATC-CSDHP-00011 |
|
2855 @SYMComponent telephony_ctsy |
|
2856 @SYMTestCaseDesc Test support in CTSY for RMobileCall::SetDynamicHscsdParams for fax calls |
|
2857 @SYMTestPriority High |
|
2858 @SYMTestActions Invokes RMobileCall::SetDynamicHscsdParams for fax calls |
|
2859 @SYMTestExpectedResults Pass |
|
2860 @SYMTestType CT |
|
2861 */ |
|
2862 void CCTsyDataCallControlFU::TestSetDynamicHscsdParams00011L() |
|
2863 { |
|
2864 |
|
2865 OpenEtelServerL(EUseExtendedError); |
|
2866 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2867 OpenPhoneL(); |
|
2868 |
|
2869 RLine line; |
|
2870 RMobileCall call; |
|
2871 |
|
2872 OpenLineLC(line, KMmTsyFaxLineName); |
|
2873 OpenNewCallLC(line, call); |
|
2874 |
|
2875 //------------------------------------------------------------------------- |
|
2876 // TEST: failure to dispatch request to CTSY |
|
2877 // because RMobileCall::SetDynamicHscsdParams is not supported for fax calls |
|
2878 //------------------------------------------------------------------------- |
|
2879 |
|
2880 TRequestStatus reqStatus; |
|
2881 call.SetDynamicHscsdParams(reqStatus, RMobileCall::EAiurBps38400, 2); |
|
2882 User::WaitForRequest(reqStatus); |
|
2883 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2884 |
|
2885 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
2886 |
|
2887 } |
|
2888 |
|
2889 |
|
2890 /** |
|
2891 @SYMTestCaseID BA-CTSY-DATC-CGMDCRR-0001 |
|
2892 @SYMComponent telephony_ctsy |
|
2893 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallRLPRange for voice calls |
|
2894 @SYMTestPriority High |
|
2895 @SYMTestActions Invokes RMobileCall::GetMobileDataCallRLPRange for voice calls |
|
2896 @SYMTestExpectedResults Pass |
|
2897 @SYMTestType CT |
|
2898 */ |
|
2899 void CCTsyDataCallControlFU::TestGetMobileDataCallRLPRange0001L() |
|
2900 { |
|
2901 |
|
2902 OpenEtelServerL(EUseExtendedError); |
|
2903 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2904 OpenPhoneL(); |
|
2905 |
|
2906 RLine line; |
|
2907 RMobileCall call; |
|
2908 |
|
2909 //------------------------------------------------------------------------- |
|
2910 // TEST: failure to dispatch request to CTSY |
|
2911 // because RMobileCall::GetMobileDataCallRLPRange is not supported |
|
2912 //------------------------------------------------------------------------- |
|
2913 |
|
2914 OpenLineLC(line, KMmTsyVoice1LineName); |
|
2915 OpenNewCallLC(line, call); |
|
2916 |
|
2917 TRequestStatus reqStatus; |
|
2918 RMobileCall::TMobileDataRLPRangesV1 ranges; |
|
2919 RMobileCall::TMobileDataRLPRangesV1Pckg rangesPckg(ranges); |
|
2920 call.GetMobileDataCallRLPRange(reqStatus, 0, rangesPckg); |
|
2921 User::WaitForRequest(reqStatus); |
|
2922 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2923 |
|
2924 CleanupStack::PopAndDestroy(2); // call, line |
|
2925 |
|
2926 // same test for voice call from auxiliary voice line |
|
2927 OpenLineLC(line, KMmTsyVoice2LineName); |
|
2928 OpenNewCallLC(line, call); |
|
2929 |
|
2930 call.GetMobileDataCallRLPRange(reqStatus, 0, rangesPckg); |
|
2931 User::WaitForRequest(reqStatus); |
|
2932 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2933 |
|
2934 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
2935 |
|
2936 } |
|
2937 |
|
2938 |
|
2939 /** |
|
2940 @SYMTestCaseID BA-CTSY-DATC-CGMDCRR-0006 |
|
2941 @SYMComponent telephony_ctsy |
|
2942 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallRLPRange for data calls |
|
2943 @SYMTestPriority High |
|
2944 @SYMTestActions Invokes RMobileCall::GetMobileDataCallRLPRange for data calls |
|
2945 @SYMTestExpectedResults Pass |
|
2946 @SYMTestType CT |
|
2947 */ |
|
2948 void CCTsyDataCallControlFU::TestGetMobileDataCallRLPRange0006L() |
|
2949 { |
|
2950 |
|
2951 OpenEtelServerL(EUseExtendedError); |
|
2952 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2953 OpenPhoneL(); |
|
2954 |
|
2955 RLine line; |
|
2956 RMobileCall call; |
|
2957 |
|
2958 OpenLineLC(line, KMmTsyDataLineName); |
|
2959 OpenNewCallLC(line, call); |
|
2960 |
|
2961 TRequestStatus reqStatus; |
|
2962 RMobileCall::TMobileDataRLPRangesV1 ranges; |
|
2963 RMobileCall::TMobileDataRLPRangesV1Pckg rangesPckg(ranges); |
|
2964 |
|
2965 //------------------------------------------------------------------------- |
|
2966 // TEST: failure to dispatch request to CTSY |
|
2967 // because RMobileCall::GetMobileDataCallRLPRange is not supported |
|
2968 //------------------------------------------------------------------------- |
|
2969 |
|
2970 call.GetMobileDataCallRLPRange(reqStatus, 0, rangesPckg); |
|
2971 User::WaitForRequest(reqStatus); |
|
2972 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
2973 |
|
2974 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
2975 |
|
2976 } |
|
2977 |
|
2978 |
|
2979 /** |
|
2980 @SYMTestCaseID BA-CTSY-DATC-CGMDCRR-00011 |
|
2981 @SYMComponent telephony_ctsy |
|
2982 @SYMTestCaseDesc Test support in CTSY for RMobileCall::GetMobileDataCallRLPRange for fax calls |
|
2983 @SYMTestPriority High |
|
2984 @SYMTestActions Invokes RMobileCall::GetMobileDataCallRLPRange for fax calls |
|
2985 @SYMTestExpectedResults Pass |
|
2986 @SYMTestType CT |
|
2987 */ |
|
2988 void CCTsyDataCallControlFU::TestGetMobileDataCallRLPRange00011L() |
|
2989 { |
|
2990 |
|
2991 OpenEtelServerL(EUseExtendedError); |
|
2992 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2993 OpenPhoneL(); |
|
2994 |
|
2995 RLine line; |
|
2996 RMobileCall call; |
|
2997 |
|
2998 OpenLineLC(line, KMmTsyFaxLineName); |
|
2999 OpenNewCallLC(line, call); |
|
3000 |
|
3001 TRequestStatus reqStatus; |
|
3002 RMobileCall::TMobileDataRLPRangesV1 ranges; |
|
3003 RMobileCall::TMobileDataRLPRangesV1Pckg rangesPckg(ranges); |
|
3004 |
|
3005 //------------------------------------------------------------------------- |
|
3006 // TEST: failure to dispatch request to CTSY |
|
3007 // because RMobileCall::GetMobileDataCallRLPRange is not supported |
|
3008 //------------------------------------------------------------------------- |
|
3009 |
|
3010 call.GetMobileDataCallRLPRange(reqStatus, 0, rangesPckg); |
|
3011 User::WaitForRequest(reqStatus); |
|
3012 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
3013 |
|
3014 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
3015 |
|
3016 } |
|
3017 |
|
3018 |
|
3019 /** |
|
3020 @SYMTestCaseID BA-CTSY-DATC-CNMDCCC-0001 |
|
3021 @SYMComponent telephony_ctsy |
|
3022 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyMobileDataCallCapsChange for voice calls |
|
3023 @SYMTestPriority High |
|
3024 @SYMTestActions Invokes RMobileCall::NotifyMobileDataCallCapsChange for voice calls |
|
3025 @SYMTestExpectedResults Pass |
|
3026 @SYMTestType CT |
|
3027 */ |
|
3028 void CCTsyDataCallControlFU::TestNotifyMobileDataCallCapsChange0001L() |
|
3029 { |
|
3030 |
|
3031 OpenEtelServerL(EUseExtendedError); |
|
3032 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3033 OpenPhoneL(); |
|
3034 |
|
3035 RLine line; |
|
3036 RMobileCall call; |
|
3037 |
|
3038 //------------------------------------------------------------------------- |
|
3039 // TEST: failure to dispatch request to CTSY |
|
3040 // because RMobileCall::NotifyMobileDataCallCapsChange is not supported for voice calls |
|
3041 //------------------------------------------------------------------------- |
|
3042 |
|
3043 OpenLineLC(line, KMmTsyVoice1LineName); |
|
3044 OpenNewCallLC(line, call); |
|
3045 |
|
3046 TRequestStatus reqStatus; |
|
3047 RMobileCall::TMobileCallDataCapsV1 callCaps; |
|
3048 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg(callCaps); |
|
3049 call.NotifyMobileDataCallCapsChange(reqStatus, callCapsPckg); |
|
3050 User::WaitForRequest(reqStatus); |
|
3051 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
3052 |
|
3053 CleanupStack::PopAndDestroy(2); // call, line |
|
3054 |
|
3055 // same test for voice call from auxiliary voice line |
|
3056 OpenLineLC(line, KMmTsyVoice2LineName); |
|
3057 OpenNewCallLC(line, call); |
|
3058 |
|
3059 call.NotifyMobileDataCallCapsChange(reqStatus, callCapsPckg); |
|
3060 User::WaitForRequest(reqStatus); |
|
3061 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
3062 |
|
3063 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
3064 |
|
3065 } |
|
3066 |
|
3067 |
|
3068 /** |
|
3069 @SYMTestCaseID BA-CTSY-DATC-CNMDCCC-0006 |
|
3070 @SYMComponent telephony_ctsy |
|
3071 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyMobileDataCallCapsChange for data calls |
|
3072 @SYMTestPriority High |
|
3073 @SYMTestActions Invokes RMobileCall::NotifyMobileDataCallCapsChange for data calls |
|
3074 @SYMTestExpectedResults Pass |
|
3075 @SYMTestType CT |
|
3076 */ |
|
3077 void CCTsyDataCallControlFU::TestNotifyMobileDataCallCapsChange0006L() |
|
3078 { |
|
3079 |
|
3080 OpenEtelServerL(EUseExtendedError); |
|
3081 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3082 OpenPhoneL(); |
|
3083 |
|
3084 RBuf8 completeData; |
|
3085 CleanupClosePushL(completeData); |
|
3086 |
|
3087 RLine line; |
|
3088 RMobileCall call; |
|
3089 |
|
3090 OpenLineLC(line, KMmTsyDataLineName); |
|
3091 const TInt KCallId = 1; |
|
3092 OpenNewCallLC(line, call); |
|
3093 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
3094 |
|
3095 RMobileCall::TMobileCallDataCapsV1 completeCallCaps; |
|
3096 completeCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed48000; |
|
3097 completeCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV34; |
|
3098 completeCallCaps.iServiceCaps = RMobileCall::KCapsPacketAccessSyncUDI; |
|
3099 completeCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
3100 completeCallCaps.iHscsdSupport = ETrue; |
|
3101 completeCallCaps.iMClass = 2; |
|
3102 completeCallCaps.iMaxRxTimeSlots = 4; |
|
3103 completeCallCaps.iMaxTxTimeSlots = 8; |
|
3104 completeCallCaps.iTotalRxTxTimeSlots = 10; |
|
3105 completeCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding96; |
|
3106 completeCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryDownlink; |
|
3107 completeCallCaps.iUserInitUpgrade = ETrue; |
|
3108 completeCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
3109 completeCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisRxDirection; |
|
3110 |
|
3111 TMockLtsyCallData1<RMobileCall::TMobileCallDataCapsV1> |
|
3112 completeLtsyData(KCallId, RMobilePhone::ECircuitDataService, completeCallCaps); |
|
3113 completeLtsyData.SerialiseL(completeData); |
|
3114 |
|
3115 //------------------------------------------------------------------------- |
|
3116 // TEST C: Successful completion request of |
|
3117 // RMobileCall::NotifyMobileDataCallCapsChange when result is not cached. |
|
3118 //------------------------------------------------------------------------- |
|
3119 |
|
3120 TRequestStatus reqStatus; |
|
3121 RMobileCall::TMobileCallDataCapsV1 callCaps; |
|
3122 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg(callCaps); |
|
3123 call.NotifyMobileDataCallCapsChange(reqStatus, callCapsPckg); |
|
3124 |
|
3125 TRequestStatus mockLtsyStatus; |
|
3126 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3127 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, completeData); |
|
3128 User::WaitForRequest(mockLtsyStatus); |
|
3129 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
3130 |
|
3131 User::WaitForRequest(reqStatus); |
|
3132 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3133 ASSERT_TRUE(TComparator<RMobileCall::TMobileCallDataCapsV1>::IsEqual(completeCallCaps, callCaps)); |
|
3134 |
|
3135 AssertMockLtsyStatusL(); |
|
3136 |
|
3137 //------------------------------------------------------------------------- |
|
3138 // TEST E: Unsolicited completion of RMobileCall::NotifyMobileDataCallCapsChange |
|
3139 // from LTSY. |
|
3140 //------------------------------------------------------------------------- |
|
3141 |
|
3142 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3143 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, completeData); |
|
3144 User::WaitForRequest(mockLtsyStatus); |
|
3145 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
3146 AssertMockLtsyStatusL(); |
|
3147 |
|
3148 CleanupStack::PopAndDestroy(4, this); // call, line, completeData, this |
|
3149 |
|
3150 } |
|
3151 |
|
3152 |
|
3153 /** |
|
3154 @SYMTestCaseID BA-CTSY-DATC-CNMDCCC-0007 |
|
3155 @SYMComponent telephony_ctsy |
|
3156 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::NotifyMobileDataCallCapsChange for data calls |
|
3157 @SYMTestPriority High |
|
3158 @SYMTestActions Invokes cancelling of RMobileCall::NotifyMobileDataCallCapsChange for data calls |
|
3159 @SYMTestExpectedResults Pass |
|
3160 @SYMTestType CT |
|
3161 */ |
|
3162 void CCTsyDataCallControlFU::TestNotifyMobileDataCallCapsChange0007L() |
|
3163 { |
|
3164 |
|
3165 OpenEtelServerL(EUseExtendedError); |
|
3166 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3167 OpenPhoneL(); |
|
3168 |
|
3169 RLine line; |
|
3170 RMobileCall call; |
|
3171 |
|
3172 OpenLineLC(line, KMmTsyDataLineName); |
|
3173 const TInt KCallId = 1; |
|
3174 OpenNewCallLC(line, call); |
|
3175 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
3176 |
|
3177 //------------------------------------------------------------------------- |
|
3178 // Test cancelling of RMobileCall::NotifyMobileDataCallCapsChange |
|
3179 //------------------------------------------------------------------------- |
|
3180 |
|
3181 TRequestStatus reqStatus; |
|
3182 RMobileCall::TMobileCallDataCapsV1 callCaps; |
|
3183 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg(callCaps); |
|
3184 call.NotifyMobileDataCallCapsChange(reqStatus, callCapsPckg); |
|
3185 |
|
3186 call.CancelAsyncRequest(EMobileCallNotifyMobileDataCallCapsChange); |
|
3187 |
|
3188 User::WaitForRequest(reqStatus); |
|
3189 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
3190 |
|
3191 AssertMockLtsyStatusL(); |
|
3192 CleanupStack::PopAndDestroy(3, this); // line, call, this |
|
3193 |
|
3194 } |
|
3195 |
|
3196 |
|
3197 /** |
|
3198 @SYMTestCaseID BA-CTSY-DATC-CNMDCCC-0008 |
|
3199 @SYMComponent telephony_ctsy |
|
3200 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyMobileDataCallCapsChange with bad parameter data for data calls |
|
3201 @SYMTestPriority High |
|
3202 @SYMTestActions Invokes RMobileCall::NotifyMobileDataCallCapsChange with bad parameter data for data calls |
|
3203 @SYMTestExpectedResults Pass |
|
3204 @SYMTestType CT |
|
3205 */ |
|
3206 void CCTsyDataCallControlFU::TestNotifyMobileDataCallCapsChange0008L() |
|
3207 { |
|
3208 |
|
3209 OpenEtelServerL(EUseExtendedError); |
|
3210 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3211 OpenPhoneL(); |
|
3212 |
|
3213 RBuf8 completeData; |
|
3214 CleanupClosePushL(completeData); |
|
3215 |
|
3216 RLine line; |
|
3217 RMobileCall call; |
|
3218 |
|
3219 OpenLineLC(line, KMmTsyDataLineName); |
|
3220 const TInt KCallId = 1; |
|
3221 OpenNewCallLC(line, call); |
|
3222 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
3223 |
|
3224 RMobileCall::TMobileCallDataCapsV1 completeCallCaps; |
|
3225 completeCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed48000; |
|
3226 completeCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV34; |
|
3227 completeCallCaps.iServiceCaps = RMobileCall::KCapsPacketAccessSyncUDI; |
|
3228 completeCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
3229 completeCallCaps.iHscsdSupport = ETrue; |
|
3230 completeCallCaps.iMClass = 2; |
|
3231 completeCallCaps.iMaxRxTimeSlots = 4; |
|
3232 completeCallCaps.iMaxTxTimeSlots = 8; |
|
3233 completeCallCaps.iTotalRxTxTimeSlots = 10; |
|
3234 completeCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding96; |
|
3235 completeCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryDownlink; |
|
3236 completeCallCaps.iUserInitUpgrade = ETrue; |
|
3237 completeCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
3238 completeCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisRxDirection; |
|
3239 |
|
3240 TMockLtsyCallData1<RMobileCall::TMobileCallDataCapsV1> |
|
3241 completeLtsyData(KCallId, RMobilePhone::ECircuitDataService, completeCallCaps); |
|
3242 completeLtsyData.SerialiseL(completeData); |
|
3243 |
|
3244 //------------------------------------------------------------------------- |
|
3245 // Test B: Test passing wrong descriptor size to parameter in |
|
3246 // RMobileCall::NotifyMobileDataCallCapsChange |
|
3247 //------------------------------------------------------------------------- |
|
3248 |
|
3249 TRequestStatus reqStatus; |
|
3250 TBuf8<1> wrongCallCaps(KNullDesC8); |
|
3251 call.NotifyMobileDataCallCapsChange(reqStatus, wrongCallCaps); |
|
3252 |
|
3253 TRequestStatus mockLtsyStatus; |
|
3254 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3255 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, completeData); |
|
3256 User::WaitForRequest(mockLtsyStatus); |
|
3257 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
3258 |
|
3259 User::WaitForRequest(reqStatus); |
|
3260 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
3261 |
|
3262 //------------------------------------------------------------------------- |
|
3263 // Test B: Test passing wrong parameter to |
|
3264 // RMobileCall::NotifyMobileDataCallCapsChange method |
|
3265 //------------------------------------------------------------------------- |
|
3266 |
|
3267 const TInt bufSize = sizeof ( RMobileCall::TMobileCallDataCapsV1 ); |
|
3268 TBuf8<bufSize> wrongCallCaps2; |
|
3269 wrongCallCaps2.FillZ(); // Fill buffer with zero |
|
3270 call.NotifyMobileDataCallCapsChange(reqStatus, wrongCallCaps2); |
|
3271 |
|
3272 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3273 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, completeData); |
|
3274 User::WaitForRequest(mockLtsyStatus); |
|
3275 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
3276 |
|
3277 User::WaitForRequest(reqStatus); |
|
3278 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
3279 |
|
3280 CleanupStack::PopAndDestroy(4, this); // call, line, completeData, this |
|
3281 |
|
3282 } |
|
3283 |
|
3284 |
|
3285 /** |
|
3286 @SYMTestCaseID BA-CTSY-DATC-CNMDCCC-0009 |
|
3287 @SYMComponent telephony_ctsy |
|
3288 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::NotifyMobileDataCallCapsChange for data calls |
|
3289 @SYMTestPriority High |
|
3290 @SYMTestActions Invokes multiple client requests to RMobileCall::NotifyMobileDataCallCapsChange for data calls |
|
3291 @SYMTestExpectedResults Pass |
|
3292 @SYMTestType CT |
|
3293 */ |
|
3294 void CCTsyDataCallControlFU::TestNotifyMobileDataCallCapsChange0009L() |
|
3295 { |
|
3296 |
|
3297 OpenEtelServerL(EUseExtendedError); |
|
3298 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3299 OpenPhoneL(); |
|
3300 |
|
3301 RBuf8 completeData; |
|
3302 CleanupClosePushL(completeData); |
|
3303 |
|
3304 RLine line; |
|
3305 RMobileCall call; |
|
3306 |
|
3307 OpenLineLC(line, KMmTsyDataLineName); |
|
3308 const TInt KCallId = 1; |
|
3309 TName callName; |
|
3310 TInt ret = call.OpenNewCall(line, callName); |
|
3311 ASSERT_EQUALS(KErrNone, ret); |
|
3312 CleanupClosePushL(call); |
|
3313 DialL(call, KCallId, RMobilePhone::ECircuitDataService); |
|
3314 |
|
3315 RMobileCall::TMobileCallDataCapsV1 completeCallCaps; |
|
3316 completeCallCaps.iSpeedCaps = RMobileCall::KCapsSpeed48000; |
|
3317 completeCallCaps.iProtocolCaps = RMobileCall::KCapsProtocolV34; |
|
3318 completeCallCaps.iServiceCaps = RMobileCall::KCapsPacketAccessSyncUDI; |
|
3319 completeCallCaps.iQoSCaps = RMobileCall::KCapsTransparentPreferred; |
|
3320 completeCallCaps.iHscsdSupport = ETrue; |
|
3321 completeCallCaps.iMClass = 2; |
|
3322 completeCallCaps.iMaxRxTimeSlots = 4; |
|
3323 completeCallCaps.iMaxTxTimeSlots = 8; |
|
3324 completeCallCaps.iTotalRxTxTimeSlots = 10; |
|
3325 completeCallCaps.iCodingCaps = RMobileCall::KCapsAiurCoding96; |
|
3326 completeCallCaps.iAsymmetryCaps = RMobileCall::KCapsAsymmetryDownlink; |
|
3327 completeCallCaps.iUserInitUpgrade = ETrue; |
|
3328 completeCallCaps.iRLPVersionCaps = RMobileCall::KCapsRLPSingleLinkVersion1; |
|
3329 completeCallCaps.iV42bisCaps = RMobileCall::KCapsV42bisRxDirection; |
|
3330 |
|
3331 TMockLtsyCallData1<RMobileCall::TMobileCallDataCapsV1> |
|
3332 completeLtsyData(KCallId, RMobilePhone::ECircuitDataService, completeCallCaps); |
|
3333 completeLtsyData.SerialiseL(completeData); |
|
3334 |
|
3335 // Open second client |
|
3336 RTelServer telServer2; |
|
3337 ret = telServer2.Connect(); |
|
3338 ASSERT_EQUALS(KErrNone, ret); |
|
3339 CleanupClosePushL(telServer2); |
|
3340 |
|
3341 RMobilePhone phone2; |
|
3342 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
3343 ASSERT_EQUALS(KErrNone, ret); |
|
3344 CleanupClosePushL(phone2); |
|
3345 |
|
3346 RLine line2; |
|
3347 RMobileCall call2; |
|
3348 |
|
3349 const TInt KCallId2 = 2; |
|
3350 |
|
3351 ret = line2.Open(phone2, KMmTsyDataLineName); |
|
3352 ASSERT_EQUALS(KErrNone, ret) |
|
3353 CleanupClosePushL(line2); |
|
3354 |
|
3355 OpenNewCallLC(line2, call2); |
|
3356 DialL(call2, KCallId2, RMobilePhone::ECircuitDataService); |
|
3357 |
|
3358 RBuf8 completeData2; |
|
3359 CleanupClosePushL(completeData2); |
|
3360 |
|
3361 RMobileCall::TMobileCallDataCapsV1 completeCallCaps2; |
|
3362 completeCallCaps2.iSpeedCaps = RMobileCall::KCapsSpeed56000; |
|
3363 completeCallCaps2.iProtocolCaps = RMobileCall::KCapsProtocolV32; |
|
3364 completeCallCaps2.iServiceCaps = RMobileCall::KCapsPacketAccessSyncRDI; |
|
3365 completeCallCaps2.iQoSCaps = RMobileCall::KCapsTransparent; |
|
3366 completeCallCaps2.iHscsdSupport = EFalse; |
|
3367 completeCallCaps2.iMClass = 1; |
|
3368 completeCallCaps2.iMaxRxTimeSlots = 2; |
|
3369 completeCallCaps2.iMaxTxTimeSlots = 4; |
|
3370 completeCallCaps2.iTotalRxTxTimeSlots = 6; |
|
3371 completeCallCaps2.iCodingCaps = RMobileCall::KCapsAiurCoding144; |
|
3372 completeCallCaps2.iAsymmetryCaps = RMobileCall::KCapsAsymmetryUplink; |
|
3373 completeCallCaps2.iUserInitUpgrade = EFalse; |
|
3374 completeCallCaps2.iRLPVersionCaps = RMobileCall::KCapsRLPMultiLinkVersion2; |
|
3375 completeCallCaps2.iV42bisCaps = RMobileCall::KCapsV42bisBothDirections; |
|
3376 |
|
3377 TMockLtsyCallData1<RMobileCall::TMobileCallDataCapsV1> |
|
3378 completeLtsyData2(KCallId2, RMobilePhone::ECircuitDataService, completeCallCaps2); |
|
3379 completeLtsyData2.SerialiseL(completeData2); |
|
3380 |
|
3381 // open third call |
|
3382 RMobileCall call3; |
|
3383 ret = call3.OpenExistingCall(line2, callName); |
|
3384 ASSERT_EQUALS(KErrNone, ret); |
|
3385 CleanupClosePushL(call3); |
|
3386 |
|
3387 //------------------------------------------------------------------------- |
|
3388 // Test A: Test multiple clients requesting RMobileCall::NotifyMobileDataCallCapsChange |
|
3389 //------------------------------------------------------------------------- |
|
3390 |
|
3391 TRequestStatus reqStatus; |
|
3392 RMobileCall::TMobileCallDataCapsV1 callCaps; |
|
3393 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg(callCaps); |
|
3394 call.NotifyMobileDataCallCapsChange(reqStatus, callCapsPckg); |
|
3395 |
|
3396 TRequestStatus reqStatus2; |
|
3397 RMobileCall::TMobileCallDataCapsV1 callCaps2; |
|
3398 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg2(callCaps2); |
|
3399 call2.NotifyMobileDataCallCapsChange(reqStatus2, callCapsPckg2); |
|
3400 |
|
3401 TRequestStatus reqStatus3; |
|
3402 RMobileCall::TMobileCallDataCapsV1 callCaps3; |
|
3403 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg3(callCaps3); |
|
3404 call3.NotifyMobileDataCallCapsChange(reqStatus3, callCapsPckg3); |
|
3405 |
|
3406 TRequestStatus mockLtsyStatus; |
|
3407 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3408 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, completeData); |
|
3409 User::WaitForRequest(mockLtsyStatus); |
|
3410 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
3411 |
|
3412 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3413 iMockLTSY.CompleteL(EMobileCallNotifyMobileDataCallCapsChange, KErrNone, completeData2); |
|
3414 User::WaitForRequest(mockLtsyStatus); |
|
3415 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()) |
|
3416 |
|
3417 User::WaitForRequest(reqStatus); |
|
3418 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3419 ASSERT_TRUE(TComparator<RMobileCall::TMobileCallDataCapsV1>::IsEqual(completeCallCaps, callCaps)); |
|
3420 |
|
3421 User::WaitForRequest(reqStatus2); |
|
3422 ASSERT_EQUALS(KErrNone, reqStatus2.Int()); |
|
3423 ASSERT_TRUE(TComparator<RMobileCall::TMobileCallDataCapsV1>::IsEqual(completeCallCaps2, callCaps2)); |
|
3424 |
|
3425 User::WaitForRequest(reqStatus3); |
|
3426 ASSERT_EQUALS(KErrNone, reqStatus3.Int()); |
|
3427 ASSERT_TRUE(TComparator<RMobileCall::TMobileCallDataCapsV1>::IsEqual(completeCallCaps, callCaps3)); |
|
3428 |
|
3429 AssertMockLtsyStatusL(); |
|
3430 |
|
3431 CleanupStack::PopAndDestroy(10, this); // call3, completeData2, call2, line2, phone2, telServer2, call, line, completeData, this |
|
3432 |
|
3433 } |
|
3434 |
|
3435 |
|
3436 /** |
|
3437 @SYMTestCaseID BA-CTSY-DATC-CNMDCCC-00011 |
|
3438 @SYMComponent telephony_ctsy |
|
3439 @SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyMobileDataCallCapsChange for fax calls |
|
3440 @SYMTestPriority High |
|
3441 @SYMTestActions Invokes RMobileCall::NotifyMobileDataCallCapsChange for fax calls |
|
3442 @SYMTestExpectedResults Pass |
|
3443 @SYMTestType CT |
|
3444 */ |
|
3445 void CCTsyDataCallControlFU::TestNotifyMobileDataCallCapsChange00011L() |
|
3446 { |
|
3447 |
|
3448 OpenEtelServerL(EUseExtendedError); |
|
3449 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3450 OpenPhoneL(); |
|
3451 |
|
3452 RLine line; |
|
3453 RMobileCall call; |
|
3454 |
|
3455 OpenLineLC(line, KMmTsyFaxLineName); |
|
3456 OpenNewCallLC(line, call); |
|
3457 |
|
3458 TRequestStatus reqStatus; |
|
3459 RMobileCall::TMobileCallDataCapsV1 callCaps; |
|
3460 RMobileCall::TMobileCallDataCapsV1Pckg callCapsPckg(callCaps); |
|
3461 |
|
3462 //------------------------------------------------------------------------- |
|
3463 // TEST: failure to dispatch request to CTSY |
|
3464 // because RMobileCall::NotifyMobileDataCallCapsChange is not supported for fax calls |
|
3465 //------------------------------------------------------------------------- |
|
3466 |
|
3467 call.NotifyMobileDataCallCapsChange(reqStatus, callCapsPckg); |
|
3468 User::WaitForRequest(reqStatus); |
|
3469 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()) |
|
3470 |
|
3471 CleanupStack::PopAndDestroy(3, this); // call, line, this |
|
3472 |
|
3473 } |
|
3474 |
|
3475 |