150 CTelephonyAudioRouting::EWiredAudioAccessory; |
153 CTelephonyAudioRouting::EWiredAudioAccessory; |
151 EUNIT_ASSERT( !iTelephoneUtils->AudioRoutingCanBeChanged() ); |
154 EUNIT_ASSERT( !iTelephoneUtils->AudioRoutingCanBeChanged() ); |
152 |
155 |
153 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
156 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
154 CTelephonyAudioRouting::EBTAudioAccessory; |
157 CTelephonyAudioRouting::EBTAudioAccessory; |
|
158 EUNIT_ASSERT( iTelephoneUtils->AudioRoutingCanBeChanged() ); |
|
159 |
|
160 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
161 CTelephonyAudioRouting::ETTY; |
155 EUNIT_ASSERT( !iTelephoneUtils->AudioRoutingCanBeChanged() ); |
162 EUNIT_ASSERT( !iTelephoneUtils->AudioRoutingCanBeChanged() ); |
|
163 |
|
164 } |
|
165 |
|
166 |
|
167 // ----------------------------------------------------------------------------- |
|
168 // |
|
169 // ----------------------------------------------------------------------------- |
|
170 // |
|
171 void UT_CMusEngTelephoneUtils::UT_IsAudioRoutingHeadsetL() |
|
172 { |
|
173 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
174 CTelephonyAudioRouting::EBTAudioAccessory; |
|
175 EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingHeadset()); |
|
176 |
|
177 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
178 CTelephonyAudioRouting::ENotActive; |
|
179 EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); |
|
180 |
|
181 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
182 CTelephonyAudioRouting::ENone; |
|
183 EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); |
|
184 |
|
185 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
186 CTelephonyAudioRouting::EHandset; |
|
187 EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); |
|
188 |
|
189 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
190 CTelephonyAudioRouting::ELoudspeaker; |
|
191 EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); |
|
192 |
|
193 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
194 CTelephonyAudioRouting::EWiredAudioAccessory; |
|
195 EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingHeadset() ); |
156 |
196 |
157 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
197 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
158 CTelephonyAudioRouting::ETTY; |
198 CTelephonyAudioRouting::ETTY; |
159 EUNIT_ASSERT( !iTelephoneUtils->AudioRoutingCanBeChanged() ); |
199 EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); |
160 } |
200 |
161 |
201 } |
|
202 |
|
203 void UT_CMusEngTelephoneUtils::UT_IsAudioRoutingLoudSpeakerL() |
|
204 { |
|
205 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
206 CTelephonyAudioRouting::ELoudspeaker; |
|
207 iTelephoneUtils->iAudioOutputAtStartup = |
|
208 CTelephonyAudioRouting::ELoudspeaker; |
|
209 EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingLoudSpeaker()); |
|
210 |
|
211 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
212 CTelephonyAudioRouting::ELoudspeaker; |
|
213 iTelephoneUtils->iAudioOutputAtStartup = |
|
214 CTelephonyAudioRouting::EHandset; |
|
215 EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() ); |
|
216 |
|
217 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
218 CTelephonyAudioRouting::ELoudspeaker; |
|
219 iTelephoneUtils->iAudioOutputAtStartup = |
|
220 CTelephonyAudioRouting::EBTAudioAccessory; |
|
221 EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() ); |
|
222 |
|
223 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
|
224 CTelephonyAudioRouting::ELoudspeaker; |
|
225 iTelephoneUtils->iAudioOutputAtStartup = |
|
226 CTelephonyAudioRouting::EWiredAudioAccessory; |
|
227 EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() ); |
|
228 } |
162 // ----------------------------------------------------------------------------- |
229 // ----------------------------------------------------------------------------- |
163 // |
230 // |
164 // ----------------------------------------------------------------------------- |
231 // ----------------------------------------------------------------------------- |
165 // |
232 // |
166 void UT_CMusEngTelephoneUtils::UT_LoudspeakerLL() |
233 void UT_CMusEngTelephoneUtils::UT_LoudspeakerLL() |
168 // Precondition of test |
235 // Precondition of test |
169 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
236 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
170 CTelephonyAudioRouting::EHandset; |
237 CTelephonyAudioRouting::EHandset; |
171 |
238 |
172 // Set loudspeaker on, succeeds |
239 // Set loudspeaker on, succeeds |
173 iTelephoneUtils->LoudspeakerL( ETrue ); |
240 iTelephoneUtils->LoudspeakerL( ETrue, ETrue ); |
174 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
241 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
175 CTelephonyAudioRouting::ELoudspeaker ); |
242 CTelephonyAudioRouting::ELoudspeaker ); |
176 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iShowNoteMode == |
243 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iShowNoteMode == |
177 EFalse ); |
244 EFalse ); |
|
245 EUNIT_ASSERT( iTelephoneUtils->iShowDialog == ETrue ); |
178 |
246 |
179 // Change conditions |
247 // Change conditions |
180 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
248 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
181 CTelephonyAudioRouting::EWiredAudioAccessory; |
249 CTelephonyAudioRouting::EWiredAudioAccessory; |
182 |
250 |
183 // Try to set loudspeaker on, fails because current set is not handset |
251 // Try to set loudspeaker on, fails because current set is not handset |
184 iTelephoneUtils->LoudspeakerL( ETrue ); |
252 iTelephoneUtils->LoudspeakerL( ETrue, ETrue ); |
185 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
253 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
186 CTelephonyAudioRouting::EWiredAudioAccessory ); |
254 CTelephonyAudioRouting::EWiredAudioAccessory ); |
187 |
255 |
188 // Change conditions |
256 // Change conditions |
189 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
257 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
190 CTelephonyAudioRouting::ELoudspeaker; |
258 CTelephonyAudioRouting::ELoudspeaker; |
191 iTelephoneUtils->iAudioOutputAtStartup = |
259 iTelephoneUtils->iAudioOutputAtStartup = |
192 CTelephonyAudioRouting::ELoudspeaker; |
260 CTelephonyAudioRouting::ELoudspeaker; |
193 |
261 |
194 // Try to set loudspeaker off, goes to handset |
262 // Try to set loudspeaker off, goes to handset |
195 iTelephoneUtils->LoudspeakerL( EFalse ); |
263 iTelephoneUtils->LoudspeakerL( EFalse, ETrue ); |
196 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
264 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
197 CTelephonyAudioRouting::EHandset ); |
265 CTelephonyAudioRouting::EHandset ); |
198 |
266 |
199 // Change conditions |
267 // Change conditions |
200 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
268 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
201 CTelephonyAudioRouting::ELoudspeaker; |
269 CTelephonyAudioRouting::ELoudspeaker; |
202 iTelephoneUtils->iAudioOutputAtStartup = |
270 iTelephoneUtils->iAudioOutputAtStartup = |
203 CTelephonyAudioRouting::EWiredAudioAccessory; |
271 CTelephonyAudioRouting::EWiredAudioAccessory; |
204 |
272 |
205 // Try to set loudspeaker off, goes to wired |
273 // Try to set loudspeaker off, goes to wired |
206 iTelephoneUtils->LoudspeakerL( EFalse ); |
274 iTelephoneUtils->LoudspeakerL( EFalse, ETrue ); |
207 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
275 EUNIT_ASSERT( iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput == |
208 CTelephonyAudioRouting::EWiredAudioAccessory ); |
276 CTelephonyAudioRouting::EWiredAudioAccessory ); |
209 } |
277 } |
210 |
278 |
|
279 |
211 // ----------------------------------------------------------------------------- |
280 // ----------------------------------------------------------------------------- |
212 // |
281 // |
213 // ----------------------------------------------------------------------------- |
282 // ----------------------------------------------------------------------------- |
214 // |
283 // |
215 void UT_CMusEngTelephoneUtils::UT_IsLoudSpeakerEnabledL() |
284 void UT_CMusEngTelephoneUtils::UT_IsLoudSpeakerEnabledL() |
302 // call it to avoid coverage loss. |
375 // call it to avoid coverage loss. |
303 iTelephoneUtils->AvailableOutputsChanged( |
376 iTelephoneUtils->AvailableOutputsChanged( |
304 *iTelephoneUtils->iTelephonyAudioRouting ); |
377 *iTelephoneUtils->iTelephonyAudioRouting ); |
305 } |
378 } |
306 |
379 |
|
380 |
307 // ----------------------------------------------------------------------------- |
381 // ----------------------------------------------------------------------------- |
308 // |
382 // |
309 // ----------------------------------------------------------------------------- |
383 // ----------------------------------------------------------------------------- |
310 // |
384 // |
311 void UT_CMusEngTelephoneUtils::UT_OutputChangedL() |
385 void UT_CMusEngTelephoneUtils::UT_OutputChangedL() |
312 { |
386 { |
313 // Loudspeaker |
|
314 iTelephoneUtils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
387 iTelephoneUtils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
315 |
388 |
316 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
389 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
317 CTelephonyAudioRouting::ELoudspeaker; |
390 CTelephonyAudioRouting::ELoudspeaker; |
|
391 iTelephoneUtils->iRepository->Set( KTelIncallLoudspeakerVolume, 8 ); |
|
392 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
393 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
318 |
394 |
319 iTelephoneUtils->OutputChanged( *iTelephoneUtils->iTelephonyAudioRouting ); |
395 iTelephoneUtils->OutputChanged( *iTelephoneUtils->iTelephonyAudioRouting ); |
320 |
396 |
321 EUNIT_ASSERT_EQUALS( iTelephoneUtils->iAudioOutputAtStartup, |
397 EUNIT_ASSERT_EQUALS( iTelephoneUtils->iAudioOutputAtStartup, |
322 CTelephonyAudioRouting::ELoudspeaker ) |
398 CTelephonyAudioRouting::ELoudspeaker ) |
323 EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled ) |
399 |
324 |
400 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 8 ) |
325 // Handset |
401 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
|
402 // Test observer |
|
403 |
|
404 iTelephoneUtils->SetAudioRoutingObserver( iObserver ); |
|
405 iTelephoneUtils->SetVolumeChangeObserver(iObserver); |
|
406 |
326 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
407 iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = |
327 CTelephonyAudioRouting::EHandset; |
408 CTelephonyAudioRouting::EHandset; |
328 |
409 |
329 iTelephoneUtils->OutputChanged( *iTelephoneUtils->iTelephonyAudioRouting ); |
410 iTelephoneUtils->OutputChanged( *iTelephoneUtils->iTelephonyAudioRouting ); |
330 |
411 |
|
412 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
413 EUNIT_ASSERT( iObserver->iVolume == 4 ); |
331 EUNIT_ASSERT_EQUALS( iTelephoneUtils->iAudioOutputAtStartup, |
414 EUNIT_ASSERT_EQUALS( iTelephoneUtils->iAudioOutputAtStartup, |
332 CTelephonyAudioRouting::EHandset ) |
415 CTelephonyAudioRouting::EHandset ) |
333 |
416 |
334 EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled ) |
417 EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled ) |
335 } |
418 } |
336 |
419 |
|
420 |
337 // ----------------------------------------------------------------------------- |
421 // ----------------------------------------------------------------------------- |
338 // |
422 // |
339 // ----------------------------------------------------------------------------- |
423 // ----------------------------------------------------------------------------- |
340 // |
424 // |
341 void UT_CMusEngTelephoneUtils::UT_SetOutputCompleteL() |
425 void UT_CMusEngTelephoneUtils::UT_SetOutputCompleteL() |
342 { |
426 { |
|
427 iTelephoneUtils->SetAudioRoutingObserver( iObserver ); |
|
428 iTelephoneUtils->SetVolumeChangeObserver(iObserver); |
|
429 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
|
430 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
431 |
343 // Setoutput fails |
432 // Setoutput fails |
344 iTelephoneUtils->SetOutputComplete( |
433 iTelephoneUtils->SetOutputComplete( |
345 *iTelephoneUtils->iTelephonyAudioRouting, |
434 *iTelephoneUtils->iTelephonyAudioRouting, |
346 KErrGeneral ); |
435 KErrGeneral ); |
|
436 |
347 EUNIT_ASSERT( !iObserver->iAudioRoutingChangedCalled ) |
437 EUNIT_ASSERT( !iObserver->iAudioRoutingChangedCalled ) |
348 iObserver->Reset(); |
438 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
349 |
439 |
350 // Setoutput ok |
440 // Setoutput succesful and note is shown by audiorouting api |
|
441 // There's already next pending setoutput for which we are going to |
|
442 // show note -> that cannot be forgotten |
|
443 iTelephoneUtils->iRepository->Set( KTelIncallEarVolume, 5 ); |
|
444 iTelephoneUtils->iShowDialog = ETrue; |
|
445 iTelephoneUtils->iTelephonyAudioRouting->SetShowNote( ETrue ); |
351 iTelephoneUtils->SetOutputComplete( |
446 iTelephoneUtils->SetOutputComplete( |
352 *iTelephoneUtils->iTelephonyAudioRouting, |
447 *iTelephoneUtils->iTelephonyAudioRouting, |
353 KErrNone ); |
448 KErrNone ); |
354 EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled ) |
449 EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled == ETrue ) |
355 } |
450 EUNIT_ASSERT( iObserver->iShowNote == EFalse ) |
|
451 EUNIT_ASSERT( iTelephoneUtils->iShowDialog == ETrue ) |
|
452 EUNIT_ASSERT( iObserver->iVolume == 5 ); |
|
453 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 5 ) |
|
454 |
|
455 iObserver->Reset(); |
|
456 |
|
457 // Setoutput succesful and note is shown by us |
|
458 iTelephoneUtils->iTelephonyAudioRouting->SetShowNote( EFalse ); |
|
459 iTelephoneUtils->SetOutputComplete( |
|
460 *iTelephoneUtils->iTelephonyAudioRouting, |
|
461 KErrNone ); |
|
462 EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled == ETrue ) |
|
463 EUNIT_ASSERT( iObserver->iShowNote == ETrue ) |
|
464 EUNIT_ASSERT( iTelephoneUtils->iShowDialog == EFalse ) |
|
465 } |
|
466 |
356 |
467 |
357 // ----------------------------------------------------------------------------- |
468 // ----------------------------------------------------------------------------- |
358 // |
469 // |
359 // ----------------------------------------------------------------------------- |
470 // ----------------------------------------------------------------------------- |
360 // |
471 // |
363 EUNIT_ASSERT( iTelephoneUtils->ValidateVolume( 0 ) == 0 ); |
474 EUNIT_ASSERT( iTelephoneUtils->ValidateVolume( 0 ) == 0 ); |
364 EUNIT_ASSERT( iTelephoneUtils->ValidateVolume( 11 ) == 10 ); |
475 EUNIT_ASSERT( iTelephoneUtils->ValidateVolume( 11 ) == 10 ); |
365 EUNIT_ASSERT( iTelephoneUtils->ValidateVolume( 5 ) == 5 ); |
476 EUNIT_ASSERT( iTelephoneUtils->ValidateVolume( 5 ) == 5 ); |
366 } |
477 } |
367 |
478 |
|
479 |
368 // ----------------------------------------------------------------------------- |
480 // ----------------------------------------------------------------------------- |
369 // We cannot assert anything after destruction. All we can do is to make |
481 // We cannot assert anything after destruction. All we can do is to make |
370 // such condition before destruction that coverage will be achieved. |
482 // such condition before destruction that coverage will be achieved. |
371 // ----------------------------------------------------------------------------- |
483 // ----------------------------------------------------------------------------- |
372 // |
484 // |
373 void UT_CMusEngTelephoneUtils::UT_DestructorL() |
485 void UT_CMusEngTelephoneUtils::UT_DestructorL() |
374 { |
486 { |
375 // Simulate that 2nd phase construction has not succeeded |
487 // Simulate that 2nd phase construction has not succeeded |
376 CMusEngTelephoneUtils* utils = CMusEngTelephoneUtils::NewL( *iObserver ); |
488 CMusEngTelephoneUtils* utils = CMusEngTelephoneUtils::NewL(); |
377 CleanupStack::PushL( utils ); |
489 CleanupStack::PushL( utils ); |
378 delete utils->iTelephonyAudioRouting; |
490 delete utils->iTelephonyAudioRouting; |
379 utils->iTelephonyAudioRouting = NULL; |
491 utils->iTelephonyAudioRouting = NULL; |
380 CleanupStack::PopAndDestroy( utils ); |
492 CleanupStack::PopAndDestroy( utils ); |
381 |
493 |
382 // Simulate that current audio output mode is same as original |
494 // Simulate that current audio output mode is same as original |
383 utils = CMusEngTelephoneUtils::NewL( *iObserver ); |
495 utils = CMusEngTelephoneUtils::NewL(); |
384 CleanupStack::PushL( utils ); |
496 CleanupStack::PushL( utils ); |
385 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
497 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
386 utils->iTelephonyAudioRouting->iCurrentOutput = |
498 utils->iTelephonyAudioRouting->iCurrentOutput = |
387 CTelephonyAudioRouting::EHandset; |
499 CTelephonyAudioRouting::EHandset; |
|
500 CTelephonyAudioRouting::iPreviousOutput = |
|
501 CTelephonyAudioRouting::ELoudspeaker; |
388 CleanupStack::PopAndDestroy( utils ); |
502 CleanupStack::PopAndDestroy( utils ); |
|
503 EUNIT_ASSERT( CTelephonyAudioRouting::iPreviousOutput == |
|
504 CTelephonyAudioRouting::ELoudspeaker ) |
389 |
505 |
390 // Simulate that current audio output mode is not the same as original, |
506 // Simulate that current audio output mode is not the same as original, |
391 // Setting fails |
507 // Setting fails |
392 utils = CMusEngTelephoneUtils::NewL( *iObserver ); |
508 utils = CMusEngTelephoneUtils::NewL(); |
393 CleanupStack::PushL( utils ); |
509 CleanupStack::PushL( utils ); |
394 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
510 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
395 utils->iTelephonyAudioRouting->iCurrentOutput = |
511 utils->iTelephonyAudioRouting->iCurrentOutput = |
396 CTelephonyAudioRouting::ELoudspeaker; |
512 CTelephonyAudioRouting::ELoudspeaker; |
|
513 CTelephonyAudioRouting::iPreviousOutput = |
|
514 CTelephonyAudioRouting::EHandset; |
397 utils->iTelephonyAudioRouting->iForceFailWithCode = KErrGeneral; |
515 utils->iTelephonyAudioRouting->iForceFailWithCode = KErrGeneral; |
398 CleanupStack::PopAndDestroy( utils ); |
516 CleanupStack::PopAndDestroy( utils ); |
|
517 EUNIT_ASSERT( CTelephonyAudioRouting::iPreviousOutput == |
|
518 CTelephonyAudioRouting::EHandset ) |
|
519 EUNIT_ASSERT( CTelephonyAudioRouting::iCurrentOutput == |
|
520 CTelephonyAudioRouting::ELoudspeaker ) |
399 |
521 |
400 // Simulate that current audio output mode is not the same as original, |
522 // Simulate that current audio output mode is not the same as original, |
401 // Setting succeeds |
523 // Setting succeeds |
402 utils = CMusEngTelephoneUtils::NewL( *iObserver ); |
524 utils = CMusEngTelephoneUtils::NewL(); |
403 CleanupStack::PushL( utils ); |
525 CleanupStack::PushL( utils ); |
404 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
526 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
405 utils->iTelephonyAudioRouting->iCurrentOutput = |
527 utils->iTelephonyAudioRouting->iCurrentOutput = |
406 CTelephonyAudioRouting::ELoudspeaker; |
528 CTelephonyAudioRouting::ELoudspeaker; |
|
529 CTelephonyAudioRouting::iPreviousOutput = |
|
530 CTelephonyAudioRouting::EHandset; |
407 CleanupStack::PopAndDestroy( utils ); |
531 CleanupStack::PopAndDestroy( utils ); |
408 |
532 EUNIT_ASSERT( CTelephonyAudioRouting::iPreviousOutput == |
|
533 CTelephonyAudioRouting::ELoudspeaker ) |
|
534 EUNIT_ASSERT( CTelephonyAudioRouting::iCurrentOutput == |
|
535 CTelephonyAudioRouting::EHandset ) |
|
536 |
|
537 // Simulate that current audio output mode is not the same as original, |
|
538 // Setting not done due to special case handling (ENotActive) |
|
539 utils = CMusEngTelephoneUtils::NewL(); |
|
540 CleanupStack::PushL( utils ); |
|
541 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
|
542 utils->iTelephonyAudioRouting->iCurrentOutput = |
|
543 CTelephonyAudioRouting::ENotActive; |
|
544 CTelephonyAudioRouting::iPreviousOutput = |
|
545 CTelephonyAudioRouting::ELoudspeaker; |
|
546 CleanupStack::PopAndDestroy( utils ); |
|
547 EUNIT_ASSERT( CTelephonyAudioRouting::iPreviousOutput == |
|
548 CTelephonyAudioRouting::ELoudspeaker ) |
|
549 EUNIT_ASSERT( CTelephonyAudioRouting::iCurrentOutput == |
|
550 CTelephonyAudioRouting::ENotActive ) |
|
551 |
409 // Simulate that current audio output mode is not the same as original, |
552 // Simulate that current audio output mode is not the same as original, |
410 // Setting does not succeed as observer does not allow changes anymore |
553 // Setting does not succeed as observer does not allow changes anymore |
411 utils = CMusEngTelephoneUtils::NewL( *iObserver ); |
554 utils = CMusEngTelephoneUtils::NewL(); |
|
555 iObserver->iAudioRouteChangeAllowed = EFalse; |
|
556 utils->SetAudioRoutingObserver( iObserver ); |
412 CleanupStack::PushL( utils ); |
557 CleanupStack::PushL( utils ); |
413 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
558 utils->iAudioOutputAtStartup = CTelephonyAudioRouting::EHandset; |
414 utils->iTelephonyAudioRouting->iCurrentOutput = |
559 utils->iTelephonyAudioRouting->iCurrentOutput = |
415 CTelephonyAudioRouting::ELoudspeaker; |
560 CTelephonyAudioRouting::ELoudspeaker; |
|
561 CTelephonyAudioRouting::iPreviousOutput = |
|
562 CTelephonyAudioRouting::EHandset; |
416 CleanupStack::PopAndDestroy( utils ); |
563 CleanupStack::PopAndDestroy( utils ); |
417 // Cannot really assert anything |
564 EUNIT_ASSERT( CTelephonyAudioRouting::iPreviousOutput == |
|
565 CTelephonyAudioRouting::EHandset ) |
|
566 EUNIT_ASSERT( CTelephonyAudioRouting::iCurrentOutput == |
|
567 CTelephonyAudioRouting::ELoudspeaker ) |
|
568 } |
|
569 |
|
570 // ----------------------------------------------------------------------------- |
|
571 // |
|
572 // ----------------------------------------------------------------------------- |
|
573 // |
|
574 void UT_CMusEngTelephoneUtils::UT_UpdateCurrentVolumeL() |
|
575 { |
|
576 //Volume changed, no observer |
|
577 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
578 iTelephoneUtils->iRepository->Set( KTelIncallEarVolume, 5 ); |
|
579 iTelephoneUtils->UpdateCurrentVolume(EFalse); |
|
580 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 5 ) |
|
581 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
|
582 |
|
583 //Volume changed, observer set |
|
584 iTelephoneUtils->SetVolumeChangeObserver(iObserver); |
|
585 iTelephoneUtils->iRepository->Set( KTelIncallEarVolume, 6 ); |
|
586 iTelephoneUtils->UpdateCurrentVolume(EFalse); |
|
587 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 6 ) |
|
588 EUNIT_ASSERT( iObserver->iVolume == 6 ); |
|
589 |
|
590 //Volume didn't change, observer not notified |
|
591 iObserver->iVolume = 0; |
|
592 iTelephoneUtils->UpdateCurrentVolume(EFalse); |
|
593 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 6 ) |
|
594 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
|
595 } |
|
596 |
|
597 // ----------------------------------------------------------------------------- |
|
598 // |
|
599 // ----------------------------------------------------------------------------- |
|
600 // |
|
601 void UT_CMusEngTelephoneUtils::UT_HandleNotifyGenericL() |
|
602 { |
|
603 //Loudspeakers volume changed, no observer |
|
604 iTelephoneUtils->iRepository->Set( KTelIncallLoudspeakerVolume, 8 ); |
|
605 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
606 iTelephoneUtils->HandleNotifyGeneric(KTelIncallLoudspeakerVolume); |
|
607 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 8 ) |
|
608 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
|
609 |
|
610 //Ear volume changed, observer set => observer notified |
|
611 iTelephoneUtils->SetVolumeChangeObserver(iObserver); |
|
612 iTelephoneUtils->HandleNotifyGeneric(KTelIncallEarVolume); |
|
613 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
614 EUNIT_ASSERT( iObserver->iVolume == 4 ); |
|
615 |
|
616 //Volume hasn't changed => observer not notifies |
|
617 iObserver->iVolume = 0; |
|
618 iTelephoneUtils->HandleNotifyGeneric(KTelIncallEarVolume); |
|
619 EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 ) |
|
620 EUNIT_ASSERT( iObserver->iVolume == 0 ); |
418 } |
621 } |
419 |
622 |
420 |
623 |
421 // TEST TABLE |
624 // TEST TABLE |
422 |
625 |