|
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 BroadcastMessaging in the Common TSY. |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 */ |
|
21 |
|
22 #include "cctsybroadcastmessagingfu.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 <mmretrieve.h> |
|
31 #include "cctsyactiveretriever.h" |
|
32 #include <ctsy/serviceapi/cmmsmsutility.h> |
|
33 |
|
34 CTestSuite* CCTsyBroadcastMessagingFU::CreateSuiteL(const TDesC& aName) |
|
35 { |
|
36 SUB_SUITE; |
|
37 |
|
38 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStoreBroadcastIdListL0001L); |
|
39 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStoreBroadcastIdListL0002L); |
|
40 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStoreBroadcastIdListL0003L); |
|
41 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStoreBroadcastIdListL0004L); |
|
42 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStoreBroadcastIdListL0005L); |
|
43 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStart0001L); |
|
44 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStart0002L); |
|
45 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStart0004L); |
|
46 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestStart0005L); |
|
47 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestReceiveMessage0001L); |
|
48 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestReceiveMessage0002L); |
|
49 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestReceiveMessage0003L); |
|
50 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestReceiveMessage0004L); |
|
51 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestReceiveMessage0005L); |
|
52 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestGetFilterSetting0001L); |
|
53 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestSetFilterSetting0001L); |
|
54 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestSetFilterSetting0002L); |
|
55 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestSetFilterSetting0003L); |
|
56 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestSetFilterSetting0004L); |
|
57 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestSetFilterSetting0005L); |
|
58 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestGetLanguageFilter0001L); |
|
59 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestSetLanguageFilter0001L); |
|
60 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestNotifyFilterSettingChange0001L); |
|
61 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestNotifyFilterSettingChange0002L); |
|
62 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestNotifyFilterSettingChange0003L); |
|
63 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestNotifyFilterSettingChange0004L); |
|
64 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestNotifyLanguageFilterChange0001L); |
|
65 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestNotifyBroadcastIdListChange0001L); |
|
66 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestGetCaps0001L); |
|
67 ADD_TEST_STEP_ISO_CPP(CCTsyBroadcastMessagingFU, TestGetCaps0003L); |
|
68 |
|
69 END_SUITE; |
|
70 } |
|
71 |
|
72 |
|
73 void CCTsyBroadcastMessagingFU::FillInBroadcastIdListL(CMobilePhoneBroadcastIdList& aList) |
|
74 { |
|
75 |
|
76 RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 entry; |
|
77 |
|
78 entry.iId = 7; |
|
79 aList.AddEntryL(entry); |
|
80 |
|
81 entry.iId = 17; |
|
82 aList.AddEntryL(entry); |
|
83 |
|
84 entry.iId = 37; |
|
85 aList.AddEntryL(entry); |
|
86 |
|
87 } |
|
88 |
|
89 // |
|
90 // Actual test cases |
|
91 // |
|
92 |
|
93 |
|
94 /** |
|
95 @SYMTestCaseID BA-CTSY-BRMSG-BSBIL-0001 |
|
96 @SYMComponent telephony_ctsy |
|
97 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
98 @SYMTestPriority High |
|
99 @SYMTestActions Invokes RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
100 @SYMTestExpectedResults Pass |
|
101 @SYMTestType CT |
|
102 */ |
|
103 void CCTsyBroadcastMessagingFU::TestStoreBroadcastIdListL0001L() |
|
104 { |
|
105 |
|
106 OpenEtelServerL(EUseExtendedError); |
|
107 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
108 OpenPhoneL(); |
|
109 |
|
110 RBuf8 data; |
|
111 CleanupClosePushL(data); |
|
112 |
|
113 RMobileBroadcastMessaging messaging; |
|
114 TInt err = messaging.Open(iPhone); |
|
115 ASSERT_EQUALS(KErrNone, err); |
|
116 CleanupClosePushL(messaging); |
|
117 |
|
118 TRequestStatus reqStatus; |
|
119 |
|
120 CMobilePhoneBroadcastIdList* idList = CMobilePhoneBroadcastIdList::NewL(); |
|
121 CleanupStack::PushL(idList); |
|
122 |
|
123 RMobileBroadcastMessaging::TMobileBroadcastIdType type |
|
124 = RMobileBroadcastMessaging::EGsmBroadcastId; |
|
125 |
|
126 TMockLtsyData2<CMobilePhoneBroadcastIdList*, |
|
127 RMobileBroadcastMessaging::TMobileBroadcastIdType> |
|
128 expectLtsyData(idList, type); |
|
129 FillInBroadcastIdListL(*idList); |
|
130 expectLtsyData.SerialiseL(data); |
|
131 |
|
132 //------------------------------------------------------------------------- |
|
133 // TEST A: failure to dispatch request to LTSY |
|
134 //------------------------------------------------------------------------- |
|
135 |
|
136 messaging.StoreBroadcastIdListL(reqStatus, idList, type); |
|
137 |
|
138 User::WaitForRequest(reqStatus); |
|
139 |
|
140 AssertMockLtsyStatusL(); |
|
141 |
|
142 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
143 |
|
144 |
|
145 iMockLTSY.NotifyTerminated(reqStatus); |
|
146 iMockLTSY.CompleteL(EMobileBroadcastMessagingStoreIdList, KErrNone); |
|
147 User::WaitForRequest(reqStatus); |
|
148 AssertMockLtsyStatusL(); |
|
149 |
|
150 CleanupStack::PopAndDestroy(4, this); // idList, messaging, data, this |
|
151 |
|
152 } |
|
153 |
|
154 |
|
155 /** |
|
156 @SYMTestCaseID BA-CTSY-BRMSG-BSBIL-0002 |
|
157 @SYMComponent telephony_ctsy |
|
158 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
159 @SYMTestPriority High |
|
160 @SYMTestActions Invokes cancelling of RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
161 @SYMTestExpectedResults Pass |
|
162 @SYMTestType CT |
|
163 */ |
|
164 void CCTsyBroadcastMessagingFU::TestStoreBroadcastIdListL0002L() |
|
165 { |
|
166 |
|
167 OpenEtelServerL(EUseExtendedError); |
|
168 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
169 OpenPhoneL(); |
|
170 |
|
171 RBuf8 data; |
|
172 CleanupClosePushL(data); |
|
173 |
|
174 RMobileBroadcastMessaging messaging; |
|
175 TInt err = messaging.Open(iPhone); |
|
176 ASSERT_EQUALS(KErrNone, err); |
|
177 CleanupClosePushL(messaging); |
|
178 |
|
179 TRequestStatus reqStatus; |
|
180 |
|
181 CMobilePhoneBroadcastIdList* idList = CMobilePhoneBroadcastIdList::NewL(); |
|
182 CleanupStack::PushL(idList); |
|
183 |
|
184 RMobileBroadcastMessaging::TMobileBroadcastIdType type |
|
185 = RMobileBroadcastMessaging::EGsmBroadcastId; |
|
186 |
|
187 TMockLtsyData2<CMobilePhoneBroadcastIdList*, |
|
188 RMobileBroadcastMessaging::TMobileBroadcastIdType> |
|
189 expectLtsyData(idList, type); |
|
190 FillInBroadcastIdListL(*idList); |
|
191 expectLtsyData.SerialiseL(data); |
|
192 |
|
193 //------------------------------------------------------------------------- |
|
194 // Test cancelling of RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
195 //------------------------------------------------------------------------- |
|
196 |
|
197 |
|
198 messaging.StoreBroadcastIdListL(reqStatus, idList, type); |
|
199 |
|
200 messaging.CancelAsyncRequest(EMobileBroadcastMessagingStoreIdList); |
|
201 |
|
202 User::WaitForRequest(reqStatus); |
|
203 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
204 |
|
205 AssertMockLtsyStatusL(); |
|
206 |
|
207 CleanupStack::PopAndDestroy(4, this); // idList, messaging, data, this |
|
208 |
|
209 } |
|
210 |
|
211 |
|
212 /** |
|
213 @SYMTestCaseID BA-CTSY-BRMSG-BSBIL-0003 |
|
214 @SYMComponent telephony_ctsy |
|
215 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::StoreBroadcastIdListL with bad parameter data |
|
216 @SYMTestPriority High |
|
217 @SYMTestActions Invokes RMobileBroadcastMessaging::StoreBroadcastIdListL with bad parameter data |
|
218 @SYMTestExpectedResults Pass |
|
219 @SYMTestType CT |
|
220 */ |
|
221 void CCTsyBroadcastMessagingFU::TestStoreBroadcastIdListL0003L() |
|
222 { |
|
223 |
|
224 OpenEtelServerL(EUseExtendedError); |
|
225 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
226 OpenPhoneL(); |
|
227 |
|
228 RMobileBroadcastMessaging messaging; |
|
229 TInt err = messaging.Open(iPhone); |
|
230 ASSERT_EQUALS(KErrNone, err); |
|
231 CleanupClosePushL(messaging); |
|
232 |
|
233 //------------------------------------------------------------------------- |
|
234 // Test A: Test passing wrong version of parameters to |
|
235 // RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
236 //------------------------------------------------------------------------- |
|
237 |
|
238 TRequestStatus reqStatus; |
|
239 CMobilePhoneBroadcastIdList* idList(NULL); |
|
240 messaging.StoreBroadcastIdListL(reqStatus, idList, RMobileBroadcastMessaging::EGsmBroadcastId); |
|
241 |
|
242 // should never get here because of etel panic |
|
243 // so if it gets test fails with the assert below |
|
244 ASSERT_TRUE(EFalse); |
|
245 |
|
246 User::WaitForRequest(reqStatus); |
|
247 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
248 |
|
249 AssertMockLtsyStatusL(); |
|
250 |
|
251 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
252 |
|
253 } |
|
254 |
|
255 |
|
256 /** |
|
257 @SYMTestCaseID BA-CTSY-BRMSG-BSBIL-0004 |
|
258 @SYMComponent telephony_ctsy |
|
259 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
260 @SYMTestPriority High |
|
261 @SYMTestActions Invokes multiple client requests to RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
262 @SYMTestExpectedResults Pass |
|
263 @SYMTestType CT |
|
264 */ |
|
265 void CCTsyBroadcastMessagingFU::TestStoreBroadcastIdListL0004L() |
|
266 { |
|
267 |
|
268 OpenEtelServerL(EUseExtendedError); |
|
269 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
270 OpenPhoneL(); |
|
271 |
|
272 RBuf8 data; |
|
273 CleanupClosePushL(data); |
|
274 |
|
275 RMobileBroadcastMessaging messaging; |
|
276 TInt err = messaging.Open(iPhone); |
|
277 ASSERT_EQUALS(KErrNone, err); |
|
278 CleanupClosePushL(messaging); |
|
279 |
|
280 TRequestStatus reqStatus; |
|
281 TRequestStatus reqStatus2; |
|
282 |
|
283 CMobilePhoneBroadcastIdList* idList = CMobilePhoneBroadcastIdList::NewL(); |
|
284 CleanupStack::PushL(idList); |
|
285 |
|
286 CMobilePhoneBroadcastIdList* idList2 = CMobilePhoneBroadcastIdList::NewL(); |
|
287 CleanupStack::PushL(idList2); |
|
288 |
|
289 RMobileBroadcastMessaging::TMobileBroadcastIdType type |
|
290 = RMobileBroadcastMessaging::EGsmBroadcastId; |
|
291 |
|
292 TMockLtsyData2<CMobilePhoneBroadcastIdList*, |
|
293 RMobileBroadcastMessaging::TMobileBroadcastIdType> |
|
294 expectLtsyData(idList, type); |
|
295 FillInBroadcastIdListL(*idList); |
|
296 expectLtsyData.SerialiseL(data); |
|
297 |
|
298 // Open second client |
|
299 RTelServer telServer2; |
|
300 TInt ret = telServer2.Connect(); |
|
301 ASSERT_EQUALS(KErrNone, ret); |
|
302 CleanupClosePushL(telServer2); |
|
303 |
|
304 RMobilePhone phone2; |
|
305 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
306 ASSERT_EQUALS(KErrNone, ret); |
|
307 CleanupClosePushL(phone2); |
|
308 |
|
309 RMobileBroadcastMessaging messaging2; |
|
310 err = messaging2.Open(phone2); |
|
311 ASSERT_EQUALS(KErrNone, err); |
|
312 CleanupClosePushL(messaging2); |
|
313 |
|
314 //------------------------------------------------------------------------- |
|
315 // Test A: Test multiple clients requesting RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
316 //------------------------------------------------------------------------- |
|
317 |
|
318 messaging.StoreBroadcastIdListL(reqStatus, idList, RMobileBroadcastMessaging::EGsmBroadcastId); |
|
319 messaging2.StoreBroadcastIdListL(reqStatus2, idList2, RMobileBroadcastMessaging::EGsmBroadcastId); |
|
320 |
|
321 User::WaitForRequest(reqStatus); |
|
322 User::WaitForRequest(reqStatus2); |
|
323 |
|
324 AssertMockLtsyStatusL(); |
|
325 |
|
326 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
327 ASSERT_EQUALS(KErrNotSupported, reqStatus2.Int()); |
|
328 |
|
329 CleanupStack::PopAndDestroy(8, this); // messaging2, phone2, telServer2, idList2, idList, messaging, data, this |
|
330 |
|
331 } |
|
332 |
|
333 |
|
334 /** |
|
335 @SYMTestCaseID BA-CTSY-BRMSG-BRM-0005 |
|
336 @SYMComponent telephony_ctsy |
|
337 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::StoreBroadcastIdListL with timeout |
|
338 @SYMTestPriority High |
|
339 @SYMTestActions Invokes RMobileBroadcastMessaging::StoreBroadcastIdListL and tests for timeout |
|
340 @SYMTestExpectedResults Pass |
|
341 @SYMTestType CT |
|
342 */ |
|
343 void CCTsyBroadcastMessagingFU::TestStoreBroadcastIdListL0005L() |
|
344 { |
|
345 |
|
346 OpenEtelServerL(EUseExtendedError); |
|
347 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
348 OpenPhoneL(); |
|
349 |
|
350 RBuf8 data; |
|
351 CleanupClosePushL(data); |
|
352 |
|
353 RMobileBroadcastMessaging messaging; |
|
354 TInt err = messaging.Open(iPhone); |
|
355 ASSERT_EQUALS(KErrNone, err); |
|
356 CleanupClosePushL(messaging); |
|
357 |
|
358 TRequestStatus reqStatus; |
|
359 |
|
360 CMobilePhoneBroadcastIdList* idList = CMobilePhoneBroadcastIdList::NewL(); |
|
361 CleanupStack::PushL(idList); |
|
362 |
|
363 RMobileBroadcastMessaging::TMobileBroadcastIdType type |
|
364 = RMobileBroadcastMessaging::EGsmBroadcastId; |
|
365 |
|
366 TMockLtsyData2<CMobilePhoneBroadcastIdList*, |
|
367 RMobileBroadcastMessaging::TMobileBroadcastIdType> |
|
368 expectLtsyData(idList, type); |
|
369 FillInBroadcastIdListL(*idList); |
|
370 expectLtsyData.SerialiseL(data); |
|
371 |
|
372 //------------------------------------------------------------------------- |
|
373 // Test A: Test timeout of RMobileBroadcastMessaging::StoreBroadcastIdListL |
|
374 //------------------------------------------------------------------------- |
|
375 |
|
376 iMockLTSY.ExpectL(EMobileBroadcastMessagingStoreIdList, data); |
|
377 |
|
378 messaging.StoreBroadcastIdListL(reqStatus, idList, type); |
|
379 |
|
380 User::WaitForRequest(reqStatus); |
|
381 |
|
382 AssertMockLtsyStatusL(); |
|
383 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
384 |
|
385 CleanupStack::PopAndDestroy(4, this); // idList, messaging, data, this |
|
386 |
|
387 } |
|
388 |
|
389 /** |
|
390 @SYMTestCaseID BA-CTSY-BRMSG-RMPBLN-0001 |
|
391 @SYMComponent telephony_ctsy |
|
392 @SYMTestCaseDesc Test support in CTSY for CRetrieveMobilePhoneBroadcastIdList::Start |
|
393 @SYMTestPriority High |
|
394 @SYMTestActions Invokes CRetrieveMobilePhoneBroadcastIdList::Start |
|
395 @SYMTestExpectedResults Pass |
|
396 @SYMTestType CT |
|
397 */ |
|
398 void CCTsyBroadcastMessagingFU::TestStart0001L() |
|
399 { |
|
400 |
|
401 OpenEtelServerL(EUseExtendedError); |
|
402 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
403 OpenPhoneL(); |
|
404 |
|
405 CFilteringActiveScheduler scheduler; |
|
406 CActiveScheduler::Install(&scheduler); |
|
407 |
|
408 RMobileBroadcastMessaging messaging; |
|
409 TInt err = messaging.Open(iPhone); |
|
410 ASSERT_EQUALS(KErrNone, err); |
|
411 CleanupClosePushL(messaging); |
|
412 |
|
413 CRetrieveMobilePhoneBroadcastIdList* retrieveMobilePhoneBroadcastIdList = |
|
414 CRetrieveMobilePhoneBroadcastIdList::NewL(messaging); |
|
415 CleanupStack::PushL(retrieveMobilePhoneBroadcastIdList); |
|
416 |
|
417 CActiveRetriever::ResetRequestsNumber(); |
|
418 CActiveRetriever activeMobilePhoneBroadcastIdListRetriever(*retrieveMobilePhoneBroadcastIdList); |
|
419 scheduler.AddRetrieverL(activeMobilePhoneBroadcastIdListRetriever); |
|
420 |
|
421 // prepare mockLtsy data |
|
422 RMobileBroadcastMessaging::TMobileBroadcastIdType type(RMobileBroadcastMessaging::EGsmBroadcastId); |
|
423 TMockLtsyData1<RMobileBroadcastMessaging::TMobileBroadcastIdType> expectLtsyData(type); |
|
424 RBuf8 expData; |
|
425 CleanupClosePushL(expData); |
|
426 expectLtsyData.SerialiseL(expData); |
|
427 |
|
428 CMobilePhoneBroadcastIdList* completeList = CMobilePhoneBroadcastIdList::NewL(); |
|
429 CleanupStack::PushL(completeList); |
|
430 FillInBroadcastIdListL(*completeList); |
|
431 |
|
432 RBuf8 completeData; |
|
433 CleanupClosePushL(completeData); |
|
434 TSerializer<CMobilePhoneBroadcastIdList>::SerialiseL(*completeList, completeData); |
|
435 |
|
436 |
|
437 retrieveMobilePhoneBroadcastIdList->Start(activeMobilePhoneBroadcastIdListRetriever.Status(), type); |
|
438 activeMobilePhoneBroadcastIdListRetriever.Activate(); |
|
439 scheduler.StartScheduler(); |
|
440 |
|
441 AssertMockLtsyStatusL(); |
|
442 |
|
443 ASSERT_EQUALS(0, CActiveRetriever::ResetRequestsNumber()); |
|
444 ASSERT_EQUALS(KErrNotSupported, activeMobilePhoneBroadcastIdListRetriever.iStatus.Int()); |
|
445 |
|
446 //------------------------------------------------------------------------- |
|
447 // TEST E: Unsolicited completion of CAsyncRetrieveAuthorizationInfo::Start |
|
448 // from LTSY. |
|
449 //------------------------------------------------------------------------- |
|
450 |
|
451 TRequestStatus mockLtsyStatus; |
|
452 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
453 iMockLTSY.CompleteL(EMobileBroadcastMessagingGetIdListPhase1, KErrNone, completeData); |
|
454 User::WaitForRequest(mockLtsyStatus); |
|
455 AssertMockLtsyStatusL(); |
|
456 CleanupStack::PopAndDestroy(5, &messaging); // list, completeData, completeList, expData, retrieveMobilePhoneBroadcastIdList, messaging |
|
457 CActiveScheduler::Install(NULL); |
|
458 CleanupStack::PopAndDestroy(this); |
|
459 |
|
460 } |
|
461 |
|
462 |
|
463 /** |
|
464 @SYMTestCaseID BA-CTSY-BRMSG-RMPBLN-0002 |
|
465 @SYMComponent telephony_ctsy |
|
466 @SYMTestCaseDesc Test support in CTSY for cancelling of CRetrieveMobilePhoneBroadcastIdList::Start |
|
467 @SYMTestPriority High |
|
468 @SYMTestActions Invokes cancelling of CRetrieveMobilePhoneBroadcastIdList::Start |
|
469 @SYMTestExpectedResults Pass |
|
470 @SYMTestType CT |
|
471 */ |
|
472 void CCTsyBroadcastMessagingFU::TestStart0002L() |
|
473 { |
|
474 |
|
475 OpenEtelServerL(EUseExtendedError); |
|
476 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
477 OpenPhoneL(); |
|
478 |
|
479 CFilteringActiveScheduler scheduler; |
|
480 CActiveScheduler::Install(&scheduler); |
|
481 |
|
482 RMobileBroadcastMessaging messaging; |
|
483 TInt err = messaging.Open(iPhone); |
|
484 ASSERT_EQUALS(KErrNone, err); |
|
485 CleanupClosePushL(messaging); |
|
486 |
|
487 CRetrieveMobilePhoneBroadcastIdList* retrieveMobilePhoneBroadcastIdList = |
|
488 CRetrieveMobilePhoneBroadcastIdList::NewL(messaging); |
|
489 CleanupStack::PushL(retrieveMobilePhoneBroadcastIdList); |
|
490 |
|
491 CActiveRetriever::ResetRequestsNumber(); |
|
492 CActiveRetriever activeMobilePhoneBroadcastIdListRetriever(*retrieveMobilePhoneBroadcastIdList); |
|
493 scheduler.AddRetrieverL(activeMobilePhoneBroadcastIdListRetriever); |
|
494 |
|
495 // prepare mockLtsy data |
|
496 RMobileBroadcastMessaging::TMobileBroadcastIdType type(RMobileBroadcastMessaging::EGsmBroadcastId); |
|
497 TMockLtsyData1<RMobileBroadcastMessaging::TMobileBroadcastIdType> expectLtsyData(type); |
|
498 RBuf8 expData; |
|
499 CleanupClosePushL(expData); |
|
500 expectLtsyData.SerialiseL(expData); |
|
501 |
|
502 CMobilePhoneBroadcastIdList* completeList = CMobilePhoneBroadcastIdList::NewL(); |
|
503 CleanupStack::PushL(completeList); |
|
504 FillInBroadcastIdListL(*completeList); |
|
505 |
|
506 RBuf8 completeData; |
|
507 CleanupClosePushL(completeData); |
|
508 TSerializer<CMobilePhoneBroadcastIdList>::SerialiseL(*completeList, completeData); |
|
509 |
|
510 //------------------------------------------------------------------------- |
|
511 // Test cancelling of CRetrieveMobilePhoneBroadcastIdList::Start |
|
512 //------------------------------------------------------------------------- |
|
513 |
|
514 retrieveMobilePhoneBroadcastIdList->Start(activeMobilePhoneBroadcastIdListRetriever.Status(), type); |
|
515 activeMobilePhoneBroadcastIdListRetriever.Activate(CActiveRetriever::ECaseGeneralCancelCase); |
|
516 scheduler.StartScheduler(); |
|
517 |
|
518 AssertMockLtsyStatusL(); |
|
519 |
|
520 ASSERT_EQUALS(0, CActiveRetriever::ResetRequestsNumber()); |
|
521 ASSERT_EQUALS(KErrCancel, activeMobilePhoneBroadcastIdListRetriever.iStatus.Int()); |
|
522 |
|
523 |
|
524 retrieveMobilePhoneBroadcastIdList->Start(activeMobilePhoneBroadcastIdListRetriever.Status(), |
|
525 RMobileBroadcastMessaging::EGsmBroadcastId); |
|
526 activeMobilePhoneBroadcastIdListRetriever.Activate(CActiveRetriever::ECasePhase2Cancel); |
|
527 scheduler.StartScheduler(); |
|
528 |
|
529 ASSERT_EQUALS(0, CActiveRetriever::ResetRequestsNumber()); |
|
530 ASSERT_EQUALS(KErrNotSupported, activeMobilePhoneBroadcastIdListRetriever.iStatus.Int()); |
|
531 |
|
532 AssertMockLtsyStatusL(); |
|
533 |
|
534 CleanupStack::PopAndDestroy(5); // completeData, completeList, expData, retrieveMobilePhoneBroadcastIdList, messaging |
|
535 CActiveScheduler::Install(NULL); |
|
536 CleanupStack::PopAndDestroy(this); |
|
537 |
|
538 } |
|
539 |
|
540 |
|
541 /** |
|
542 @SYMTestCaseID BA-CTSY-BRMSG-RMPBLN-0004 |
|
543 @SYMComponent telephony_ctsy |
|
544 @SYMTestCaseDesc Test support in CTSY for multiple client requests to CRetrieveMobilePhoneBroadcastIdList::Start |
|
545 @SYMTestPriority High |
|
546 @SYMTestActions Invokes multiple client requests to CRetrieveMobilePhoneBroadcastIdList::Start |
|
547 @SYMTestExpectedResults Pass |
|
548 @SYMTestType CT |
|
549 */ |
|
550 void CCTsyBroadcastMessagingFU::TestStart0004L() |
|
551 { |
|
552 |
|
553 OpenEtelServerL(EUseExtendedError); |
|
554 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
555 OpenPhoneL(); |
|
556 |
|
557 CFilteringActiveScheduler scheduler; |
|
558 CActiveScheduler::Install(&scheduler); |
|
559 |
|
560 RMobileBroadcastMessaging messaging; |
|
561 TInt err = messaging.Open(iPhone); |
|
562 ASSERT_EQUALS(KErrNone, err); |
|
563 CleanupClosePushL(messaging); |
|
564 |
|
565 CRetrieveMobilePhoneBroadcastIdList* retrieveMobilePhoneBroadcastIdList = |
|
566 CRetrieveMobilePhoneBroadcastIdList::NewL(messaging); |
|
567 CleanupStack::PushL(retrieveMobilePhoneBroadcastIdList); |
|
568 |
|
569 CActiveRetriever::ResetRequestsNumber(); |
|
570 CActiveRetriever activeMobilePhoneBroadcastIdListRetriever(*retrieveMobilePhoneBroadcastIdList); |
|
571 scheduler.AddRetrieverL(activeMobilePhoneBroadcastIdListRetriever); |
|
572 |
|
573 // Open second client |
|
574 RTelServer telServer2; |
|
575 TInt ret = telServer2.Connect(); |
|
576 ASSERT_EQUALS(KErrNone, ret); |
|
577 CleanupClosePushL(telServer2); |
|
578 |
|
579 RMobilePhone phone2; |
|
580 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
581 ASSERT_EQUALS(KErrNone, ret); |
|
582 CleanupClosePushL(phone2); |
|
583 |
|
584 RMobileBroadcastMessaging messaging2; |
|
585 err = messaging2.Open(phone2); |
|
586 ASSERT_EQUALS(KErrNone, err); |
|
587 CleanupClosePushL(messaging2); |
|
588 |
|
589 CRetrieveMobilePhoneBroadcastIdList* retrieveMobilePhoneBroadcastIdList2 = |
|
590 CRetrieveMobilePhoneBroadcastIdList::NewL(messaging2); |
|
591 CleanupStack::PushL(retrieveMobilePhoneBroadcastIdList2); |
|
592 |
|
593 CActiveRetriever::ResetRequestsNumber(); |
|
594 CActiveRetriever activeMobilePhoneBroadcastIdListRetriever2(*retrieveMobilePhoneBroadcastIdList2); |
|
595 scheduler.AddRetrieverL(activeMobilePhoneBroadcastIdListRetriever2); |
|
596 |
|
597 // prepare mockLtsy data |
|
598 RMobileBroadcastMessaging::TMobileBroadcastIdType type(RMobileBroadcastMessaging::EGsmBroadcastId); |
|
599 TMockLtsyData1<RMobileBroadcastMessaging::TMobileBroadcastIdType> expectLtsyData(type); |
|
600 RBuf8 expData; |
|
601 CleanupClosePushL(expData); |
|
602 expectLtsyData.SerialiseL(expData); |
|
603 |
|
604 CMobilePhoneBroadcastIdList* completeList = CMobilePhoneBroadcastIdList::NewL(); |
|
605 CleanupStack::PushL(completeList); |
|
606 FillInBroadcastIdListL(*completeList); |
|
607 |
|
608 RBuf8 completeData; |
|
609 CleanupClosePushL(completeData); |
|
610 TSerializer<CMobilePhoneBroadcastIdList>::SerialiseL(*completeList, completeData); |
|
611 |
|
612 //------------------------------------------------------------------------- |
|
613 // Test A: Test multiple clients requesting CRetrieveMobilePhoneBroadcastIdList::Start |
|
614 //------------------------------------------------------------------------- |
|
615 |
|
616 retrieveMobilePhoneBroadcastIdList->Start(activeMobilePhoneBroadcastIdListRetriever.Status(), |
|
617 RMobileBroadcastMessaging::EGsmBroadcastId); |
|
618 activeMobilePhoneBroadcastIdListRetriever.Activate(); |
|
619 |
|
620 retrieveMobilePhoneBroadcastIdList2->Start(activeMobilePhoneBroadcastIdListRetriever2.Status(), |
|
621 RMobileBroadcastMessaging::ECdmaBroadcastId); |
|
622 activeMobilePhoneBroadcastIdListRetriever2.Activate(); |
|
623 |
|
624 scheduler.StartScheduler(); |
|
625 |
|
626 AssertMockLtsyStatusL(); |
|
627 |
|
628 ASSERT_EQUALS(0, CActiveRetriever::ResetRequestsNumber()); |
|
629 ASSERT_EQUALS(KErrNotSupported, activeMobilePhoneBroadcastIdListRetriever.iStatus.Int()); |
|
630 ASSERT_EQUALS(KErrNotSupported, activeMobilePhoneBroadcastIdListRetriever2.iStatus.Int()); |
|
631 |
|
632 |
|
633 CleanupStack::PopAndDestroy(9, &messaging); // completeData, completeList, expData |
|
634 // retrieveMobilePhoneBroadcastIdList2, messaging2, phone2, telServer2 |
|
635 // retrieveMobilePhoneBroadcastIdList, messaging |
|
636 CActiveScheduler::Install(NULL); |
|
637 CleanupStack::PopAndDestroy(this); |
|
638 |
|
639 } |
|
640 |
|
641 |
|
642 /** |
|
643 @SYMTestCaseID BA-CTSY-BRMSG-RMPBLN-0005 |
|
644 @SYMComponent telephony_ctsy |
|
645 @SYMTestCaseDesc Test support in CTSY for CRetrieveMobilePhoneBroadcastIdList::Start with timeout |
|
646 @SYMTestPriority High |
|
647 @SYMTestActions Invokes CRetrieveMobilePhoneBroadcastIdList::Start and tests for timeout |
|
648 @SYMTestExpectedResults Pass |
|
649 @SYMTestType CT |
|
650 */ |
|
651 void CCTsyBroadcastMessagingFU::TestStart0005L() |
|
652 { |
|
653 |
|
654 OpenEtelServerL(EUseExtendedError); |
|
655 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
656 OpenPhoneL(); |
|
657 |
|
658 CFilteringActiveScheduler scheduler; |
|
659 CActiveScheduler::Install(&scheduler); |
|
660 |
|
661 RMobileBroadcastMessaging messaging; |
|
662 TInt err = messaging.Open(iPhone); |
|
663 ASSERT_EQUALS(KErrNone, err); |
|
664 CleanupClosePushL(messaging); |
|
665 |
|
666 CRetrieveMobilePhoneBroadcastIdList* retrieveMobilePhoneBroadcastIdList = |
|
667 CRetrieveMobilePhoneBroadcastIdList::NewL(messaging); |
|
668 CleanupStack::PushL(retrieveMobilePhoneBroadcastIdList); |
|
669 |
|
670 CActiveRetriever::ResetRequestsNumber(); |
|
671 CActiveRetriever activeMobilePhoneBroadcastIdListRetriever(*retrieveMobilePhoneBroadcastIdList); |
|
672 scheduler.AddRetrieverL(activeMobilePhoneBroadcastIdListRetriever); |
|
673 |
|
674 // prepare mockLtsy data |
|
675 RMobileBroadcastMessaging::TMobileBroadcastIdType type(RMobileBroadcastMessaging::EGsmBroadcastId); |
|
676 TMockLtsyData1<RMobileBroadcastMessaging::TMobileBroadcastIdType> expectLtsyData(type); |
|
677 RBuf8 expData; |
|
678 CleanupClosePushL(expData); |
|
679 expectLtsyData.SerialiseL(expData); |
|
680 |
|
681 //------------------------------------------------------------------------- |
|
682 // TEST C: Successful completion request of |
|
683 // CRetrieveMobilePhoneBroadcastIdList::Start. |
|
684 //------------------------------------------------------------------------- |
|
685 |
|
686 retrieveMobilePhoneBroadcastIdList->Start(activeMobilePhoneBroadcastIdListRetriever.Status(), type); |
|
687 activeMobilePhoneBroadcastIdListRetriever.Activate(); |
|
688 scheduler.StartScheduler(); |
|
689 |
|
690 AssertMockLtsyStatusL(); |
|
691 |
|
692 ASSERT_EQUALS(0, CActiveRetriever::ResetRequestsNumber()); |
|
693 ASSERT_EQUALS(KErrNotSupported, activeMobilePhoneBroadcastIdListRetriever.iStatus.Int()); |
|
694 |
|
695 CleanupStack::PopAndDestroy(3, &messaging); // expData, retrieveMobilePhoneBroadcastIdList, messaging |
|
696 CActiveScheduler::Install(NULL); |
|
697 CleanupStack::PopAndDestroy(this); |
|
698 |
|
699 } |
|
700 |
|
701 |
|
702 /** |
|
703 @SYMTestCaseID BA-CTSY-BRMSG-BRM-0001 |
|
704 @SYMComponent telephony_ctsy |
|
705 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::ReceiveMessage |
|
706 @SYMTestPriority High |
|
707 @SYMTestActions Invokes RMobileBroadcastMessaging::ReceiveMessage |
|
708 @SYMTestExpectedResults Pass |
|
709 @SYMTestType CT |
|
710 */ |
|
711 void CCTsyBroadcastMessagingFU::TestReceiveMessage0001L() |
|
712 { |
|
713 |
|
714 OpenEtelServerL(EUseExtendedError); |
|
715 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
716 OpenPhoneL(); |
|
717 |
|
718 RBuf8 data; |
|
719 CleanupClosePushL(data); |
|
720 |
|
721 //------------------------------------------------------------------------- |
|
722 // TEST A: failure to dispatch request to LTSY |
|
723 //------------------------------------------------------------------------- |
|
724 |
|
725 RMobileBroadcastMessaging messaging; |
|
726 TInt err = messaging.Open(iPhone); |
|
727 ASSERT_EQUALS(KErrNone, err); |
|
728 CleanupClosePushL(messaging); |
|
729 |
|
730 TCbsCbmiAndLangAndFilter expectData; |
|
731 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
732 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
733 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
734 |
|
735 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
736 expectLtsyData.SerialiseL(data); |
|
737 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data, KErrNotSupported); |
|
738 |
|
739 TRequestStatus reqStatus; |
|
740 RMobileBroadcastMessaging::TBroadcastPageData msgData; |
|
741 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 attributes; |
|
742 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1Pckg msgAttributes(attributes); |
|
743 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
744 |
|
745 User::WaitForRequest(reqStatus); |
|
746 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
747 |
|
748 AssertMockLtsyStatusL(); |
|
749 |
|
750 //------------------------------------------------------------------------- |
|
751 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
752 //------------------------------------------------------------------------- |
|
753 |
|
754 data.Close(); |
|
755 expectLtsyData.SerialiseL(data); |
|
756 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
757 |
|
758 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrGeneral); |
|
759 |
|
760 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
761 |
|
762 User::WaitForRequest(reqStatus); |
|
763 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
764 |
|
765 AssertMockLtsyStatusL(); |
|
766 |
|
767 //------------------------------------------------------------------------- |
|
768 // TEST B: increase coverage (completion with EMmTsyGsmBroadcastNotifyMessageReceived IPC) |
|
769 //------------------------------------------------------------------------- |
|
770 |
|
771 data.Close(); |
|
772 expectLtsyData.SerialiseL(data); |
|
773 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
774 |
|
775 TGsmCbsMsg cbsMsg; |
|
776 cbsMsg.iCbsMsg.Copy(_L("Cool!")); |
|
777 TMockLtsyData1<TGsmCbsMsg> completeLtsyData(cbsMsg); |
|
778 data.Close(); |
|
779 completeLtsyData.SerialiseL(data); |
|
780 iMockLTSY.CompleteL(EMmTsyGsmBroadcastNotifyMessageReceived, KErrGeneral, data); |
|
781 |
|
782 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
783 |
|
784 User::WaitForRequest(reqStatus); |
|
785 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
786 |
|
787 AssertMockLtsyStatusL(); |
|
788 |
|
789 //------------------------------------------------------------------------- |
|
790 // TEST B: increase coverage (completion with EMmTsyWcdmaBroadcastNotifyMessageReceived IPC) |
|
791 //------------------------------------------------------------------------- |
|
792 |
|
793 data.Close(); |
|
794 expectLtsyData.SerialiseL(data); |
|
795 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
796 |
|
797 iMockLTSY.CompleteL(EMmTsyWcdmaBroadcastNotifyMessageReceived, KErrGeneral, KNullDesC8); |
|
798 |
|
799 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 wcdmaAttributes; |
|
800 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg wcdmaMsgAttributes(wcdmaAttributes); |
|
801 messaging.ReceiveMessage(reqStatus, msgData, wcdmaMsgAttributes); |
|
802 |
|
803 User::WaitForRequest(reqStatus); |
|
804 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
805 |
|
806 AssertMockLtsyStatusL(); |
|
807 |
|
808 //------------------------------------------------------------------------- |
|
809 // TEST C: Successful completion request of |
|
810 // RMobileBroadcastMessaging::ReceiveMessage when result is not cached. |
|
811 //------------------------------------------------------------------------- |
|
812 |
|
813 data.Close(); |
|
814 expectLtsyData.SerialiseL(data); |
|
815 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
816 |
|
817 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
818 |
|
819 data.Close(); |
|
820 completeLtsyData.SerialiseL(data); |
|
821 iMockLTSY.CompleteL(EMmTsyGsmBroadcastNotifyMessageReceived, KErrNone, data); |
|
822 |
|
823 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
824 |
|
825 User::WaitForRequest(reqStatus); |
|
826 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
827 ASSERT_EQUALS(cbsMsg.iCbsMsg, msgData); |
|
828 TUint32 expectedFlags(RMobileBroadcastMessaging::KBroadcastDataFormat); |
|
829 RMobileBroadcastMessaging::TMobileBroadcastDataFormat |
|
830 expectedFormat(RMobileBroadcastMessaging::EFormatGsmTpdu); |
|
831 ASSERT_EQUALS(expectedFlags, attributes.iFlags); |
|
832 ASSERT_EQUALS(expectedFormat, attributes.iFormat); |
|
833 |
|
834 AssertMockLtsyStatusL(); |
|
835 |
|
836 //------------------------------------------------------------------------- |
|
837 // TEST C: increase coverage (completion with multypage message type) |
|
838 //------------------------------------------------------------------------- |
|
839 |
|
840 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
841 data.Close(); |
|
842 expectLtsyData.SerialiseL(data); |
|
843 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessageCancel, data, KErrNotSupported); |
|
844 |
|
845 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
846 data.Close(); |
|
847 expectLtsyData.SerialiseL(data); |
|
848 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
849 |
|
850 messaging.ReceiveMessage(reqStatus, msgData, wcdmaMsgAttributes); |
|
851 |
|
852 CArrayPtrFlat<TWcdmaCbsMsg>* wcdmaCbsMsgArray = new ( ELeave ) CArrayPtrFlat<TWcdmaCbsMsg>( 1 ); |
|
853 CleanupStack::PushL(wcdmaCbsMsgArray); |
|
854 |
|
855 TWcdmaCbsMsg wcdmaCbsMsg0; |
|
856 wcdmaCbsMsg0.iWcdmaCbsData.Copy(_L("0cool0")); |
|
857 wcdmaCbsMsg0.iSbNumber = 1; |
|
858 wcdmaCbsMsg0.iNumberOfPages = 2; |
|
859 wcdmaCbsMsg0.iMessageType = 3; |
|
860 wcdmaCbsMsg0.iMessageId = 4; |
|
861 wcdmaCbsMsg0.iSerialNum = 5; |
|
862 wcdmaCbsMsg0.iDCS = 6; |
|
863 wcdmaCbsMsg0.iInfoLength = wcdmaCbsMsg0.iWcdmaCbsData.Length(); |
|
864 wcdmaCbsMsgArray->AppendL(&wcdmaCbsMsg0, 1); |
|
865 |
|
866 TUint8 wcdmaPageNumber(1); |
|
867 TMockLtsyData2<CArrayPtrFlat< TWcdmaCbsMsg >*, TUint8> completeWcdmaLtsyData(wcdmaCbsMsgArray, wcdmaPageNumber); |
|
868 data.Close(); |
|
869 completeWcdmaLtsyData.SerialiseL(data); |
|
870 |
|
871 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
872 |
|
873 TRequestStatus mockLtsyStatus; |
|
874 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
875 iMockLTSY.CompleteL(EMmTsyWcdmaBroadcastNotifyMessageReceived, KErrNone, data); |
|
876 User::WaitForRequest(mockLtsyStatus); |
|
877 |
|
878 User::WaitForRequest(reqStatus); |
|
879 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
880 |
|
881 // generate a message from the original message with the page number at the end |
|
882 TBuf8<RMobileBroadcastMessaging::KBroadcastPageSize> messageWithPageNumber; |
|
883 messageWithPageNumber.Copy(wcdmaCbsMsg0.iWcdmaCbsData); |
|
884 _LIT8(KFormat, "%c"); |
|
885 TBuf8<2> abc(KFormat); |
|
886 // Append pagenumber to end of CBS message |
|
887 messageWithPageNumber.AppendFormat( abc, wcdmaPageNumber); |
|
888 |
|
889 ASSERT_EQUALS(messageWithPageNumber, msgData); |
|
890 |
|
891 ASSERT_EQUALS(expectedFlags, wcdmaAttributes.iFlags); |
|
892 expectedFormat = RMobileBroadcastMessaging::EFormatWcdmaTpdu; |
|
893 ASSERT_EQUALS(expectedFormat, wcdmaAttributes.iFormat); |
|
894 ASSERT_EQUALS(wcdmaCbsMsg0.iNumberOfPages, wcdmaAttributes.iNumberOfPages); |
|
895 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageType, wcdmaAttributes.iMessageType); |
|
896 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageId, wcdmaAttributes.iMessageId); |
|
897 ASSERT_EQUALS(wcdmaCbsMsg0.iSerialNum, wcdmaAttributes.iSerialNum); |
|
898 ASSERT_EQUALS(wcdmaCbsMsg0.iDCS, wcdmaAttributes.iDCS); |
|
899 |
|
900 AssertMockLtsyStatusL(); |
|
901 |
|
902 //------------------------------------------------------------------------- |
|
903 // TEST C: increase coverage (completion with multypage message type) |
|
904 // this time 3 pages |
|
905 //------------------------------------------------------------------------- |
|
906 |
|
907 messaging.ReceiveMessage(reqStatus, msgData, wcdmaMsgAttributes); |
|
908 |
|
909 TWcdmaCbsMsg wcdmaCbsMsg1; |
|
910 wcdmaCbsMsg1.iWcdmaCbsData.Copy(_L("1cool1")); |
|
911 wcdmaCbsMsg1.iSbNumber = 8; |
|
912 wcdmaCbsMsg1.iNumberOfPages = 7; |
|
913 wcdmaCbsMsg1.iMessageType = 6; |
|
914 wcdmaCbsMsg1.iMessageId = 5; |
|
915 wcdmaCbsMsg1.iSerialNum = 4; |
|
916 wcdmaCbsMsg1.iDCS = 3; |
|
917 wcdmaCbsMsg1.iInfoLength = wcdmaCbsMsg1.iWcdmaCbsData.Length(); |
|
918 wcdmaCbsMsgArray->AppendL(&wcdmaCbsMsg1, 1); |
|
919 |
|
920 TWcdmaCbsMsg wcdmaCbsMsg2; |
|
921 wcdmaCbsMsg2.iWcdmaCbsData.Copy(_L("2cool2")); |
|
922 wcdmaCbsMsg2.iSbNumber = 80; |
|
923 wcdmaCbsMsg2.iNumberOfPages = 70; |
|
924 wcdmaCbsMsg2.iMessageType = 60; |
|
925 wcdmaCbsMsg2.iMessageId = 50; |
|
926 wcdmaCbsMsg2.iSerialNum = 40; |
|
927 wcdmaCbsMsg2.iDCS = 30; |
|
928 wcdmaCbsMsg2.iInfoLength = wcdmaCbsMsg2.iWcdmaCbsData.Length(); |
|
929 wcdmaCbsMsgArray->AppendL(&wcdmaCbsMsg2, 1); |
|
930 |
|
931 wcdmaPageNumber = 3; |
|
932 data.Close(); |
|
933 completeWcdmaLtsyData.SerialiseL(data); |
|
934 |
|
935 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
936 iMockLTSY.CompleteL(EMmTsyWcdmaBroadcastNotifyMessageReceived, KErrNone, data); |
|
937 User::WaitForRequest(mockLtsyStatus); |
|
938 |
|
939 User::WaitForRequest(reqStatus); |
|
940 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
941 |
|
942 |
|
943 ASSERT_EQUALS(messageWithPageNumber, msgData); |
|
944 ASSERT_EQUALS(expectedFlags, wcdmaAttributes.iFlags); |
|
945 expectedFormat = RMobileBroadcastMessaging::EFormatWcdmaTpdu; |
|
946 ASSERT_EQUALS(expectedFormat, wcdmaAttributes.iFormat); |
|
947 ASSERT_EQUALS(wcdmaCbsMsg0.iNumberOfPages, wcdmaAttributes.iNumberOfPages); |
|
948 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageType, wcdmaAttributes.iMessageType); |
|
949 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageId, wcdmaAttributes.iMessageId); |
|
950 ASSERT_EQUALS(wcdmaCbsMsg0.iSerialNum, wcdmaAttributes.iSerialNum); |
|
951 ASSERT_EQUALS(wcdmaCbsMsg0.iDCS, wcdmaAttributes.iDCS); |
|
952 |
|
953 AssertMockLtsyStatusL(); |
|
954 |
|
955 //------------------------------------------------------------------------- |
|
956 // TEST D: RMobileBroadcastMessaging::ReceiveMessage again, this time CTSY |
|
957 // will get result from the cache. |
|
958 //------------------------------------------------------------------------- |
|
959 //------------------------------------------------------------------------- |
|
960 // recieve 2nd page |
|
961 //------------------------------------------------------------------------- |
|
962 |
|
963 messaging.ReceiveMessage(reqStatus, msgData, wcdmaMsgAttributes); |
|
964 |
|
965 User::WaitForRequest(reqStatus); |
|
966 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
967 |
|
968 messageWithPageNumber.Copy(wcdmaCbsMsg1.iWcdmaCbsData); |
|
969 messageWithPageNumber.AppendFormat( abc, 2); |
|
970 |
|
971 ASSERT_EQUALS(messageWithPageNumber, msgData); |
|
972 ASSERT_EQUALS(expectedFlags, wcdmaAttributes.iFlags); |
|
973 ASSERT_EQUALS(expectedFormat, wcdmaAttributes.iFormat); |
|
974 ASSERT_EQUALS(wcdmaCbsMsg1.iNumberOfPages, wcdmaAttributes.iNumberOfPages); |
|
975 ASSERT_EQUALS(wcdmaCbsMsg1.iMessageType, wcdmaAttributes.iMessageType); |
|
976 ASSERT_EQUALS(wcdmaCbsMsg1.iMessageId, wcdmaAttributes.iMessageId); |
|
977 ASSERT_EQUALS(wcdmaCbsMsg1.iSerialNum, wcdmaAttributes.iSerialNum); |
|
978 ASSERT_EQUALS(wcdmaCbsMsg1.iDCS, wcdmaAttributes.iDCS); |
|
979 |
|
980 AssertMockLtsyStatusL(); |
|
981 |
|
982 //------------------------------------------------------------------------- |
|
983 // recieve 3rd page |
|
984 //------------------------------------------------------------------------- |
|
985 |
|
986 messaging.ReceiveMessage(reqStatus, msgData, wcdmaMsgAttributes); |
|
987 |
|
988 User::WaitForRequest(reqStatus); |
|
989 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
990 messageWithPageNumber.Copy(wcdmaCbsMsg2.iWcdmaCbsData); |
|
991 messageWithPageNumber.AppendFormat( abc, 3); |
|
992 ASSERT_EQUALS(messageWithPageNumber, msgData); |
|
993 ASSERT_EQUALS(expectedFlags, wcdmaAttributes.iFlags); |
|
994 ASSERT_EQUALS(expectedFormat, wcdmaAttributes.iFormat); |
|
995 ASSERT_EQUALS(wcdmaCbsMsg2.iNumberOfPages, wcdmaAttributes.iNumberOfPages); |
|
996 ASSERT_EQUALS(wcdmaCbsMsg2.iMessageType, wcdmaAttributes.iMessageType); |
|
997 ASSERT_EQUALS(wcdmaCbsMsg2.iMessageId, wcdmaAttributes.iMessageId); |
|
998 ASSERT_EQUALS(wcdmaCbsMsg2.iSerialNum, wcdmaAttributes.iSerialNum); |
|
999 ASSERT_EQUALS(wcdmaCbsMsg2.iDCS, wcdmaAttributes.iDCS); |
|
1000 |
|
1001 AssertMockLtsyStatusL(); |
|
1002 |
|
1003 //------------------------------------------------------------------------- |
|
1004 // TEST E: Unsolicited completion of RMobileBroadcastMessaging::ReceiveMessage |
|
1005 // from LTSY. |
|
1006 //------------------------------------------------------------------------- |
|
1007 |
|
1008 iMockLTSY.NotifyTerminated(reqStatus); |
|
1009 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1010 User::WaitForRequest(reqStatus); |
|
1011 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1012 AssertMockLtsyStatusL(); |
|
1013 |
|
1014 //------------------------------------------------------------------------- |
|
1015 // TEST E: increase coverage (completion with EMmTsyGsmBroadcastNotifyMessageReceived IPC) |
|
1016 //------------------------------------------------------------------------- |
|
1017 |
|
1018 iMockLTSY.NotifyTerminated(reqStatus); |
|
1019 data.Close(); |
|
1020 completeLtsyData.SerialiseL(data); |
|
1021 iMockLTSY.CompleteL(EMmTsyGsmBroadcastNotifyMessageReceived, KErrNone, data); |
|
1022 User::WaitForRequest(reqStatus); |
|
1023 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1024 AssertMockLtsyStatusL(); |
|
1025 |
|
1026 //------------------------------------------------------------------------- |
|
1027 // TEST E: increase coverage (completion with EMmTsyWcdmaBroadcastNotifyMessageReceived IPC) |
|
1028 //------------------------------------------------------------------------- |
|
1029 |
|
1030 iMockLTSY.NotifyTerminated(reqStatus); |
|
1031 data.Close(); |
|
1032 completeWcdmaLtsyData.SerialiseL(data); |
|
1033 iMockLTSY.CompleteL(EMmTsyWcdmaBroadcastNotifyMessageReceived, KErrNone, data); |
|
1034 User::WaitForRequest(reqStatus); |
|
1035 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1036 AssertMockLtsyStatusL(); |
|
1037 |
|
1038 CleanupStack::PopAndDestroy(4, this); // wcdmaCbsMsgArray, messaging, data, this |
|
1039 |
|
1040 } |
|
1041 |
|
1042 |
|
1043 /** |
|
1044 @SYMTestCaseID BA-CTSY-BRMSG-BRM-0002 |
|
1045 @SYMComponent telephony_ctsy |
|
1046 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileBroadcastMessaging::ReceiveMessage |
|
1047 @SYMTestPriority High |
|
1048 @SYMTestActions Invokes cancelling of RMobileBroadcastMessaging::ReceiveMessage |
|
1049 @SYMTestExpectedResults Pass |
|
1050 @SYMTestType CT |
|
1051 */ |
|
1052 void CCTsyBroadcastMessagingFU::TestReceiveMessage0002L() |
|
1053 { |
|
1054 |
|
1055 OpenEtelServerL(EUseExtendedError); |
|
1056 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1057 OpenPhoneL(); |
|
1058 |
|
1059 TRequestStatus mockLtsyStatus; |
|
1060 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1061 |
|
1062 RBuf8 data; |
|
1063 CleanupClosePushL(data); |
|
1064 |
|
1065 RMobileBroadcastMessaging messaging; |
|
1066 TInt err = messaging.Open(iPhone); |
|
1067 ASSERT_EQUALS(KErrNone, err); |
|
1068 CleanupClosePushL(messaging); |
|
1069 |
|
1070 //------------------------------------------------------------------------- |
|
1071 // Test cancelling of RMobileBroadcastMessaging::ReceiveMessage |
|
1072 //------------------------------------------------------------------------- |
|
1073 |
|
1074 TCbsCbmiAndLangAndFilter expectData; |
|
1075 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
1076 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
1077 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
1078 |
|
1079 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
1080 expectLtsyData.SerialiseL(data); |
|
1081 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
1082 |
|
1083 TGsmCbsMsg cbsMsg; |
|
1084 cbsMsg.iCbsMsg.Copy(_L("Cool!")); |
|
1085 TMockLtsyData1<TGsmCbsMsg> completeLtsyData(cbsMsg); |
|
1086 data.Close(); |
|
1087 completeLtsyData.SerialiseL(data); |
|
1088 iMockLTSY.CompleteL(EMmTsyGsmBroadcastNotifyMessageReceived, KErrNone, data, 10); |
|
1089 |
|
1090 TRequestStatus reqStatus; |
|
1091 RMobileBroadcastMessaging::TBroadcastPageData msgData; |
|
1092 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 attributes; |
|
1093 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1Pckg msgAttributes(attributes); |
|
1094 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1095 |
|
1096 messaging.CancelAsyncRequest(EMobileBroadcastMessagingReceiveMessage); |
|
1097 |
|
1098 User::WaitForRequest(reqStatus); |
|
1099 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
1100 |
|
1101 // Wait for completion of iMockLTSY.NotifyTerminated |
|
1102 User::WaitForRequest(mockLtsyStatus); |
|
1103 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
1104 |
|
1105 AssertMockLtsyStatusL(); |
|
1106 |
|
1107 //------------------------------------------------------------------------- |
|
1108 // Test cancelling, increase coverage |
|
1109 //------------------------------------------------------------------------- |
|
1110 |
|
1111 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
1112 iMockLTSY.NotifyTerminated(reqStatus); |
|
1113 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1114 User::WaitForRequest(reqStatus); |
|
1115 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1116 AssertMockLtsyStatusL(); |
|
1117 |
|
1118 // execute request |
|
1119 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1120 |
|
1121 // setting cancel request |
|
1122 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
1123 data.Close(); |
|
1124 expectLtsyData.SerialiseL(data); |
|
1125 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessageCancel, data, KErrNotSupported); |
|
1126 |
|
1127 messaging.CancelAsyncRequest(EMobileBroadcastMessagingReceiveMessage); |
|
1128 |
|
1129 // ReceiveMessage completion |
|
1130 User::WaitForRequest(reqStatus); |
|
1131 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1132 |
|
1133 AssertMockLtsyStatusL(); |
|
1134 |
|
1135 //------------------------------------------------------------------------- |
|
1136 // Test cancelling, increase coverage |
|
1137 //------------------------------------------------------------------------- |
|
1138 |
|
1139 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
1140 iMockLTSY.NotifyTerminated(reqStatus); |
|
1141 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1142 User::WaitForRequest(reqStatus); |
|
1143 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1144 AssertMockLtsyStatusL(); |
|
1145 |
|
1146 // execute request |
|
1147 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1148 |
|
1149 // setting cancel request |
|
1150 data.Close(); |
|
1151 expectLtsyData.SerialiseL(data); |
|
1152 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessageCancel, data); |
|
1153 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessageCancel, KErrGeneral); |
|
1154 |
|
1155 messaging.CancelAsyncRequest(EMobileBroadcastMessagingReceiveMessage); |
|
1156 |
|
1157 // ReceiveMessage completion |
|
1158 User::WaitForRequest(reqStatus); |
|
1159 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
1160 |
|
1161 AssertMockLtsyStatusL(); |
|
1162 |
|
1163 //------------------------------------------------------------------------- |
|
1164 // Test cancelling, increase coverage |
|
1165 //------------------------------------------------------------------------- |
|
1166 |
|
1167 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
1168 iMockLTSY.NotifyTerminated(reqStatus); |
|
1169 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1170 User::WaitForRequest(reqStatus); |
|
1171 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1172 AssertMockLtsyStatusL(); |
|
1173 |
|
1174 // execute request |
|
1175 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1176 |
|
1177 // setting cancel request |
|
1178 data.Close(); |
|
1179 expectLtsyData.SerialiseL(data); |
|
1180 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessageCancel, data); |
|
1181 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessageCancel, KErrNone); |
|
1182 |
|
1183 messaging.CancelAsyncRequest(EMobileBroadcastMessagingReceiveMessage); |
|
1184 |
|
1185 // ReceiveMessage completion |
|
1186 User::WaitForRequest(reqStatus); |
|
1187 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
1188 |
|
1189 AssertMockLtsyStatusL(); |
|
1190 |
|
1191 CleanupStack::PopAndDestroy(3, this); // messaging, data, this |
|
1192 |
|
1193 } |
|
1194 |
|
1195 |
|
1196 /** |
|
1197 @SYMTestCaseID BA-CTSY-BRMSG-BRM-0003 |
|
1198 @SYMComponent telephony_ctsy |
|
1199 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::ReceiveMessage with bad parameter data |
|
1200 @SYMTestPriority High |
|
1201 @SYMTestActions Invokes RMobileBroadcastMessaging::ReceiveMessage with bad parameter data |
|
1202 @SYMTestExpectedResults Pass |
|
1203 @SYMTestType CT |
|
1204 */ |
|
1205 void CCTsyBroadcastMessagingFU::TestReceiveMessage0003L() |
|
1206 { |
|
1207 |
|
1208 OpenEtelServerL(EUseExtendedError); |
|
1209 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1210 OpenPhoneL(); |
|
1211 |
|
1212 RBuf8 data; |
|
1213 CleanupClosePushL(data); |
|
1214 |
|
1215 RMobileBroadcastMessaging messaging; |
|
1216 TInt err = messaging.Open(iPhone); |
|
1217 ASSERT_EQUALS(KErrNone, err); |
|
1218 CleanupClosePushL(messaging); |
|
1219 |
|
1220 //------------------------------------------------------------------------- |
|
1221 // Test passing wrong descriptor size to parameter aMsgData in |
|
1222 // RMobileBroadcastMessaging::ReceiveMessage |
|
1223 //------------------------------------------------------------------------- |
|
1224 |
|
1225 TBuf8<RMobileBroadcastMessaging::KBroadcastPageSize+1> wrongMsgData; |
|
1226 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 wcdmaAttributes; |
|
1227 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg wcdmaMsgAttributes(wcdmaAttributes); |
|
1228 TRequestStatus reqStatus; |
|
1229 messaging.ReceiveMessage(reqStatus, wrongMsgData, wcdmaMsgAttributes); |
|
1230 |
|
1231 User::WaitForRequest(reqStatus); |
|
1232 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
1233 |
|
1234 AssertMockLtsyStatusL(); |
|
1235 |
|
1236 //------------------------------------------------------------------------- |
|
1237 // Test A: Test passing wrong descriptor size to parameter aMsgAttributes in |
|
1238 // RMobileBroadcastMessaging::ReceiveMessage |
|
1239 //------------------------------------------------------------------------- |
|
1240 |
|
1241 TCbsCbmiAndLangAndFilter expectData; |
|
1242 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
1243 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
1244 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
1245 |
|
1246 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
1247 expectLtsyData.SerialiseL(data); |
|
1248 |
|
1249 CArrayPtrFlat<TWcdmaCbsMsg>* wcdmaCbsMsgArray = new ( ELeave ) CArrayPtrFlat<TWcdmaCbsMsg>( 1 ); |
|
1250 CleanupStack::PushL(wcdmaCbsMsgArray); |
|
1251 |
|
1252 TWcdmaCbsMsg wcdmaCbsMsg0; |
|
1253 wcdmaCbsMsg0.iWcdmaCbsData.Copy(_L("0cool0")); |
|
1254 wcdmaCbsMsg0.iSbNumber = 1; |
|
1255 wcdmaCbsMsg0.iNumberOfPages = 2; |
|
1256 wcdmaCbsMsg0.iMessageType = 3; |
|
1257 wcdmaCbsMsg0.iMessageId = 4; |
|
1258 wcdmaCbsMsg0.iSerialNum = 5; |
|
1259 wcdmaCbsMsg0.iDCS = 6; |
|
1260 wcdmaCbsMsg0.iInfoLength = wcdmaCbsMsg0.iWcdmaCbsData.Length(); |
|
1261 wcdmaCbsMsgArray->AppendL(&wcdmaCbsMsg0, 1); |
|
1262 |
|
1263 TUint8 wcdmaPageNumber(1); |
|
1264 TMockLtsyData2<CArrayPtrFlat< TWcdmaCbsMsg >*, TUint8> completeWcdmaLtsyData(wcdmaCbsMsgArray, wcdmaPageNumber); |
|
1265 |
|
1266 RMobileBroadcastMessaging::TBroadcastPageData msgData; |
|
1267 |
|
1268 TBuf8<1> wrongMsgAttributes; |
|
1269 |
|
1270 messaging.ReceiveMessage(reqStatus, msgData, wrongMsgAttributes); |
|
1271 User::WaitForRequest(reqStatus); |
|
1272 |
|
1273 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
1274 AssertMockLtsyStatusL(); |
|
1275 |
|
1276 //------------------------------------------------------------------------- |
|
1277 // Test B: Test passing out of bounds parameters from LTSY in |
|
1278 // request completion data |
|
1279 //------------------------------------------------------------------------- |
|
1280 data.Close(); |
|
1281 expectLtsyData.SerialiseL(data); |
|
1282 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
1283 |
|
1284 wcdmaPageNumber = 4; // greater |
|
1285 data.Close(); |
|
1286 completeWcdmaLtsyData.SerialiseL(data); |
|
1287 iMockLTSY.CompleteL(EMmTsyWcdmaBroadcastNotifyMessageReceived, KErrNone, data); |
|
1288 |
|
1289 messaging.ReceiveMessage(reqStatus, msgData, wcdmaMsgAttributes); |
|
1290 User::WaitForRequest(reqStatus); |
|
1291 |
|
1292 ASSERT_EQUALS(KErrCorrupt, reqStatus.Int()); |
|
1293 AssertMockLtsyStatusL(); |
|
1294 |
|
1295 CleanupStack::PopAndDestroy(4, this); // wcdmaCbsMsgArray, messaging, data, this |
|
1296 |
|
1297 } |
|
1298 |
|
1299 |
|
1300 /** |
|
1301 @SYMTestCaseID BA-CTSY-BRMSG-BRM-0004 |
|
1302 @SYMComponent telephony_ctsy |
|
1303 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileBroadcastMessaging::ReceiveMessage |
|
1304 @SYMTestPriority High |
|
1305 @SYMTestActions Invokes multiple client requests to RMobileBroadcastMessaging::ReceiveMessage |
|
1306 @SYMTestExpectedResults Pass |
|
1307 @SYMTestType CT |
|
1308 */ |
|
1309 void CCTsyBroadcastMessagingFU::TestReceiveMessage0004L() |
|
1310 { |
|
1311 |
|
1312 |
|
1313 OpenEtelServerL(EUseExtendedError); |
|
1314 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1315 OpenPhoneL(); |
|
1316 |
|
1317 RBuf8 data; |
|
1318 CleanupClosePushL(data); |
|
1319 |
|
1320 RMobileBroadcastMessaging messaging; |
|
1321 TInt err = messaging.Open(iPhone); |
|
1322 ASSERT_EQUALS(KErrNone, err); |
|
1323 CleanupClosePushL(messaging); |
|
1324 |
|
1325 // Open second client |
|
1326 RTelServer telServer2; |
|
1327 TInt ret = telServer2.Connect(); |
|
1328 ASSERT_EQUALS(KErrNone, ret); |
|
1329 CleanupClosePushL(telServer2); |
|
1330 |
|
1331 RMobilePhone phone2; |
|
1332 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
1333 ASSERT_EQUALS(KErrNone, ret); |
|
1334 CleanupClosePushL(phone2); |
|
1335 |
|
1336 RMobileBroadcastMessaging messaging2; |
|
1337 err = messaging2.Open(phone2); |
|
1338 ASSERT_EQUALS(KErrNone, err); |
|
1339 CleanupClosePushL(messaging2); |
|
1340 |
|
1341 // Open third client |
|
1342 RTelServer telServer3; |
|
1343 ret = telServer3.Connect(); |
|
1344 ASSERT_EQUALS(KErrNone, ret); |
|
1345 CleanupClosePushL(telServer3); |
|
1346 |
|
1347 RMobilePhone phone3; |
|
1348 ret = phone3.Open(telServer3, KMmTsyPhoneName); |
|
1349 ASSERT_EQUALS(KErrNone, ret); |
|
1350 CleanupClosePushL(phone3); |
|
1351 |
|
1352 RMobileBroadcastMessaging messaging3; |
|
1353 err = messaging3.Open(phone3); |
|
1354 ASSERT_EQUALS(KErrNone, err); |
|
1355 CleanupClosePushL(messaging3); |
|
1356 |
|
1357 // Open fourth client |
|
1358 RTelServer telServer4; |
|
1359 ret = telServer4.Connect(); |
|
1360 ASSERT_EQUALS(KErrNone, ret); |
|
1361 CleanupClosePushL(telServer4); |
|
1362 |
|
1363 RMobilePhone phone4; |
|
1364 ret = phone4.Open(telServer4, KMmTsyPhoneName); |
|
1365 ASSERT_EQUALS(KErrNone, ret); |
|
1366 CleanupClosePushL(phone4); |
|
1367 |
|
1368 RMobileBroadcastMessaging messaging4; |
|
1369 err = messaging4.Open(phone4); |
|
1370 ASSERT_EQUALS(KErrNone, err); |
|
1371 CleanupClosePushL(messaging4); |
|
1372 |
|
1373 //------------------------------------------------------------------------- |
|
1374 // Test A: Test multiple clients requesting RMobileBroadcastMessaging::ReceiveMessage |
|
1375 // Using RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 |
|
1376 //------------------------------------------------------------------------- |
|
1377 |
|
1378 // Setting up multiple Gsm requests |
|
1379 TCbsCbmiAndLangAndFilter expectData; |
|
1380 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
1381 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
1382 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
1383 |
|
1384 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
1385 expectLtsyData.SerialiseL(data); |
|
1386 |
|
1387 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
1388 |
|
1389 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1390 TGsmCbsMsg cbsMsg; |
|
1391 cbsMsg.iCbsMsg.Copy(_L("Cool!")); |
|
1392 TMockLtsyData1<TGsmCbsMsg> completeLtsyData(cbsMsg); |
|
1393 data.Close(); |
|
1394 completeLtsyData.SerialiseL(data); |
|
1395 iMockLTSY.CompleteL(EMmTsyGsmBroadcastNotifyMessageReceived, KErrNone, data); |
|
1396 |
|
1397 TRequestStatus reqStatus; |
|
1398 RMobileBroadcastMessaging::TBroadcastPageData msgData; |
|
1399 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 attributes; |
|
1400 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1Pckg msgAttributes(attributes); |
|
1401 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1402 |
|
1403 TRequestStatus reqStatus2; |
|
1404 RMobileBroadcastMessaging::TBroadcastPageData msgData2; |
|
1405 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 attributes2; |
|
1406 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1Pckg msgAttributes2(attributes2); |
|
1407 messaging2.ReceiveMessage(reqStatus2, msgData2, msgAttributes2); |
|
1408 |
|
1409 // completion |
|
1410 RMobileBroadcastMessaging::TMobileBroadcastDataFormat |
|
1411 expectedFormat(RMobileBroadcastMessaging::EFormatGsmTpdu); |
|
1412 TUint32 expectedFlags(RMobileBroadcastMessaging::KBroadcastDataFormat); |
|
1413 |
|
1414 User::WaitForRequest(reqStatus2); |
|
1415 ASSERT_EQUALS(KErrNone, reqStatus2.Int()); |
|
1416 ASSERT_EQUALS(cbsMsg.iCbsMsg, msgData2); |
|
1417 ASSERT_EQUALS(expectedFlags, attributes2.iFlags); |
|
1418 ASSERT_EQUALS(expectedFormat, attributes2.iFormat); |
|
1419 |
|
1420 |
|
1421 User::WaitForRequest(reqStatus); |
|
1422 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1423 ASSERT_EQUALS(cbsMsg.iCbsMsg, msgData); |
|
1424 ASSERT_EQUALS(expectedFlags, attributes.iFlags); |
|
1425 ASSERT_EQUALS(expectedFormat, attributes.iFormat); |
|
1426 |
|
1427 |
|
1428 //------------------------------------------------------------------------- |
|
1429 // Test B: Test multiple clients requesting RMobileBroadcastMessaging::ReceiveMessage |
|
1430 // Using RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 |
|
1431 //------------------------------------------------------------------------- |
|
1432 |
|
1433 // Setting up multiple Wcdma requests |
|
1434 data.Close(); |
|
1435 expectLtsyData.SerialiseL(data); |
|
1436 |
|
1437 CArrayPtrFlat<TWcdmaCbsMsg>* wcdmaCbsMsgArray = new ( ELeave ) CArrayPtrFlat<TWcdmaCbsMsg>( 1 ); |
|
1438 CleanupStack::PushL(wcdmaCbsMsgArray); |
|
1439 |
|
1440 TWcdmaCbsMsg wcdmaCbsMsg0; |
|
1441 wcdmaCbsMsg0.iWcdmaCbsData.Copy(_L("0cool0")); |
|
1442 wcdmaCbsMsg0.iSbNumber = 1; |
|
1443 wcdmaCbsMsg0.iNumberOfPages = 2; |
|
1444 wcdmaCbsMsg0.iMessageType = 3; |
|
1445 wcdmaCbsMsg0.iMessageId = 4; |
|
1446 wcdmaCbsMsg0.iSerialNum = 5; |
|
1447 wcdmaCbsMsg0.iDCS = 6; |
|
1448 wcdmaCbsMsg0.iInfoLength = wcdmaCbsMsg0.iWcdmaCbsData.Length(); |
|
1449 wcdmaCbsMsgArray->AppendL(&wcdmaCbsMsg0, 1); |
|
1450 |
|
1451 TUint8 wcdmaPageNumber(1); |
|
1452 TMockLtsyData2<CArrayPtrFlat< TWcdmaCbsMsg >*, TUint8> completeWcdmaLtsyData(wcdmaCbsMsgArray, wcdmaPageNumber); |
|
1453 |
|
1454 data.Close(); |
|
1455 completeWcdmaLtsyData.SerialiseL(data); |
|
1456 |
|
1457 iMockLTSY.CompleteL(EMmTsyWcdmaBroadcastNotifyMessageReceived, KErrNone, data); |
|
1458 |
|
1459 |
|
1460 TRequestStatus reqStatus3; |
|
1461 RMobileBroadcastMessaging::TBroadcastPageData msgData3; |
|
1462 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 attributes3; |
|
1463 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg msgAttributes3(attributes3); |
|
1464 messaging3.ReceiveMessage(reqStatus3, msgData3, msgAttributes3); |
|
1465 |
|
1466 TRequestStatus reqStatus4; |
|
1467 RMobileBroadcastMessaging::TBroadcastPageData msgData4; |
|
1468 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 attributes4; |
|
1469 RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg msgAttributes4(attributes4); |
|
1470 messaging4.ReceiveMessage(reqStatus4, msgData4, msgAttributes4); |
|
1471 |
|
1472 // completion |
|
1473 TUint32 expectedFlags2(RMobileBroadcastMessaging::KBroadcastDataFormat); |
|
1474 RMobileBroadcastMessaging::TMobileBroadcastDataFormat |
|
1475 expectedFormat2(RMobileBroadcastMessaging::EFormatWcdmaTpdu); |
|
1476 |
|
1477 User::WaitForRequest(reqStatus4); |
|
1478 ASSERT_EQUALS(KErrNone, reqStatus4.Int()); |
|
1479 |
|
1480 // generate a message from the original message with the page number at the end |
|
1481 TBuf8<RMobileBroadcastMessaging::KBroadcastPageSize> messageWithPageNumber; |
|
1482 messageWithPageNumber.Copy(wcdmaCbsMsg0.iWcdmaCbsData); |
|
1483 _LIT8(KFormat, "%c"); |
|
1484 TBuf8<2> abc(KFormat); |
|
1485 // Append pagenumber to end of CBS message |
|
1486 messageWithPageNumber.AppendFormat( abc, wcdmaPageNumber); |
|
1487 |
|
1488 ASSERT_EQUALS(messageWithPageNumber, msgData4); |
|
1489 |
|
1490 ASSERT_EQUALS(expectedFlags2, attributes4.iFlags); |
|
1491 ASSERT_EQUALS(expectedFormat2, attributes4.iFormat); |
|
1492 ASSERT_EQUALS(wcdmaCbsMsg0.iNumberOfPages, attributes4.iNumberOfPages); |
|
1493 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageType, attributes4.iMessageType); |
|
1494 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageId, attributes4.iMessageId); |
|
1495 ASSERT_EQUALS(wcdmaCbsMsg0.iSerialNum, attributes4.iSerialNum); |
|
1496 ASSERT_EQUALS(wcdmaCbsMsg0.iDCS, attributes4.iDCS); |
|
1497 |
|
1498 |
|
1499 User::WaitForRequest(reqStatus3); |
|
1500 ASSERT_EQUALS(KErrNone, reqStatus3.Int()); |
|
1501 ASSERT_EQUALS(messageWithPageNumber, msgData3); |
|
1502 |
|
1503 ASSERT_EQUALS(expectedFlags2, attributes3.iFlags); |
|
1504 ASSERT_EQUALS(expectedFormat2, attributes3.iFormat); |
|
1505 ASSERT_EQUALS(wcdmaCbsMsg0.iNumberOfPages, attributes3.iNumberOfPages); |
|
1506 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageType, attributes3.iMessageType); |
|
1507 ASSERT_EQUALS(wcdmaCbsMsg0.iMessageId, attributes3.iMessageId); |
|
1508 ASSERT_EQUALS(wcdmaCbsMsg0.iSerialNum, attributes3.iSerialNum); |
|
1509 ASSERT_EQUALS(wcdmaCbsMsg0.iDCS, attributes3.iDCS); |
|
1510 |
|
1511 |
|
1512 AssertMockLtsyStatusL(); |
|
1513 |
|
1514 CleanupStack::PopAndDestroy(13, this); // wcdmaCbsMsgArray, messaging(4), phone(3), telServer(3), data, this |
|
1515 |
|
1516 } |
|
1517 |
|
1518 |
|
1519 /** |
|
1520 @SYMTestCaseID BA-CTSY-BRMSG-BRM-0005 |
|
1521 @SYMComponent telephony_ctsy |
|
1522 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::ReceiveMessage with timeout |
|
1523 @SYMTestPriority High |
|
1524 @SYMTestActions Invokes RMobileBroadcastMessaging::ReceiveMessage and tests for timeout |
|
1525 @SYMTestExpectedResults Pass |
|
1526 @SYMTestType CT |
|
1527 */ |
|
1528 void CCTsyBroadcastMessagingFU::TestReceiveMessage0005L() |
|
1529 { |
|
1530 |
|
1531 |
|
1532 OpenEtelServerL(EUseExtendedError); |
|
1533 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1534 OpenPhoneL(); |
|
1535 |
|
1536 RBuf8 data; |
|
1537 CleanupClosePushL(data); |
|
1538 |
|
1539 RMobileBroadcastMessaging messaging; |
|
1540 TInt err = messaging.Open(iPhone); |
|
1541 ASSERT_EQUALS(KErrNone, err); |
|
1542 CleanupClosePushL(messaging); |
|
1543 |
|
1544 //------------------------------------------------------------------------- |
|
1545 // Test A: Test timeout of RMobileBroadcastMessaging::ReceiveMessage |
|
1546 //------------------------------------------------------------------------- |
|
1547 |
|
1548 TRequestStatus reqStatus; |
|
1549 iMockLTSY.NotifyTerminated(reqStatus); |
|
1550 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1551 User::WaitForRequest(reqStatus); |
|
1552 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1553 AssertMockLtsyStatusL(); |
|
1554 |
|
1555 RMobileBroadcastMessaging::TBroadcastPageData msgData; |
|
1556 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 attributes; |
|
1557 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1Pckg msgAttributes(attributes); |
|
1558 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1559 |
|
1560 TCbsCbmiAndLangAndFilter expectData; |
|
1561 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
1562 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
1563 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
1564 |
|
1565 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
1566 expectLtsyData.SerialiseL(data); |
|
1567 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessageCancel, data); |
|
1568 |
|
1569 messaging.CancelAsyncRequest(EMobileBroadcastMessagingReceiveMessage); |
|
1570 |
|
1571 User::WaitForRequest(reqStatus); |
|
1572 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
1573 |
|
1574 AssertMockLtsyStatusL(); |
|
1575 |
|
1576 CleanupStack::PopAndDestroy(3, this); // messaging, data, this |
|
1577 |
|
1578 } |
|
1579 |
|
1580 |
|
1581 /** |
|
1582 @SYMTestCaseID BA-CTSY-BRMSG-BGFS-0001 |
|
1583 @SYMComponent telephony_ctsy |
|
1584 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::GetFilterSetting |
|
1585 @SYMTestPriority High |
|
1586 @SYMTestActions Invokes RMobileBroadcastMessaging::GetFilterSetting |
|
1587 @SYMTestExpectedResults Pass |
|
1588 @SYMTestType CT |
|
1589 */ |
|
1590 void CCTsyBroadcastMessagingFU::TestGetFilterSetting0001L() |
|
1591 { |
|
1592 |
|
1593 OpenEtelServerL(EUseExtendedError); |
|
1594 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1595 OpenPhoneL(); |
|
1596 |
|
1597 RMobileBroadcastMessaging messaging; |
|
1598 TInt err = messaging.Open(iPhone); |
|
1599 ASSERT_EQUALS(KErrNone, err); |
|
1600 CleanupClosePushL(messaging); |
|
1601 |
|
1602 //------------------------------------------------------------------------- |
|
1603 // TEST C: Successful completion request of |
|
1604 // RMobileBroadcastMessaging::GetFilterSetting. |
|
1605 //------------------------------------------------------------------------- |
|
1606 |
|
1607 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting; |
|
1608 err = messaging.GetFilterSetting(setting); |
|
1609 ASSERT_EQUALS(KErrNone, err); |
|
1610 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptAll, setting); |
|
1611 AssertMockLtsyStatusL(); |
|
1612 |
|
1613 // change setting |
|
1614 TRequestStatus reqStatus; |
|
1615 messaging.SetFilterSetting(reqStatus, RMobileBroadcastMessaging::EBroadcastAcceptNone); |
|
1616 User::WaitForRequest(reqStatus); |
|
1617 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1618 AssertMockLtsyStatusL(); |
|
1619 |
|
1620 // check if the setting is changed |
|
1621 err = messaging.GetFilterSetting(setting); |
|
1622 ASSERT_EQUALS(KErrNone, err); |
|
1623 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptNone, setting); |
|
1624 AssertMockLtsyStatusL(); |
|
1625 |
|
1626 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
1627 |
|
1628 } |
|
1629 |
|
1630 |
|
1631 /** |
|
1632 @SYMTestCaseID BA-CTSY-BRMSG-BSFS-0001 |
|
1633 @SYMComponent telephony_ctsy |
|
1634 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::SetFilterSetting |
|
1635 @SYMTestPriority High |
|
1636 @SYMTestActions Invokes RMobileBroadcastMessaging::SetFilterSetting |
|
1637 @SYMTestExpectedResults Pass |
|
1638 @SYMTestType CT |
|
1639 */ |
|
1640 void CCTsyBroadcastMessagingFU::TestSetFilterSetting0001L() |
|
1641 { |
|
1642 |
|
1643 OpenEtelServerL(EUseExtendedError); |
|
1644 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1645 OpenPhoneL(); |
|
1646 |
|
1647 RBuf8 data; |
|
1648 CleanupClosePushL(data); |
|
1649 |
|
1650 RMobileBroadcastMessaging messaging; |
|
1651 TInt err = messaging.Open(iPhone); |
|
1652 ASSERT_EQUALS(KErrNone, err); |
|
1653 CleanupClosePushL(messaging); |
|
1654 |
|
1655 TRequestStatus reqStatus; |
|
1656 |
|
1657 //------------------------------------------------------------------------- |
|
1658 // TEST A: failure to dispatch request to LTSY |
|
1659 //------------------------------------------------------------------------- |
|
1660 |
|
1661 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
1662 iMockLTSY.NotifyTerminated(reqStatus); |
|
1663 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1664 User::WaitForRequest(reqStatus); |
|
1665 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1666 AssertMockLtsyStatusL(); |
|
1667 |
|
1668 // setting request and execute |
|
1669 TCbsCbmiAndLangAndFilter expectData; |
|
1670 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
1671 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
1672 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
1673 |
|
1674 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
1675 expectLtsyData.SerialiseL(data); |
|
1676 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data, KErrNotSupported); |
|
1677 |
|
1678 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
1679 |
|
1680 // completion |
|
1681 User::WaitForRequest(reqStatus); |
|
1682 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1683 |
|
1684 AssertMockLtsyStatusL(); |
|
1685 |
|
1686 //------------------------------------------------------------------------- |
|
1687 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
1688 //------------------------------------------------------------------------- |
|
1689 |
|
1690 // no need in setting environement ( CMmBroadcastTsy::iCbRoutingActivated is ETrue) |
|
1691 |
|
1692 // setting request and execute |
|
1693 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
1694 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrGeneral); |
|
1695 |
|
1696 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
1697 |
|
1698 // completion |
|
1699 User::WaitForRequest(reqStatus); |
|
1700 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
1701 |
|
1702 AssertMockLtsyStatusL(); |
|
1703 |
|
1704 //------------------------------------------------------------------------- |
|
1705 // TEST C: Successful completion request of |
|
1706 // RMobileBroadcastMessaging::SetFilterSetting. |
|
1707 //------------------------------------------------------------------------- |
|
1708 |
|
1709 // no need in setting environement ( CMmBroadcastTsy::iCbRoutingActivated is ETrue) |
|
1710 |
|
1711 // setting request and execute |
|
1712 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
1713 data.Close(); |
|
1714 expectLtsyData.SerialiseL(data); |
|
1715 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
1716 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone); |
|
1717 |
|
1718 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
1719 |
|
1720 // completion |
|
1721 User::WaitForRequest(reqStatus); |
|
1722 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1723 |
|
1724 AssertMockLtsyStatusL(); |
|
1725 |
|
1726 //------------------------------------------------------------------------- |
|
1727 // TEST C: increase coverage ( SetFilterSetting(EBroadcastAcceptNone) ) |
|
1728 //------------------------------------------------------------------------- |
|
1729 |
|
1730 // no need in setting environement ( CMmBroadcastTsy::iCbRoutingActivated is ETrue) |
|
1731 |
|
1732 // setting request and execute |
|
1733 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
1734 data.Close(); |
|
1735 expectLtsyData.SerialiseL(data); |
|
1736 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
1737 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone); |
|
1738 |
|
1739 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
1740 |
|
1741 // completion |
|
1742 User::WaitForRequest(reqStatus); |
|
1743 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1744 |
|
1745 AssertMockLtsyStatusL(); |
|
1746 |
|
1747 //------------------------------------------------------------------------- |
|
1748 // TEST C: increase coverage ( SetFilterSetting(EBroadcastAcceptNone) when |
|
1749 // CMmBroadcastTsy::iCbRoutingActivated equals EFalse ) |
|
1750 //------------------------------------------------------------------------- |
|
1751 |
|
1752 // no need in setting environement ( CMmBroadcastTsy::iCbRoutingActivated is EFalse) |
|
1753 |
|
1754 // setting request and execute |
|
1755 messaging.SetFilterSetting(reqStatus, RMobileBroadcastMessaging::EBroadcastAcceptNone); |
|
1756 User::WaitForRequest(reqStatus); |
|
1757 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1758 |
|
1759 AssertMockLtsyStatusL(); |
|
1760 |
|
1761 //------------------------------------------------------------------------- |
|
1762 // TEST C: increase coverage ( SetFilterSetting(EBroadcastAcceptNone) when |
|
1763 // CMmBroadcastTsy::iCbRoutingActivated equals EFalse |
|
1764 // but there is pending ReceiveMessage request ) |
|
1765 //------------------------------------------------------------------------- |
|
1766 |
|
1767 // no need in setting environement by change CMmBroadcastTsy::iCbRoutingActivated |
|
1768 // ( CMmBroadcastTsy::iCbRoutingActivated is EFalse ) |
|
1769 |
|
1770 // setting and execute ReceiveMessage request |
|
1771 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
1772 data.Close(); |
|
1773 expectLtsyData.SerialiseL(data); |
|
1774 iMockLTSY.ExpectL(EMobileBroadcastMessagingReceiveMessage, data); |
|
1775 RMobileBroadcastMessaging::TBroadcastPageData msgData; |
|
1776 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1 attributes; |
|
1777 RMobileBroadcastMessaging::TMobileBroadcastAttributesV1Pckg msgAttributes(attributes); |
|
1778 messaging.ReceiveMessage(reqStatus, msgData, msgAttributes); |
|
1779 AssertMockLtsyStatusL(); |
|
1780 |
|
1781 // setting and execute SetFilterSetting |
|
1782 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
1783 data.Close(); |
|
1784 expectLtsyData.SerialiseL(data); |
|
1785 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
1786 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone); |
|
1787 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
1788 |
|
1789 // completion |
|
1790 User::WaitForRequest(reqStatus); |
|
1791 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1792 |
|
1793 // cancel ReceiveMessage request |
|
1794 messaging.CancelAsyncRequest(EMobileBroadcastMessagingReceiveMessage); |
|
1795 |
|
1796 AssertMockLtsyStatusL(); |
|
1797 |
|
1798 //------------------------------------------------------------------------- |
|
1799 // TEST E: Unsolicited completion of RMobileBroadcastMessaging::SetFilterSetting |
|
1800 // from LTSY. |
|
1801 //------------------------------------------------------------------------- |
|
1802 |
|
1803 iMockLTSY.NotifyTerminated(reqStatus); |
|
1804 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone); |
|
1805 |
|
1806 User::WaitForRequest(reqStatus); // KERN:4 in CMmBroadcastTsy.cpp line 998 |
|
1807 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1808 AssertMockLtsyStatusL(); |
|
1809 |
|
1810 CleanupStack::PopAndDestroy(3, this); // messaging, data, this |
|
1811 |
|
1812 } |
|
1813 |
|
1814 |
|
1815 /** |
|
1816 @SYMTestCaseID BA-CTSY-BRMSG-BSFS-0002 |
|
1817 @SYMComponent telephony_ctsy |
|
1818 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileBroadcastMessaging::SetFilterSetting |
|
1819 @SYMTestPriority High |
|
1820 @SYMTestActions Invokes cancelling of RMobileBroadcastMessaging::SetFilterSetting |
|
1821 @SYMTestExpectedResults Pass |
|
1822 @SYMTestType CT |
|
1823 */ |
|
1824 void CCTsyBroadcastMessagingFU::TestSetFilterSetting0002L() |
|
1825 { |
|
1826 |
|
1827 OpenEtelServerL(EUseExtendedError); |
|
1828 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1829 OpenPhoneL(); |
|
1830 |
|
1831 RBuf8 data; |
|
1832 CleanupClosePushL(data); |
|
1833 |
|
1834 RMobileBroadcastMessaging messaging; |
|
1835 TInt err = messaging.Open(iPhone); |
|
1836 ASSERT_EQUALS(KErrNone, err); |
|
1837 CleanupClosePushL(messaging); |
|
1838 |
|
1839 TRequestStatus reqStatus; |
|
1840 |
|
1841 //------------------------------------------------------------------------- |
|
1842 // Test cancelling of RMobileBroadcastMessaging::SetFilterSetting |
|
1843 //------------------------------------------------------------------------- |
|
1844 |
|
1845 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
1846 iMockLTSY.NotifyTerminated(reqStatus); |
|
1847 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
1848 User::WaitForRequest(reqStatus); |
|
1849 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1850 AssertMockLtsyStatusL(); |
|
1851 |
|
1852 TRequestStatus mockLtsyStatus; |
|
1853 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1854 |
|
1855 // setting request and execute |
|
1856 TCbsCbmiAndLangAndFilter expectData; |
|
1857 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
1858 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
1859 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
1860 |
|
1861 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
1862 expectLtsyData.SerialiseL(data); |
|
1863 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
1864 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone, 10); |
|
1865 |
|
1866 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
1867 |
|
1868 // cancelling |
|
1869 messaging.CancelAsyncRequest(EMobileBroadcastMessagingSetFilterSetting); |
|
1870 |
|
1871 // completion |
|
1872 User::WaitForRequest(reqStatus); |
|
1873 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1874 |
|
1875 // Wait for completion of iMockLTSY.NotifyTerminated |
|
1876 User::WaitForRequest(mockLtsyStatus); |
|
1877 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
1878 |
|
1879 AssertMockLtsyStatusL(); |
|
1880 CleanupStack::PopAndDestroy(3, this); // messaging, data, this |
|
1881 |
|
1882 } |
|
1883 |
|
1884 |
|
1885 /** |
|
1886 @SYMTestCaseID BA-CTSY-BRMSG-BSFS-0003 |
|
1887 @SYMComponent telephony_ctsy |
|
1888 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::SetFilterSetting with bad parameter data |
|
1889 @SYMTestPriority High |
|
1890 @SYMTestActions Invokes RMobileBroadcastMessaging::SetFilterSetting with bad parameter data |
|
1891 @SYMTestExpectedResults Pass |
|
1892 @SYMTestType CT |
|
1893 */ |
|
1894 void CCTsyBroadcastMessagingFU::TestSetFilterSetting0003L() |
|
1895 { |
|
1896 |
|
1897 OpenEtelServerL(EUseExtendedError); |
|
1898 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1899 OpenPhoneL(); |
|
1900 |
|
1901 RMobileBroadcastMessaging messaging; |
|
1902 TInt err = messaging.Open(iPhone); |
|
1903 ASSERT_EQUALS(KErrNone, err); |
|
1904 CleanupClosePushL(messaging); |
|
1905 |
|
1906 //------------------------------------------------------------------------- |
|
1907 // Test C: Test passing out of bounds parameters to |
|
1908 // RMobileBroadcastMessaging::SetFilterSetting |
|
1909 //------------------------------------------------------------------------- |
|
1910 |
|
1911 // test for support with RMobileBroadcastMessaging::EBroadcastFilterUnspecified parameter value |
|
1912 TRequestStatus reqStatus; |
|
1913 messaging.SetFilterSetting(reqStatus, RMobileBroadcastMessaging::EBroadcastFilterUnspecified); |
|
1914 User::WaitForRequest(reqStatus); |
|
1915 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1916 AssertMockLtsyStatusL(); |
|
1917 |
|
1918 // check if the setting is not changed |
|
1919 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting; |
|
1920 err = messaging.GetFilterSetting(setting); |
|
1921 ASSERT_EQUALS(KErrNone, err); |
|
1922 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptAll, setting); |
|
1923 AssertMockLtsyStatusL(); |
|
1924 |
|
1925 // test for support with RMobileBroadcastMessaging::EBroadcastAcceptFilter parameter value |
|
1926 messaging.SetFilterSetting(reqStatus, RMobileBroadcastMessaging::EBroadcastAcceptFilter); |
|
1927 User::WaitForRequest(reqStatus); |
|
1928 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1929 AssertMockLtsyStatusL(); |
|
1930 |
|
1931 // check if the setting is not changed |
|
1932 err = messaging.GetFilterSetting(setting); |
|
1933 ASSERT_EQUALS(KErrNone, err); |
|
1934 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptAll, setting); |
|
1935 AssertMockLtsyStatusL(); |
|
1936 |
|
1937 // test for support with RMobileBroadcastMessaging::EBroadcastRejectFilter parameter value |
|
1938 messaging.SetFilterSetting(reqStatus, RMobileBroadcastMessaging::EBroadcastRejectFilter); |
|
1939 User::WaitForRequest(reqStatus); |
|
1940 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1941 AssertMockLtsyStatusL(); |
|
1942 |
|
1943 // check if the setting is not changed |
|
1944 err = messaging.GetFilterSetting(setting); |
|
1945 ASSERT_EQUALS(KErrNone, err); |
|
1946 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptAll, setting); |
|
1947 AssertMockLtsyStatusL(); |
|
1948 |
|
1949 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
1950 |
|
1951 } |
|
1952 |
|
1953 |
|
1954 /** |
|
1955 @SYMTestCaseID BA-CTSY-BRMSG-BSFS-0004 |
|
1956 @SYMComponent telephony_ctsy |
|
1957 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileBroadcastMessaging::SetFilterSetting |
|
1958 @SYMTestPriority High |
|
1959 @SYMTestActions Invokes multiple client requests to RMobileBroadcastMessaging::SetFilterSetting |
|
1960 @SYMTestExpectedResults Pass |
|
1961 @SYMTestType CT |
|
1962 */ |
|
1963 void CCTsyBroadcastMessagingFU::TestSetFilterSetting0004L() |
|
1964 { |
|
1965 |
|
1966 OpenEtelServerL(EUseExtendedError); |
|
1967 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1968 OpenPhoneL(); |
|
1969 |
|
1970 RBuf8 data; |
|
1971 CleanupClosePushL(data); |
|
1972 |
|
1973 RMobileBroadcastMessaging messaging; |
|
1974 TInt ret = messaging.Open(iPhone); |
|
1975 ASSERT_EQUALS(KErrNone, ret); |
|
1976 CleanupClosePushL(messaging); |
|
1977 |
|
1978 // Open second client |
|
1979 RTelServer telServer2; |
|
1980 ret = telServer2.Connect(); |
|
1981 ASSERT_EQUALS(KErrNone, ret); |
|
1982 CleanupClosePushL(telServer2); |
|
1983 |
|
1984 RMobilePhone phone2; |
|
1985 ret = phone2.Open(telServer2, KMmTsyPhoneName); |
|
1986 ASSERT_EQUALS(KErrNone, ret); |
|
1987 CleanupClosePushL(phone2); |
|
1988 |
|
1989 RMobileBroadcastMessaging messaging2; |
|
1990 ret = messaging2.Open(phone2); |
|
1991 ASSERT_EQUALS(KErrNone, ret); |
|
1992 CleanupClosePushL(messaging2); |
|
1993 |
|
1994 //------------------------------------------------------------------------- |
|
1995 // Test A: Test multiple clients requesting RMobileBroadcastMessaging::SetFilterSetting |
|
1996 //------------------------------------------------------------------------- |
|
1997 |
|
1998 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
1999 TRequestStatus reqStatus; |
|
2000 iMockLTSY.NotifyTerminated(reqStatus); |
|
2001 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
2002 User::WaitForRequest(reqStatus); |
|
2003 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2004 AssertMockLtsyStatusL(); |
|
2005 |
|
2006 // setting 1st request |
|
2007 TCbsCbmiAndLangAndFilter expectData; |
|
2008 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
2009 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
2010 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
2011 |
|
2012 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
2013 expectLtsyData.SerialiseL(data); |
|
2014 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
2015 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone, 5); |
|
2016 |
|
2017 // setting 2nd request data |
|
2018 TCbsCbmiAndLangAndFilter expectData2; |
|
2019 expectData2.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
2020 expectData2.iCbmiStorage = KNullDesC; // deprecated |
|
2021 expectData2.iLanguageStorage = KNullDesC; // deprecated |
|
2022 |
|
2023 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData2(expectData2); |
|
2024 data.Close(); |
|
2025 expectLtsyData2.SerialiseL(data); |
|
2026 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
2027 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone, 10); |
|
2028 |
|
2029 TRequestStatus reqStatus2; |
|
2030 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
2031 messaging2.SetFilterSetting(reqStatus2, expectData2.iSetting); |
|
2032 |
|
2033 // completion of 1st request |
|
2034 User::WaitForRequest(reqStatus); |
|
2035 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2036 |
|
2037 // check how the setting is changed |
|
2038 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting; |
|
2039 ret = messaging.GetFilterSetting(setting); |
|
2040 ASSERT_EQUALS(KErrNone, ret); |
|
2041 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptAll, setting); |
|
2042 |
|
2043 // completion of 2nd request |
|
2044 User::WaitForRequest(reqStatus2); |
|
2045 ASSERT_EQUALS(KErrNone, reqStatus2.Int()); |
|
2046 |
|
2047 // check how the setting is changed |
|
2048 ret = messaging.GetFilterSetting(setting); |
|
2049 ASSERT_EQUALS(KErrNone, ret); |
|
2050 ASSERT_EQUALS(RMobileBroadcastMessaging::EBroadcastAcceptNone, setting); |
|
2051 |
|
2052 AssertMockLtsyStatusL(); |
|
2053 CleanupStack::PopAndDestroy(6, this); // messaging2, phone2, telServer2, messaging, data, this |
|
2054 |
|
2055 } |
|
2056 |
|
2057 |
|
2058 /** |
|
2059 @SYMTestCaseID BA-CTSY-BRMSG-BSFS-0005 |
|
2060 @SYMComponent telephony_ctsy |
|
2061 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::SetFilterSetting with timeout |
|
2062 @SYMTestPriority High |
|
2063 @SYMTestActions Invokes RMobileBroadcastMessaging::SetFilterSetting and tests for timeout |
|
2064 @SYMTestExpectedResults Pass |
|
2065 @SYMTestType CT |
|
2066 */ |
|
2067 void CCTsyBroadcastMessagingFU::TestSetFilterSetting0005L() |
|
2068 { |
|
2069 |
|
2070 |
|
2071 OpenEtelServerL(EUseExtendedError); |
|
2072 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2073 OpenPhoneL(); |
|
2074 |
|
2075 RBuf8 data; |
|
2076 CleanupClosePushL(data); |
|
2077 |
|
2078 RMobileBroadcastMessaging messaging; |
|
2079 TInt err = messaging.Open(iPhone); |
|
2080 ASSERT_EQUALS(KErrNone, err); |
|
2081 CleanupClosePushL(messaging); |
|
2082 |
|
2083 TRequestStatus reqStatus; |
|
2084 |
|
2085 //------------------------------------------------------------------------- |
|
2086 // Test A: Test timeout of RMobileBroadcastMessaging::SetFilterSetting |
|
2087 //------------------------------------------------------------------------- |
|
2088 |
|
2089 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
2090 iMockLTSY.NotifyTerminated(reqStatus); |
|
2091 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
2092 User::WaitForRequest(reqStatus); |
|
2093 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2094 AssertMockLtsyStatusL(); |
|
2095 |
|
2096 // setting request and execute |
|
2097 TCbsCbmiAndLangAndFilter expectData; |
|
2098 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
2099 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
2100 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
2101 |
|
2102 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
2103 expectLtsyData.SerialiseL(data); |
|
2104 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
2105 |
|
2106 messaging.SetFilterSetting(reqStatus, expectData.iSetting); |
|
2107 |
|
2108 // completion |
|
2109 User::WaitForRequest(reqStatus); |
|
2110 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
2111 |
|
2112 CleanupStack::PopAndDestroy(3, this); // messaging, data, this |
|
2113 |
|
2114 } |
|
2115 |
|
2116 |
|
2117 /** |
|
2118 @SYMTestCaseID BA-CTSY-BRMSG-BGLF-0001 |
|
2119 @SYMComponent telephony_ctsy |
|
2120 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::GetLanguageFilter |
|
2121 @SYMTestPriority High |
|
2122 @SYMTestActions Invokes RMobileBroadcastMessaging::GetLanguageFilter |
|
2123 @SYMTestExpectedResults Pass |
|
2124 @SYMTestType CT |
|
2125 */ |
|
2126 void CCTsyBroadcastMessagingFU::TestGetLanguageFilter0001L() |
|
2127 { |
|
2128 |
|
2129 OpenEtelServerL(EUseExtendedError); |
|
2130 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2131 OpenPhoneL(); |
|
2132 |
|
2133 RMobileBroadcastMessaging messaging; |
|
2134 TInt err = messaging.Open(iPhone); |
|
2135 ASSERT_EQUALS(KErrNone, err); |
|
2136 CleanupClosePushL(messaging); |
|
2137 |
|
2138 TBuf<1> buf; |
|
2139 TRequestStatus reqStatus; |
|
2140 messaging.GetLanguageFilter(reqStatus, buf); |
|
2141 User::WaitForRequest(reqStatus); |
|
2142 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2143 |
|
2144 AssertMockLtsyStatusL(); |
|
2145 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2146 |
|
2147 } |
|
2148 |
|
2149 |
|
2150 /** |
|
2151 @SYMTestCaseID BA-CTSY-BRMSG-BSLF-0001 |
|
2152 @SYMComponent telephony_ctsy |
|
2153 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::SetLanguageFilter |
|
2154 @SYMTestPriority High |
|
2155 @SYMTestActions Invokes RMobileBroadcastMessaging::SetLanguageFilter |
|
2156 @SYMTestExpectedResults Pass |
|
2157 @SYMTestType CT |
|
2158 */ |
|
2159 void CCTsyBroadcastMessagingFU::TestSetLanguageFilter0001L() |
|
2160 { |
|
2161 |
|
2162 OpenEtelServerL(EUseExtendedError); |
|
2163 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2164 OpenPhoneL(); |
|
2165 |
|
2166 RMobileBroadcastMessaging messaging; |
|
2167 TInt err = messaging.Open(iPhone); |
|
2168 ASSERT_EQUALS(KErrNone, err); |
|
2169 CleanupClosePushL(messaging); |
|
2170 |
|
2171 TRequestStatus reqStatus; |
|
2172 TBuf<1> langFilter; |
|
2173 messaging.SetLanguageFilter(reqStatus, langFilter); |
|
2174 User::WaitForRequest(reqStatus); |
|
2175 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2176 |
|
2177 AssertMockLtsyStatusL(); |
|
2178 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2179 |
|
2180 } |
|
2181 |
|
2182 |
|
2183 /** |
|
2184 @SYMTestCaseID BA-CTSY-BRMSG-BNFSC-0001 |
|
2185 @SYMComponent telephony_ctsy |
|
2186 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2187 @SYMTestPriority High |
|
2188 @SYMTestActions Invokes RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2189 @SYMTestExpectedResults Pass |
|
2190 @SYMTestType CT |
|
2191 */ |
|
2192 void CCTsyBroadcastMessagingFU::TestNotifyFilterSettingChange0001L() |
|
2193 { |
|
2194 |
|
2195 OpenEtelServerL(EUseExtendedError); |
|
2196 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2197 OpenPhoneL(); |
|
2198 |
|
2199 RBuf8 data; |
|
2200 CleanupClosePushL(data); |
|
2201 |
|
2202 RMobileBroadcastMessaging messaging; |
|
2203 TInt err = messaging.Open(iPhone); |
|
2204 ASSERT_EQUALS(KErrNone, err); |
|
2205 CleanupClosePushL(messaging); |
|
2206 |
|
2207 TRequestStatus reqStatus; |
|
2208 |
|
2209 //------------------------------------------------------------------------- |
|
2210 // TEST C: Successful completion request of |
|
2211 // RMobileBroadcastMessaging::NotifyFilterSettingChange. |
|
2212 //------------------------------------------------------------------------- |
|
2213 |
|
2214 // setting request and execute |
|
2215 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting; |
|
2216 messaging.NotifyFilterSettingChange(reqStatus, setting); |
|
2217 |
|
2218 // invoke FilterSettingChange |
|
2219 TRequestStatus mockLtsyStatus; |
|
2220 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter newSetting = |
|
2221 RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
2222 messaging.SetFilterSetting(mockLtsyStatus, newSetting); |
|
2223 User::WaitForRequest(mockLtsyStatus); |
|
2224 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2225 |
|
2226 // completion and check results |
|
2227 User::WaitForRequest(reqStatus); |
|
2228 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2229 ASSERT_EQUALS(newSetting, setting); |
|
2230 |
|
2231 AssertMockLtsyStatusL(); |
|
2232 |
|
2233 //------------------------------------------------------------------------- |
|
2234 // TEST C: Successful completion when CMmBroadcastTsy::iCbRoutingActivated is ETrue |
|
2235 //------------------------------------------------------------------------- |
|
2236 // setting request and execute |
|
2237 messaging.NotifyFilterSettingChange(reqStatus, setting); |
|
2238 |
|
2239 // setting environement ( CMmBroadcastTsy::iCbRoutingActivated to ETrue) |
|
2240 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2241 iMockLTSY.CompleteL(EMobileBroadcastMessagingReceiveMessage, KErrNone); |
|
2242 User::WaitForRequest(mockLtsyStatus); |
|
2243 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2244 AssertMockLtsyStatusL(); |
|
2245 |
|
2246 // invoke FilterSettingChange |
|
2247 TCbsCbmiAndLangAndFilter expectData; |
|
2248 expectData.iSetting = RMobileBroadcastMessaging::EBroadcastAcceptAll; |
|
2249 expectData.iCbmiStorage = KNullDesC; // deprecated |
|
2250 expectData.iLanguageStorage = KNullDesC; // deprecated |
|
2251 TMockLtsyData1<TCbsCbmiAndLangAndFilter> expectLtsyData(expectData); |
|
2252 expectLtsyData.SerialiseL(data); |
|
2253 iMockLTSY.ExpectL(EMobileBroadcastMessagingSetFilterSetting, data); |
|
2254 iMockLTSY.CompleteL(EMobileBroadcastMessagingSetFilterSetting, KErrNone); |
|
2255 messaging.SetFilterSetting(mockLtsyStatus, expectData.iSetting); |
|
2256 User::WaitForRequest(mockLtsyStatus); // KERN:4 in CMmBroadcastTsy.cpp line 1059 |
|
2257 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2258 |
|
2259 // completion and check results |
|
2260 User::WaitForRequest(reqStatus); |
|
2261 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2262 ASSERT_EQUALS(expectData.iSetting, setting); |
|
2263 |
|
2264 AssertMockLtsyStatusL(); |
|
2265 |
|
2266 CleanupStack::PopAndDestroy(3, this); // messaging, data, this |
|
2267 |
|
2268 } |
|
2269 |
|
2270 |
|
2271 /** |
|
2272 @SYMTestCaseID BA-CTSY-BRMSG-BNFSC-0002 |
|
2273 @SYMComponent telephony_ctsy |
|
2274 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2275 @SYMTestPriority High |
|
2276 @SYMTestActions Invokes cancelling of RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2277 @SYMTestExpectedResults Pass |
|
2278 @SYMTestType CT |
|
2279 */ |
|
2280 void CCTsyBroadcastMessagingFU::TestNotifyFilterSettingChange0002L() |
|
2281 { |
|
2282 |
|
2283 OpenEtelServerL(EUseExtendedError); |
|
2284 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2285 OpenPhoneL(); |
|
2286 |
|
2287 RMobileBroadcastMessaging messaging; |
|
2288 TInt err = messaging.Open(iPhone); |
|
2289 ASSERT_EQUALS(KErrNone, err); |
|
2290 CleanupClosePushL(messaging); |
|
2291 |
|
2292 TRequestStatus reqStatus; |
|
2293 |
|
2294 //------------------------------------------------------------------------- |
|
2295 // Test cancelling of RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2296 //------------------------------------------------------------------------- |
|
2297 |
|
2298 // setting request and execute |
|
2299 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting; |
|
2300 messaging.NotifyFilterSettingChange(reqStatus, setting); |
|
2301 |
|
2302 messaging.CancelAsyncRequest(EMobileBroadcastMessagingNotifyFilterSettingChange); |
|
2303 |
|
2304 // completion and check results |
|
2305 User::WaitForRequest(reqStatus); |
|
2306 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
2307 |
|
2308 AssertMockLtsyStatusL(); |
|
2309 |
|
2310 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2311 |
|
2312 } |
|
2313 |
|
2314 |
|
2315 /** |
|
2316 @SYMTestCaseID BA-CTSY-BRMSG-BNFSC-0003 |
|
2317 @SYMComponent telephony_ctsy |
|
2318 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::NotifyFilterSettingChange with bad parameter data |
|
2319 @SYMTestPriority High |
|
2320 @SYMTestActions Invokes RMobileBroadcastMessaging::NotifyFilterSettingChange with bad parameter data |
|
2321 @SYMTestExpectedResults Pass |
|
2322 @SYMTestType CT |
|
2323 */ |
|
2324 void CCTsyBroadcastMessagingFU::TestNotifyFilterSettingChange0003L() |
|
2325 { |
|
2326 |
|
2327 OpenEtelServerL(EUseExtendedError); |
|
2328 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2329 OpenPhoneL(); |
|
2330 |
|
2331 RMobileBroadcastMessaging messaging; |
|
2332 TInt err = messaging.Open(iPhone); |
|
2333 ASSERT_EQUALS(KErrNone, err); |
|
2334 CleanupClosePushL(messaging); |
|
2335 |
|
2336 TRequestStatus reqStatus; |
|
2337 |
|
2338 //------------------------------------------------------------------------- |
|
2339 // Test A: Test passing wrong version of parameters to |
|
2340 // RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2341 //------------------------------------------------------------------------- |
|
2342 |
|
2343 // setting request and execute |
|
2344 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter* settingPtr(NULL); |
|
2345 messaging.NotifyFilterSettingChange(reqStatus, *settingPtr); |
|
2346 |
|
2347 // completion and check results |
|
2348 User::WaitForRequest(reqStatus); |
|
2349 ASSERT_EQUALS(KErrBadDescriptor, reqStatus.Int()); |
|
2350 |
|
2351 AssertMockLtsyStatusL(); |
|
2352 |
|
2353 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2354 |
|
2355 } |
|
2356 |
|
2357 |
|
2358 /** |
|
2359 @SYMTestCaseID BA-CTSY-BRMSG-BNFSC-0004 |
|
2360 @SYMComponent telephony_ctsy |
|
2361 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2362 @SYMTestPriority High |
|
2363 @SYMTestActions Invokes multiple client requests to RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2364 @SYMTestExpectedResults Pass |
|
2365 @SYMTestType CT |
|
2366 */ |
|
2367 void CCTsyBroadcastMessagingFU::TestNotifyFilterSettingChange0004L() |
|
2368 { |
|
2369 |
|
2370 OpenEtelServerL(EUseExtendedError); |
|
2371 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2372 OpenPhoneL(); |
|
2373 |
|
2374 RMobileBroadcastMessaging messaging; |
|
2375 TInt err = messaging.Open(iPhone); |
|
2376 ASSERT_EQUALS(KErrNone, err); |
|
2377 CleanupClosePushL(messaging); |
|
2378 |
|
2379 // Open second client |
|
2380 RTelServer telServer2; |
|
2381 err = telServer2.Connect(); |
|
2382 ASSERT_EQUALS(KErrNone, err); |
|
2383 CleanupClosePushL(telServer2); |
|
2384 |
|
2385 RMobilePhone phone2; |
|
2386 err = phone2.Open(telServer2, KMmTsyPhoneName); |
|
2387 ASSERT_EQUALS(KErrNone, err); |
|
2388 CleanupClosePushL(phone2); |
|
2389 |
|
2390 RMobileBroadcastMessaging messaging2; |
|
2391 err = messaging2.Open(phone2); |
|
2392 ASSERT_EQUALS(KErrNone, err); |
|
2393 CleanupClosePushL(messaging2); |
|
2394 |
|
2395 //------------------------------------------------------------------------- |
|
2396 // Test A: Test multiple clients requesting RMobileBroadcastMessaging::NotifyFilterSettingChange |
|
2397 //------------------------------------------------------------------------- |
|
2398 |
|
2399 // execute 1st request |
|
2400 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting; |
|
2401 TRequestStatus reqStatus; |
|
2402 messaging.NotifyFilterSettingChange(reqStatus, setting); |
|
2403 |
|
2404 // execute 2nd request |
|
2405 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter setting2; |
|
2406 TRequestStatus reqStatus2; |
|
2407 messaging2.NotifyFilterSettingChange(reqStatus2, setting2); |
|
2408 |
|
2409 // invoke FilterSettingChange |
|
2410 TRequestStatus mockLtsyStatus; |
|
2411 RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter newSetting = |
|
2412 RMobileBroadcastMessaging::EBroadcastAcceptNone; |
|
2413 messaging.SetFilterSetting(mockLtsyStatus, newSetting); |
|
2414 User::WaitForRequest(mockLtsyStatus); |
|
2415 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2416 |
|
2417 // completion and check results |
|
2418 User::WaitForRequest(reqStatus); |
|
2419 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2420 ASSERT_EQUALS(newSetting, setting); |
|
2421 |
|
2422 User::WaitForRequest(reqStatus2); |
|
2423 ASSERT_EQUALS(KErrNone, reqStatus2.Int()); |
|
2424 ASSERT_EQUALS(newSetting, setting2); |
|
2425 |
|
2426 AssertMockLtsyStatusL(); |
|
2427 CleanupStack::PopAndDestroy(5, this); // messaging2, phone2, telServer2, messaging, this |
|
2428 |
|
2429 } |
|
2430 |
|
2431 |
|
2432 /** |
|
2433 @SYMTestCaseID BA-CTSY-BRMSG-BNLFC-0001 |
|
2434 @SYMComponent telephony_ctsy |
|
2435 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::NotifyLanguageFilterChange |
|
2436 @SYMTestPriority High |
|
2437 @SYMTestActions Invokes RMobileBroadcastMessaging::NotifyLanguageFilterChange |
|
2438 @SYMTestExpectedResults Pass |
|
2439 @SYMTestType CT |
|
2440 */ |
|
2441 void CCTsyBroadcastMessagingFU::TestNotifyLanguageFilterChange0001L() |
|
2442 { |
|
2443 |
|
2444 OpenEtelServerL(EUseExtendedError); |
|
2445 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2446 OpenPhoneL(); |
|
2447 |
|
2448 RMobileBroadcastMessaging messaging; |
|
2449 TInt err = messaging.Open(iPhone); |
|
2450 ASSERT_EQUALS(KErrNone, err); |
|
2451 CleanupClosePushL(messaging); |
|
2452 |
|
2453 TBuf<1> buf; |
|
2454 TRequestStatus reqStatus; |
|
2455 messaging.NotifyLanguageFilterChange(reqStatus, buf); |
|
2456 User::WaitForRequest(reqStatus); |
|
2457 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2458 |
|
2459 AssertMockLtsyStatusL(); |
|
2460 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2461 |
|
2462 } |
|
2463 |
|
2464 |
|
2465 /** |
|
2466 @SYMTestCaseID BA-CTSY-BRMSG-MNBILC-0001 |
|
2467 @SYMComponent telephony_ctsy |
|
2468 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::NotifyBroadcastIdListChange |
|
2469 @SYMTestPriority High |
|
2470 @SYMTestActions Invokes RMobileBroadcastMessaging::NotifyBroadcastIdListChange |
|
2471 @SYMTestExpectedResults Pass |
|
2472 @SYMTestType CT |
|
2473 */ |
|
2474 void CCTsyBroadcastMessagingFU::TestNotifyBroadcastIdListChange0001L() |
|
2475 { |
|
2476 |
|
2477 OpenEtelServerL(EUseExtendedError); |
|
2478 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2479 OpenPhoneL(); |
|
2480 |
|
2481 RMobileBroadcastMessaging messaging; |
|
2482 TInt err = messaging.Open(iPhone); |
|
2483 ASSERT_EQUALS(KErrNone, err); |
|
2484 CleanupClosePushL(messaging); |
|
2485 |
|
2486 TRequestStatus reqStatus; |
|
2487 messaging.NotifyBroadcastIdListChange(reqStatus); |
|
2488 User::WaitForRequest(reqStatus); |
|
2489 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2490 |
|
2491 AssertMockLtsyStatusL(); |
|
2492 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2493 |
|
2494 } |
|
2495 |
|
2496 |
|
2497 /** |
|
2498 @SYMTestCaseID BA-CTSY-BRMSG-BGC-0001 |
|
2499 @SYMComponent telephony_ctsy |
|
2500 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::GetCaps |
|
2501 @SYMTestPriority High |
|
2502 @SYMTestActions Invokes RMobileBroadcastMessaging::GetCaps |
|
2503 @SYMTestExpectedResults Pass |
|
2504 @SYMTestType CT |
|
2505 */ |
|
2506 void CCTsyBroadcastMessagingFU::TestGetCaps0001L() |
|
2507 { |
|
2508 |
|
2509 OpenEtelServerL(EUseExtendedError); |
|
2510 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2511 OpenPhoneL(); |
|
2512 |
|
2513 RMobileBroadcastMessaging messaging; |
|
2514 TInt err = messaging.Open(iPhone); |
|
2515 ASSERT_EQUALS(KErrNone, err); |
|
2516 CleanupClosePushL(messaging); |
|
2517 |
|
2518 //------------------------------------------------------------------------- |
|
2519 // TEST C: Successful completion request of |
|
2520 // RMobileBroadcastMessaging::GetCaps. |
|
2521 //------------------------------------------------------------------------- |
|
2522 |
|
2523 RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps; |
|
2524 RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capsPckg(caps); |
|
2525 err = messaging.GetCaps(capsPckg); |
|
2526 |
|
2527 // check results |
|
2528 ASSERT_EQUALS(KErrNone, err); |
|
2529 |
|
2530 TUint32 expModeCaps = RMobileBroadcastMessaging::KCapsGsmTpduFormat; |
|
2531 #ifdef __WINS__ |
|
2532 expModeCaps = RMobileBroadcastMessaging::KCapsWcdmaTpduFormat |
|
2533 | RMobileBroadcastMessaging::KCapsGsmTpduFormat; |
|
2534 #endif // __WINS__ |
|
2535 ASSERT_EQUALS(expModeCaps, caps.iModeCaps); |
|
2536 |
|
2537 TUint32 expFilterCaps = RMobileBroadcastMessaging::KCapsSimpleFilter; |
|
2538 ASSERT_EQUALS(expFilterCaps, caps.iFilterCaps); |
|
2539 |
|
2540 AssertMockLtsyStatusL(); |
|
2541 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2542 |
|
2543 } |
|
2544 |
|
2545 |
|
2546 /** |
|
2547 @SYMTestCaseID BA-CTSY-BRMSG-BGC-0003 |
|
2548 @SYMComponent telephony_ctsy |
|
2549 @SYMTestCaseDesc Test support in CTSY for RMobileBroadcastMessaging::GetCaps with bad parameter data |
|
2550 @SYMTestPriority High |
|
2551 @SYMTestActions Invokes RMobileBroadcastMessaging::GetCaps with bad parameter data |
|
2552 @SYMTestExpectedResults Pass |
|
2553 @SYMTestType CT |
|
2554 */ |
|
2555 void CCTsyBroadcastMessagingFU::TestGetCaps0003L() |
|
2556 { |
|
2557 |
|
2558 OpenEtelServerL(EUseExtendedError); |
|
2559 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2560 OpenPhoneL(); |
|
2561 |
|
2562 RMobileBroadcastMessaging messaging; |
|
2563 TInt err = messaging.Open(iPhone); |
|
2564 ASSERT_EQUALS(KErrNone, err); |
|
2565 CleanupClosePushL(messaging); |
|
2566 |
|
2567 //------------------------------------------------------------------------- |
|
2568 // Test A: Test passing wrong version of parameters to |
|
2569 // RMobileBroadcastMessaging::GetCaps |
|
2570 //------------------------------------------------------------------------- |
|
2571 |
|
2572 RMobileBroadcastMessaging::TMobileBroadcastCapsV1* caps(NULL); |
|
2573 RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capsPckg(*caps); |
|
2574 err = messaging.GetCaps(capsPckg); |
|
2575 ASSERT_EQUALS(KErrBadDescriptor, err); |
|
2576 |
|
2577 //------------------------------------------------------------------------- |
|
2578 // Test B: Test passing wrong descriptor size to parameter in |
|
2579 // RMobileBroadcastMessaging::GetCaps |
|
2580 //------------------------------------------------------------------------- |
|
2581 |
|
2582 TInt intCaps; |
|
2583 TPckg<TInt> intCapsPckg(intCaps); |
|
2584 err = messaging.GetCaps(intCapsPckg); |
|
2585 ASSERT_EQUALS(KErrArgument, err); |
|
2586 |
|
2587 AssertMockLtsyStatusL(); |
|
2588 CleanupStack::PopAndDestroy(2, this); // messaging, this |
|
2589 |
|
2590 } |