101 // |
91 // |
102 // ----------------------------------------------------------------------------- |
92 // ----------------------------------------------------------------------------- |
103 // |
93 // |
104 void UT_CMusTsyPropertyMonitor::SetupL() |
94 void UT_CMusTsyPropertyMonitor::SetupL() |
105 { |
95 { |
106 iMusCentralRepository = CRepository::NewL( MusSettingsKeys::KRepositoryUid ); |
|
107 RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
96 RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
108 NMusSessionInformationApi::KMusCallEvent, |
97 NMusSessionInformationApi::KMusCallEvent, |
109 0 ); |
98 0 ); |
110 |
99 MultimediaSharingSettings::SetPropertyValueL( |
111 iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone, *this ); |
100 MusSettingsKeys::KPrivacyExchange, |
|
101 MusSettingsKeys::EPrivacy ); |
|
102 |
|
103 iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone ); |
112 iMusTsyPropertyMonitor->iPropertyEvent.iPValue = EPSCTsyCallStateUninitialized; |
104 iMusTsyPropertyMonitor->iPropertyEvent.iPValue = EPSCTsyCallStateUninitialized; |
|
105 |
|
106 } |
|
107 |
|
108 // ----------------------------------------------------------------------------- |
|
109 // |
|
110 // ----------------------------------------------------------------------------- |
|
111 // |
|
112 void UT_CMusTsyPropertyMonitor::Setup2L() |
|
113 { |
|
114 RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
115 NMusSessionInformationApi::KMusCallEvent, |
|
116 0 ); |
|
117 MultimediaSharingSettings::SetPropertyValueL( |
|
118 MusSettingsKeys::KPrivacyExchange, |
|
119 MusSettingsKeys::ENoPrivacy ); |
|
120 |
|
121 iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone ); |
|
122 iMusTsyPropertyMonitor->iPropertyEvent.iPValue = EPSCTsyCallStateUninitialized; |
|
123 |
113 } |
124 } |
114 |
125 |
115 |
126 |
116 // ----------------------------------------------------------------------------- |
127 // ----------------------------------------------------------------------------- |
117 // |
128 // |
118 // ----------------------------------------------------------------------------- |
129 // ----------------------------------------------------------------------------- |
119 // |
130 // |
120 void UT_CMusTsyPropertyMonitor::Teardown() |
131 void UT_CMusTsyPropertyMonitor::Teardown() |
121 { |
132 { |
122 delete iMusCentralRepository; |
|
123 iMusCentralRepository = NULL; |
|
124 delete iMusTsyPropertyMonitor; |
133 delete iMusTsyPropertyMonitor; |
125 PropertyHelper::Close(); |
134 PropertyHelper::Close(); |
126 iPhone.Close(); |
135 iPhone.Close(); |
127 |
136 |
128 } |
137 } |
133 |
142 |
134 // ----------------------------------------------------------------------------- |
143 // ----------------------------------------------------------------------------- |
135 // |
144 // |
136 // ----------------------------------------------------------------------------- |
145 // ----------------------------------------------------------------------------- |
137 // |
146 // |
|
147 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_NewLL() |
|
148 { |
|
149 EUNIT_ASSERT( iMusTsyPropertyMonitor); |
|
150 EUNIT_ASSERT( MultimediaSharingSettings::PrivacySetting() );//feature is on by default |
|
151 EUNIT_ASSERT( iMusTsyPropertyMonitor->iClirMonitor ); |
|
152 |
|
153 MultimediaSharingSettings::SetPropertyValueL( MusSettingsKeys::KPrivacyExchange, |
|
154 MusSettingsKeys::ENoPrivacy ); |
|
155 delete iMusTsyPropertyMonitor; |
|
156 iMusTsyPropertyMonitor = NULL; |
|
157 |
|
158 iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone ); |
|
159 EUNIT_ASSERT( !MultimediaSharingSettings::PrivacySetting() );//feature is on by default |
|
160 EUNIT_ASSERT( !iMusTsyPropertyMonitor->iClirMonitor ); |
|
161 |
|
162 } |
|
163 |
|
164 |
|
165 // ----------------------------------------------------------------------------- |
|
166 // |
|
167 // ----------------------------------------------------------------------------- |
|
168 // |
138 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_RunLL() |
169 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_RunLL() |
139 { |
170 { |
140 |
|
141 // Set intial call type too unintialiazed. |
|
142 if ( RProperty::Set( KPSUidCtsyCallInformation,KCTsyCallType, |
|
143 EPSCTsyCallTypeUninitialized )) |
|
144 { |
|
145 User::Leave( KErrNoMemory ); |
|
146 } |
|
147 // Set intial call count |
|
148 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
149 NMusSessionInformationApi::KMusCallCount, |
|
150 0 ) != KErrNone ) |
|
151 { |
|
152 User::Leave( KErrNoMemory ); |
|
153 } |
|
154 |
|
155 EUNIT_ASSERT( iMusTsyPropertyMonitor); |
171 EUNIT_ASSERT( iMusTsyPropertyMonitor); |
156 TInt val = KErrNone; |
172 TInt val = KErrNone; |
157 |
173 |
158 iMusTsyPropertyMonitor->Cancel(); |
174 iMusTsyPropertyMonitor->Cancel(); |
159 iMusTsyPropertyMonitor->RunL(); |
175 iMusTsyPropertyMonitor->RunL(); |
287 |
304 |
288 // ----------------------------------------------------------------------------- |
305 // ----------------------------------------------------------------------------- |
289 // |
306 // |
290 // ----------------------------------------------------------------------------- |
307 // ----------------------------------------------------------------------------- |
291 // |
308 // |
292 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCSCallLL() |
309 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCallLL() |
293 { |
310 { |
294 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
295 NMusSessionInformationApi::KMusCallCount, |
|
296 0 ) != KErrNone ) |
|
297 { |
|
298 User::Leave( KErrNoMemory ); |
|
299 } |
|
300 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); |
311 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); |
301 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
312 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
302 iMusTsyPropertyMonitor->MonitorCSCallL(); |
313 |
303 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
314 iMusTsyPropertyMonitor->MonitorCallL(); |
304 |
315 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
305 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusHangingUp ); |
316 |
306 iMusTsyPropertyMonitor->MonitorCSCallL(); |
317 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusHangingUp ); |
307 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
318 |
308 |
319 iMusTsyPropertyMonitor->MonitorCallL(); |
309 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); |
320 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
310 iMusTsyPropertyMonitor->MonitorCSCallL(); |
321 |
311 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); |
322 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); |
312 |
|
313 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
314 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusAnswering ); |
|
315 iMusTsyPropertyMonitor->MonitorCSCallL(); |
|
316 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); |
|
317 |
|
318 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
319 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); |
|
320 iMusTsyPropertyMonitor->MonitorCSCallL(); |
|
321 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
|
322 |
|
323 } |
|
324 |
|
325 |
|
326 // ----------------------------------------------------------------------------- |
|
327 // |
|
328 // ----------------------------------------------------------------------------- |
|
329 // |
|
330 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorVoipCallLL() |
|
331 { |
|
332 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); |
|
333 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
323 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
334 NMusSessionInformationApi::KMusCallCount, |
324 NMusSessionInformationApi::KMusCallCount, |
335 0 ) != KErrNone ) |
325 0 ) != KErrNone ) |
336 { |
326 { |
337 User::Leave( KErrNoMemory ); |
327 User::Leave( KErrNoMemory ); |
338 } |
328 } |
339 |
329 iMusTsyPropertyMonitor->MonitorCallL(); |
340 // State connected |
330 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); |
341 TPSCTsyCallState callState = EPSCTsyCallStateConnected; |
331 |
342 iMusTsyPropertyMonitor->MonitorVoipCallL( callState ); |
332 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusAnswering ); |
343 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); |
333 //already exist |
344 |
334 iMusTsyPropertyMonitor->MonitorCallL(); |
345 // State answering |
335 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); |
346 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
336 |
347 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); |
337 |
348 callState = EPSCTsyCallStateAnswering ; |
338 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusUnknown ); |
349 iMusTsyPropertyMonitor->MonitorVoipCallL( callState ); |
339 |
350 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); |
340 iMusTsyPropertyMonitor->MonitorCallL(); |
351 |
341 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
352 // State disconnecting ( Atleast one previous voip call is present ) |
342 |
353 callState = EPSCTsyCallStateDisconnecting; |
343 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); |
354 iMusTsyPropertyMonitor->MonitorVoipCallL( callState ); |
344 iMusTsyPropertyMonitor->MonitorCallL(); |
355 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); |
345 |
356 } |
346 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
357 |
347 } |
358 |
348 |
359 // ----------------------------------------------------------------------------- |
349 // ----------------------------------------------------------------------------- |
360 // |
350 // |
361 // ----------------------------------------------------------------------------- |
351 // ----------------------------------------------------------------------------- |
362 // |
352 // |
363 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCallLL() |
353 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCallL_2L() |
364 { |
354 { |
365 TInt tmp = 0; |
355 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
|
356 EUNIT_ASSERT( !iMusTsyPropertyMonitor->iClirMonitor ); |
|
357 |
|
358 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); |
366 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
359 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
367 NMusSessionInformationApi::KMusCallCount, |
360 NMusSessionInformationApi::KMusCallCount, |
368 0 ) != KErrNone ) |
361 0 ) != KErrNone ) |
369 { |
362 { |
370 User::Leave( KErrNoMemory ); |
363 User::Leave( KErrNoMemory ); |
371 } |
364 } |
372 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
365 iMusTsyPropertyMonitor->MonitorCallL(); |
373 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
374 // Test : Cs call and call state is connected |
|
375 TPSCTsyCallState callState = EPSCTsyCallStateConnected; |
|
376 RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); |
|
377 TPSCTsyCallType callType = EPSCTsyCallTypeCSVoice; |
|
378 iMusTsyPropertyMonitor->MonitorCallL(callState,callType); |
|
379 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); |
366 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); |
380 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); |
367 |
381 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
382 NMusSessionInformationApi::KMusCallEvent, |
|
383 tmp ); |
|
384 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); |
|
385 |
|
386 // Test : unknown call type |
|
387 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
388 callType = EPSCTsyCallTypeNone; |
|
389 iMusTsyPropertyMonitor->MonitorCallL(callState,callType); |
|
390 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
|
391 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); |
|
392 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
393 NMusSessionInformationApi::KMusCallEvent, |
|
394 tmp ); |
|
395 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ENoCall); |
|
396 |
|
397 // Test : Voip call and call state is connected and factory settings not found |
|
398 // if key not found then it should behave default = AllowedAllCalls. |
|
399 callState = EPSCTsyCallStateConnected; |
|
400 callType = EPSCTsyCallTypeVoIP; |
|
401 iMusTsyPropertyMonitor->MonitorCallL(callState,callType); |
|
402 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
|
403 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); |
|
404 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
405 NMusSessionInformationApi::KMusCallEvent, |
|
406 tmp ); |
|
407 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); |
|
408 |
|
409 |
|
410 // Test : Voip call and call state is connected and factory settings set to |
|
411 // all call supported. |
|
412 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
413 iMusCentralRepository->Set(MusSettingsKeys::KAllowOnlyWithActiveCSCall, |
|
414 MusSettingsKeys::EAllowedAllCalls); |
|
415 callState = EPSCTsyCallStateConnected; |
|
416 callType = EPSCTsyCallTypeVoIP; |
|
417 iMusTsyPropertyMonitor->MonitorCallL(callState,callType); |
|
418 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
|
419 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); |
|
420 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
421 NMusSessionInformationApi::KMusCallEvent, |
|
422 tmp ); |
|
423 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); |
|
424 |
|
425 // Test : Voip call and call state is connected but factory settings are cs only |
|
426 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
427 iMusCentralRepository->Set(MusSettingsKeys::KAllowOnlyWithActiveCSCall,MusSettingsKeys::EAllowedCSOnly); |
|
428 callState = EPSCTsyCallStateConnected; |
|
429 callType = EPSCTsyCallTypeVoIP; |
|
430 iMusTsyPropertyMonitor->MonitorCallL(callState,callType); |
|
431 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); |
|
432 if ( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() != 0 ) |
|
433 { |
|
434 User::Leave( KErrNoMemory ); // Call was not removed because of memory running out was "silenty" handled. |
|
435 } |
|
436 EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); |
|
437 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
438 NMusSessionInformationApi::KMusCallEvent, |
|
439 tmp ); |
|
440 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ENoCall); |
|
441 } |
368 } |
442 |
369 |
443 // ----------------------------------------------------------------------------- |
370 // ----------------------------------------------------------------------------- |
444 // |
371 // |
445 // ----------------------------------------------------------------------------- |
372 // ----------------------------------------------------------------------------- |
458 iMusTsyPropertyMonitor->AddCallMonitorL( callName ); |
385 iMusTsyPropertyMonitor->AddCallMonitorL( callName ); |
459 RTelHelper::SetCallStatus(RMobileCall::EStatusUnknown); |
386 RTelHelper::SetCallStatus(RMobileCall::EStatusUnknown); |
460 iMusTsyPropertyMonitor->RemoveUnUsedCallMonitors(); |
387 iMusTsyPropertyMonitor->RemoveUnUsedCallMonitors(); |
461 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count()==0 ); |
388 EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count()==0 ); |
462 } |
389 } |
463 |
|
464 // ----------------------------------------------------------------------------- |
|
465 // |
|
466 // ----------------------------------------------------------------------------- |
|
467 // |
|
468 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_CheckCallCriteriaLL() |
|
469 { |
|
470 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
471 NMusSessionInformationApi::KMusCallCount, |
|
472 0 ) != KErrNone ) |
|
473 { |
|
474 User::Leave( KErrNoMemory ); |
|
475 } |
|
476 TInt tmp = 0; |
|
477 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
478 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
479 |
|
480 User::LeaveIfError( RProperty::Set( KPSUidTelRemotePartyInformation, |
|
481 KTelCLINumber, |
|
482 _L( "sip:somebody@somewhere" ) ) ); |
|
483 |
390 |
484 // Test : no cs call , one voip call |
391 |
485 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
486 iMusTsyPropertyMonitor->CheckCallCriteriaL(); |
|
487 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
488 NMusSessionInformationApi::KMusCallEvent, |
|
489 tmp ); |
|
490 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); |
|
491 // Test : one cs call , multiple voip calls |
|
492 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
493 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
494 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); |
|
495 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
496 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_2 ); |
|
497 iMusTsyPropertyMonitor->CheckCallCriteriaL(); |
|
498 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
499 NMusSessionInformationApi::KMusCallEvent, |
|
500 tmp ); |
|
501 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); |
|
502 // Test: multiple cs call, one voip call |
|
503 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
504 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
505 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); |
|
506 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_2 ); |
|
507 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
508 iMusTsyPropertyMonitor->CheckCallCriteriaL(); |
|
509 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
510 NMusSessionInformationApi::KMusCallEvent, |
|
511 tmp ); |
|
512 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); |
|
513 |
|
514 // Test : multiple cs call , multiple voip calls |
|
515 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
516 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
517 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); |
|
518 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_2 ); |
|
519 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
520 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_2 ); |
|
521 iMusTsyPropertyMonitor->CheckCallCriteriaL(); |
|
522 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
523 NMusSessionInformationApi::KMusCallEvent, |
|
524 tmp ); |
|
525 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); |
|
526 // Test : one cs call , one voip call |
|
527 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
528 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
529 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); |
|
530 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
531 iMusTsyPropertyMonitor->CheckCallCriteriaL(); |
|
532 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
533 NMusSessionInformationApi::KMusCallEvent, |
|
534 tmp ); |
|
535 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); |
|
536 // Test: one cs call , no voip call |
|
537 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
538 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
539 RTelHelper::SetCallStatus( RMobileCall::EStatusConnected ); |
|
540 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); |
|
541 iMusTsyPropertyMonitor->CheckCallCriteriaL(); |
|
542 RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
543 NMusSessionInformationApi::KMusCallEvent, |
|
544 tmp ); |
|
545 EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); |
|
546 } |
|
547 |
|
548 |
|
549 |
|
550 // ----------------------------------------------------------------------------- |
|
551 // UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_IsDataReadyLL() |
|
552 // Test to query from corresponding monitors if they are ready. |
|
553 // ----------------------------------------------------------------------------- |
|
554 // |
|
555 |
|
556 |
|
557 void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_IsDataReadyLL() |
|
558 { |
|
559 TBool dataReady = EFalse; |
|
560 |
|
561 // Test-1: CS Call Ready: |
|
562 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
563 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
564 |
|
565 if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
566 NMusSessionInformationApi::KMusCallCount, |
|
567 0 ) != KErrNone ) |
|
568 { |
|
569 User::Leave( KErrNoMemory ); |
|
570 } |
|
571 |
|
572 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
573 NMusSessionInformationApi::KMusTelNumber, |
|
574 KTelNo )); |
|
575 |
|
576 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
577 NMusSessionInformationApi::KMusCallDirection, |
|
578 NMusSessionInformationApi::ECallOrginated )); |
|
579 |
|
580 iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); |
|
581 dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); |
|
582 EUNIT_ASSERT_EQUALS( dataReady, ETrue ) |
|
583 |
|
584 // Test-2: CS Call NotReady: |
|
585 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
586 NMusSessionInformationApi::KMusTelNumber, |
|
587 KNullDesC )); |
|
588 |
|
589 dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); |
|
590 EUNIT_ASSERT_EQUALS( dataReady, EFalse ) |
|
591 |
|
592 // Test-3 VoIP Call Ready |
|
593 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
594 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
595 |
|
596 User::LeaveIfError( RProperty::Set( |
|
597 NMusSessionInformationApi::KCategoryUid, |
|
598 NMusSessionInformationApi::KMusTelNumber, |
|
599 KDefaultSipUri )); |
|
600 |
|
601 User::LeaveIfError(RProperty::Set( |
|
602 NMusSessionInformationApi::KCategoryUid, |
|
603 NMusSessionInformationApi::KMUSCallProvider, |
|
604 KTestProvideName )); |
|
605 |
|
606 dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); |
|
607 EUNIT_ASSERT_EQUALS( dataReady, ETrue ) |
|
608 |
|
609 |
|
610 // Test-4 VoIP Call Not Ready |
|
611 User::LeaveIfError( RProperty::Set( |
|
612 NMusSessionInformationApi::KCategoryUid, |
|
613 NMusSessionInformationApi::KMUSCallProvider, |
|
614 KNullDesC )); |
|
615 |
|
616 dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); |
|
617 |
|
618 EUNIT_ASSERT_EQUALS( dataReady, EFalse ) |
|
619 |
|
620 // Test-5: Conference Case |
|
621 iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); |
|
622 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
623 |
|
624 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); |
|
625 iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_2 ); |
|
626 |
|
627 dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); |
|
628 EUNIT_ASSERT_EQUALS( dataReady, EFalse ) |
|
629 iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); |
|
630 |
|
631 // Test-3 Handling conference case. |
|
632 iMusTsyPropertyMonitor->iConferenceMonitor->iConfStatus = RMobileConferenceCall::EConferenceActive; |
|
633 dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); |
|
634 EUNIT_ASSERT_EQUALS( dataReady, ETrue ) |
|
635 iMusTsyPropertyMonitor->iConferenceMonitor->iConfStatus = RMobileConferenceCall::EConferenceIdle; |
|
636 } |
|
637 |
|
638 |
|
639 // ----------------------------------------------------------------------------- |
|
640 // MusCallStateChanged from the MusCallStateObserver |
|
641 // ----------------------------------------------------------------------------- |
|
642 // |
|
643 void UT_CMusTsyPropertyMonitor::MusCallStateChanged() |
|
644 { |
|
645 // NOP |
|
646 } |
|
647 |
392 |
648 // TEST TABLE |
393 // TEST TABLE |
649 |
394 |
650 EUNIT_BEGIN_TEST_TABLE( |
395 EUNIT_BEGIN_TEST_TABLE( |
651 UT_CMusTsyPropertyMonitor, |
396 UT_CMusTsyPropertyMonitor, |
652 "UT_CMusTsyPropertyMonitor", |
397 "UT_CMusTsyPropertyMonitor", |
653 "UNIT" ) |
398 "UNIT" ) |
654 |
399 |
|
400 |
|
401 EUNIT_TEST( |
|
402 "NewL - test", |
|
403 "CMusTsyPropertyMonitor", |
|
404 "NewL", |
|
405 "FUNCTIONALITY", |
|
406 SetupL, UT_CMusTsyPropertyMonitor_NewLL, Teardown) |
|
407 |
655 EUNIT_TEST( |
408 EUNIT_TEST( |
656 "RunL - test", |
409 "RunL - test", |
657 "CMusTsyPropertyMonitor", |
410 "CMusTsyPropertyMonitor", |
658 "RunL", |
411 "RunL", |
659 "FUNCTIONALITY", |
412 "FUNCTIONALITY", |