mmsharing/livecommsui/lcui/tsrc/ut_lcui/src/ut_lcview.cpp
changeset 26 5554410e16f5
parent 25 53c1c4459a94
child 34 01f0bb65bcf1
equal deleted inserted replaced
25:53c1c4459a94 26:5554410e16f5
    32 #include <hbtoolbar.h>
    32 #include <hbtoolbar.h>
    33 #include <hbmenu.h>
    33 #include <hbmenu.h>
    34 #include <hbinstance.h>
    34 #include <hbinstance.h>
    35 #include <hblineedit.h>
    35 #include <hblineedit.h>
    36 #include <hbpushbutton.h>
    36 #include <hbpushbutton.h>
    37 #include <hbzoomsliderpopup.h>
       
    38 #include <hbtransparentwindow.h>
    37 #include <hbtransparentwindow.h>
    39 #include <qgraphicssceneevent.h>
    38 #include <qgraphicssceneevent.h>
    40 #include <qgraphicsitem.h>
    39 #include <qgraphicsitem.h>
    41 #include <QGesture.h>
    40 #include <QGesture.h>
    42 #include <dialpad.h>
    41 #include <dialpad.h>
       
    42 #include <dialpadvtkeyhandler.h>
    43 #include <HbTapGesture.h>
    43 #include <HbTapGesture.h>
    44 
    44 
    45 // Stub Helper
    45 // Stub Helper
    46 #include <hbstub_helper.h>
    46 #include <hbstub_helper.h>
    47 
    47 
    93     QVERIFY( mView );
    93     QVERIFY( mView );
    94 }
    94 }
    95 
    95 
    96 void UT_LcView::testActivated()
    96 void UT_LcView::testActivated()
    97 {
    97 {
       
    98     mView->init();
    98     lcutStub_LcUiEngine_reset();
    99     lcutStub_LcUiEngine_reset();
    99     QVERIFY( lcutStub_LcUiEngine_getCurrentView() == 0 );
   100     QVERIFY( lcutStub_LcUiEngine_getCurrentView() == 0 );
   100     mView->activated();
   101     mView->activated();
   101     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
   102     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
   102     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
   103     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
   128 {
   129 {
   129     mRepository->mReturnSendVideo = false;
   130     mRepository->mReturnSendVideo = false;
   130     mView->init();
   131     mView->init();
   131     QVERIFY( mView->mRecipient );
   132     QVERIFY( mView->mRecipient );
   132     QVERIFY( !mView->mSharedVideoWidget );
   133     QVERIFY( !mView->mSharedVideoWidget );
   133     QVERIFY( !mView->mZoomSlider );
   134     QVERIFY( mView->mDialpad );
       
   135     QVERIFY( mView->mDialpadVtKeyHandler );
   134     
   136     
   135     mRepository->mReturnSendVideo = true;
   137     mRepository->mReturnSendVideo = true;
   136     mView->init();
   138     mView->init();
   137     QVERIFY( mView->mRecipient );
   139     QVERIFY( mView->mRecipient );
   138     QVERIFY( mView->mSharedVideoWidget );
   140     QVERIFY( mView->mSharedVideoWidget );
   139     QVERIFY( mView->mZoomSlider );
       
   140     QVERIFY( mView->menu());
   141     QVERIFY( mView->menu());
       
   142     QVERIFY( mView->mDialpad );
       
   143     QVERIFY( mView->mDialpadVtKeyHandler );
       
   144     
       
   145     // emergency call     
       
   146     mView->mDialpadVtKeyHandler->contentChanged("112");
       
   147     QVERIFY( mView->mDialpad->mIsCallButtonEnabled );
       
   148     mView->mDialpadVtKeyHandler->contentChanged("100");
       
   149     QVERIFY( !mView->mDialpad->mIsCallButtonEnabled );
   141 }
   150 }
   142 
   151 
   143 void UT_LcView::testDeactivated()
   152 void UT_LcView::testDeactivated()
   144 {
   153 {
   145     mView->deactivated();
   154     mView->deactivated();
   289 {
   298 {
   290     mView->switchToVoiceCall();
   299     mView->switchToVoiceCall();
   291     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_stop ) );
   300     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_stop ) );
   292 }
   301 }
   293 
   302 
   294 void UT_LcView::testDisableCamera()
   303 void UT_LcView::testDisableCameraWhenOnFullScreenMode()
   295 {
   304 {
   296     mView->init();   
   305     mView->init();
       
   306     mEngine->setFullScreenMode(true);
       
   307     mView->disableCamera();
       
   308     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_disableCamera ) );    
       
   309     QVERIFY( mEngine->fullScreenMode() );
       
   310 }
       
   311 
       
   312 void UT_LcView::testDisableCameraWhenNotOnFullScreenMode()
       
   313 {
       
   314     mView->init();
       
   315     mEngine->setFullScreenMode(false);
   297     mView->disableCamera();
   316     mView->disableCamera();
   298     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_disableCamera ) );    
   317     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_disableCamera ) );    
   299     QVERIFY( !mEngine->fullScreenMode() );
   318     QVERIFY( !mEngine->fullScreenMode() );
   300 }
   319 }
   301 
   320 
   317     lcutStub_LcUiEngine_reset();
   336     lcutStub_LcUiEngine_reset();
   318     mView->init();
   337     mView->init();
   319     mView->swap();
   338     mView->swap();
   320     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutNoCall ) );
   339     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutNoCall ) );
   321 }
   340 }
   322 
       
   323 void UT_LcView::testShowZoom()
       
   324 {
       
   325     QVERIFY( !mView->mSharedVideoWidget );
       
   326     QVERIFY( !mView->mZoomSlider );
       
   327     mView->showZoom();
       
   328     QVERIFY( !mView->mZoomSlider );
       
   329     QVERIFY( !mView->mSharedVideoWidget );
       
   330 
       
   331     LcVideoWidget sendVideo;
       
   332     mView->mSharedVideoWidget = &sendVideo;
       
   333     HbZoomSliderPopup zoomSlider;
       
   334     mView->mZoomSlider = &zoomSlider;
       
   335     
       
   336     QVERIFY( mView->mSharedVideoWidget );
       
   337     QVERIFY( mView->mZoomSlider );
       
   338     mView->showZoom();
       
   339     QVERIFY( mView->mSharedVideoWidget );
       
   340     QVERIFY( mView->mZoomSlider );
       
   341     QVERIFY( mView->mZoomSlider->isVisible() );
       
   342     LcControlValues values;
       
   343     mEngine->zoomValues( values );
       
   344     QCOMPARE( mView->mZoomSlider->value(), values.mValue );
       
   345     QCOMPARE( mView->mZoomSlider->minimum(), values.mMinValue );
       
   346     QCOMPARE( mView->mZoomSlider->maximum(), values.mMaxValue );
       
   347     
       
   348 }
       
   349 
       
   350 
   341 
   351 void UT_LcView::testNotSupported()
   342 void UT_LcView::testNotSupported()
   352 {
   343 {
   353     HbMainWindow mainWin;
   344     HbMainWindow mainWin;
   354     QVERIFY( mView->mNotSupportedNote );
   345     QVERIFY( mView->mNotSupportedNote );
   402     lcutStub_LcUiEngine_setLocalPlaying( true );
   393     lcutStub_LcUiEngine_setLocalPlaying( true );
   403     lcutStub_LcUiEngine_setRemotePlaying( true );
   394     lcutStub_LcUiEngine_setRemotePlaying( true );
   404     mView->updateVideoRects();
   395     mView->updateVideoRects();
   405     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
   396     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
   406     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
   397     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
   407     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setContentAreas, 2 ) );  
   398     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setContentAreas, 2 ) );
       
   399     
       
   400     //Test: Shared video widgets and received video wigts are positioned at (0,0)
       
   401     //It does not update.
       
   402     lcutStub_LcUiEngine_reset();
       
   403     mView->isViewReady = false;
       
   404     mView->mSharedVideoWidget = sharedVideoWidget;
       
   405     mView->mSharedVideoWidget->setPos(QPointF(0,0));
       
   406     mView->mReceivedVideoWidget = receivedVideoWidget;
       
   407     mView->mReceivedVideoWidget->setPos(QPointF(0,0));
       
   408     mView->updateVideoRects();
       
   409     QVERIFY( !lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
       
   410     QVERIFY( !lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
       
   411     QVERIFY( !lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setContentAreas, 2 ) );
       
   412     
       
   413     
       
   414     //Test2: Shared video widgets positioned at (0,0) and other widgets is null
       
   415     //It does not update.
       
   416     lcutStub_LcUiEngine_reset();
       
   417     mView->mSharedVideoWidget = sharedVideoWidget;
       
   418     mView->mSharedVideoWidget->setPos(QPointF(0,0));
       
   419     mView->mReceivedVideoWidget = 0;
       
   420     mView->isViewReady = false;
       
   421     mView->updateVideoRects();
       
   422     QVERIFY( !lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
       
   423     QVERIFY( !lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
       
   424     QVERIFY( !lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setContentAreas, 2 ) );
       
   425 
       
   426     //Test3: Shared video widgets positioned correctly  and other widgets is null
       
   427     //It update.
       
   428     lcutStub_LcUiEngine_reset();
       
   429     mView->mSharedVideoWidget = sharedVideoWidget;
       
   430     mView->mSharedVideoWidget->setPos(QPointF(10,10));
       
   431     mView->mReceivedVideoWidget = 0;
       
   432     mView->isViewReady = false;
       
   433     mView->updateVideoRects();
       
   434     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_updateSession, 0 ) );
       
   435     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setOrientation, 1 ) );
       
   436     QVERIFY( lcutStub_LcUiEngine_expectCall( lcutStub_LcUiEngine_setContentAreas, 2 ) );
   408 }
   437 }
   409 
   438 
   410 void UT_LcView::testCurrentLayout()
   439 void UT_LcView::testCurrentLayout()
   411 {
   440 {
   412     mView->init();
   441     mView->init();
   413     QString layout;
   442     QString layout;
   414     
   443 
   415     //1. Portrait layout
   444     //1. Landscape layout
   416     UT_SET_ORIENTATION( Qt::Vertical );
       
   417     layout = mView->currentLayout();
       
   418     QVERIFY( layout == lcLayoutPortraitDefaultId );
       
   419 
       
   420     //2. Landscape layout
       
   421     UT_SET_ORIENTATION( Qt::Horizontal );
   445     UT_SET_ORIENTATION( Qt::Horizontal );
   422     layout = mView->currentLayout();
   446     layout = mView->currentLayout();
   423     QVERIFY( layout == lcLayoutLandscapeDefaultId );    
   447     QVERIFY( layout == lcLayoutLandscapeDefaultId );    
   424 
   448 
   425     //3. Landscape Swaped lcLayoutPortraitSwappedId
   449     //2. Landscape swapped layout    
   426     
   450     // Shared window x coordinate is higher than Received windows x coordinate.
   427     // Shared window x cordintate is higher 
   451 
   428     // than Received windows x Cordinate.
       
   429     
       
   430     QRectF pos1 = QRectF(100,300, 400, 400);
   452     QRectF pos1 = QRectF(100,300, 400, 400);
   431     QRectF pos2 = QRectF(5,100, 200, 200);
   453     QRectF pos2 = QRectF(5,100, 200, 200);
   432 
   454 
   433     UT_SET_ORIENTATION( Qt::Horizontal );
   455     UT_SET_ORIENTATION( Qt::Horizontal );
   434     mView->mEffectHandler->mSwapInProgress = true;
   456     mView->mEffectHandler->mSwapInProgress = true;
   436     mView->mReceivedVideoWidget->setGeometry(pos2);
   458     mView->mReceivedVideoWidget->setGeometry(pos2);
   437 
   459 
   438     layout = mView->currentLayout();
   460     layout = mView->currentLayout();
   439     QVERIFY( layout == lcLayoutLandscapeSwappedId );
   461     QVERIFY( layout == lcLayoutLandscapeSwappedId );
   440 
   462 
   441     //4. If Its already Swaped Change to the normal Landscape Mode
   463     //3. If it's already swapped, change to the normal landscape mode
   442     mView->mSharedVideoWidget->setGeometry(pos2);
   464     mView->mSharedVideoWidget->setGeometry(pos2);
   443     mView->mReceivedVideoWidget->setGeometry(pos1);
   465     mView->mReceivedVideoWidget->setGeometry(pos1);
   444     layout = mView->currentLayout();
   466     layout = mView->currentLayout();
   445     QVERIFY( layout == lcLayoutLandscapeDefaultId );
   467     QVERIFY( layout == lcLayoutLandscapeDefaultId );
   446 
       
   447 
       
   448     //5. Portrait Swaped lcLayoutPortraitSwappedId
       
   449 
       
   450     // Shared window y cordintate is higher 
       
   451     // than Received windows y Cordinate.
       
   452 
       
   453     UT_SET_ORIENTATION( Qt::Vertical );
       
   454     mView->mEffectHandler->mSwapInProgress = true;
       
   455     mView->mSharedVideoWidget->setGeometry(pos1);
       
   456     mView->mReceivedVideoWidget->setGeometry(pos2);
       
   457 
       
   458     layout = mView->currentLayout();
       
   459     QVERIFY( layout == lcLayoutPortraitSwappedId );
       
   460 
       
   461     //6. If its swaped in portait mode switch not normal portrait mode
       
   462     mView->mEffectHandler->mSwapInProgress = true;
       
   463     mView->mSharedVideoWidget->setGeometry(pos2);
       
   464     mView->mReceivedVideoWidget->setGeometry(pos1);
       
   465     layout = mView->currentLayout();
       
   466     QVERIFY( layout == lcLayoutPortraitDefaultId );
       
   467 
       
   468 }
   468 }
   469 
   469 
   470 
   470 
   471 void UT_LcView::testToFullScreen()
   471 void UT_LcView::testToFullScreen()
   472 {
   472 {
   476     // Test1: to full screen
   476     // Test1: to full screen
   477     mView->init();
   477     mView->init();
   478     mView->menu()->setVisible( false );
   478     mView->menu()->setVisible( false );
   479     mView->toFullScreen( true );
   479     mView->toFullScreen( true );
   480     QVERIFY( mEngine->fullScreenMode() );
   480     QVERIFY( mEngine->fullScreenMode() );
   481     QVERIFY( !mView->isTitleBarVisible() );
   481     // Use the helper function do not invent new one 
       
   482     QVERIFY( !HbStubHelper::isTitleBarVisible() );
       
   483     QVERIFY( !HbStubHelper::isStatusBarVisible() );
   482     QVERIFY( !mView->toolBar()->isVisible() );    
   484     QVERIFY( !mView->toolBar()->isVisible() );    
   483     QVERIFY( !mView->mEndCallButton->isVisible());
   485     QVERIFY( !mView->mEndCallButton->isVisible() );
   484     QVERIFY( !mView->mDuration->isVisible());
   486     QVERIFY( !mView->mDuration->isVisible() );
   485     QVERIFY( !mView->mRecipient->isVisible());
   487     QVERIFY( !mView->mRecipient->isVisible() );    
   486     QVERIFY( !mView->mBrandIcon->isVisible());    
       
   487     
   488     
   488     // Test2 : not in full screen
   489     // Test2 : not in full screen
   489     mView->init();
   490     mView->init();
   490     mView->menu()->setVisible( false );
   491     mView->menu()->setVisible( false );
   491     mView->toFullScreen( false );
   492     mView->toFullScreen( false );
   492     QVERIFY( !mEngine->fullScreenMode());
   493     QVERIFY( !mEngine->fullScreenMode() );
   493     QVERIFY( mView->isTitleBarVisible() );
   494     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   495     QVERIFY( HbStubHelper::isStatusBarVisible() );
   494     QVERIFY( mView->toolBar()->isVisible() );    
   496     QVERIFY( mView->toolBar()->isVisible() );    
   495     QVERIFY( mView->mEndCallButton->isVisible());
   497     QVERIFY( mView->mEndCallButton->isVisible() );
   496     QVERIFY( mView->mDuration->isVisible());
   498     QVERIFY( mView->mDuration->isVisible() );
   497     QVERIFY( mView->mRecipient->isVisible());
   499     QVERIFY( mView->mRecipient->isVisible() );
   498     QVERIFY( mView->mBrandIcon->isVisible());
   500     int tId = mView->timerId;
   499     QVERIFY( mView->timerId );
   501     mView->watchInactivity();    
       
   502     QVERIFY( mView->timerId != tId );
   500     
   503     
   501     // Test3 : menu visible
   504     // Test3 : menu visible
   502     mView->init();
   505     mView->init();
   503     mView->menu()->setVisible( false );
   506     mView->menu()->setVisible( false );
   504     mView->toFullScreen( false );
   507     mView->toFullScreen( false );
   505     mView->menu()->setVisible( true );
   508     mView->menu()->setVisible( true );
   506     mView->toFullScreen( true );
   509     mView->toFullScreen( true );
   507     QVERIFY( !mEngine->fullScreenMode());
   510     QVERIFY( !mEngine->fullScreenMode() );
   508     QVERIFY( mView->isTitleBarVisible() );
   511     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   512     QVERIFY( HbStubHelper::isStatusBarVisible() );
   509     QVERIFY( mView->toolBar()->isVisible() );    
   513     QVERIFY( mView->toolBar()->isVisible() );    
   510     QVERIFY( mView->mEndCallButton->isVisible());
   514     QVERIFY( mView->mEndCallButton->isVisible() );
   511     QVERIFY( mView->mDuration->isVisible());
   515     QVERIFY( mView->mDuration->isVisible() );
   512     QVERIFY( mView->mRecipient->isVisible());
   516     QVERIFY( mView->mRecipient->isVisible() );    
   513     QVERIFY( mView->mBrandIcon->isVisible());
   517     tId = mView->timerId;
   514     QVERIFY( mView->timerId );
   518     mView->watchInactivity();    
       
   519     QVERIFY( mView->timerId != tId );
   515     
   520     
   516     // Test3 : dialpad visible
   521     // Test3 : dialpad visible
   517     mView->init();
   522     mView->init();
   518     delete mView->mDialpad;
   523     delete mView->mDialpad;
   519     mView->mDialpad = new Dialpad();
   524     mView->mDialpad = new Dialpad();
   520     mView->toFullScreen( true );
   525     mView->toFullScreen( true );
   521     QVERIFY( !mEngine->fullScreenMode());
   526     QVERIFY( !mEngine->fullScreenMode() );
   522     QVERIFY( mView->isTitleBarVisible() );
   527     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   528     QVERIFY( HbStubHelper::isStatusBarVisible() );
   523     QVERIFY( mView->toolBar()->isVisible() );    
   529     QVERIFY( mView->toolBar()->isVisible() );    
   524     QVERIFY( mView->mEndCallButton->isVisible());
   530     QVERIFY( mView->mEndCallButton->isVisible() );
   525     QVERIFY( mView->mDuration->isVisible());
   531     QVERIFY( mView->mDuration->isVisible() );
   526     QVERIFY( mView->mRecipient->isVisible());
   532     QVERIFY( mView->mRecipient->isVisible() );    
   527     QVERIFY( mView->mBrandIcon->isVisible());
   533     tId = mView->timerId;
   528     QVERIFY( mView->timerId );
   534     mView->watchInactivity();    
       
   535     QVERIFY( mView->timerId == tId );
   529 }
   536 }
   530 
   537 
   531 void UT_LcView::testGestureEvent()
   538 void UT_LcView::testGestureEvent()
   532 {
   539 {
   533     mView->init();
   540     mView->init();
   534     mView->menu()->setVisible(false);    
   541     mView->menu()->setVisible(false);    
   535     UT_SET_ORIENTATION( Qt::Horizontal );
   542     UT_SET_ORIENTATION( Qt::Horizontal );
   536     mView->mItemContextMenu = 0;
   543 
   537     mView->mSharedVideoWidget->setGeometry(QRectF(5,50, 100, 100));
   544     mView->mSharedVideoWidget->setGeometry(QRectF(5,50, 100, 100));
   538     mView->mReceivedVideoWidget->setGeometry(QRectF(5,200, 200, 400));
   545     mView->mReceivedVideoWidget->setGeometry(QRectF(5,200, 200, 400));
   539     QList<QGesture*> list;
   546     QList<QGesture*> list;
   540     
   547 
   541     // Test1: Short tap Event anywhere on screen
   548     // Test1: Short tap Event toggle the full screen mode
   542     mEngine->setFullScreenMode(true);
   549     mEngine->setFullScreenMode(true);
   543     QPointF sharedVideoPos(10,60);
   550     QPointF sharedVideoPos(10,60);
   544     QTapGesture *tapGesture = new QTapGesture();
   551     QTapGesture *tapGesture = new QTapGesture();
   545     tapGesture->setPosition(sharedVideoPos);
   552     tapGesture->setPosition(sharedVideoPos);
   546     HbStubHelper::setGestureStyleHint(HbTapGesture::Tap);
   553     HbStubHelper::setGestureStyleHint(HbTapGesture::Tap);
   547     HbStubHelper::setGestureState(Qt::GestureFinished);
   554     HbStubHelper::setGestureState(Qt::GestureFinished);
   548     list.append(tapGesture);
   555     list.append(tapGesture);
   549     QGestureEvent event1(list);
   556     QGestureEvent event1(list);
   550     mView->gestureEvent(&event1);
   557     mView->gestureEvent(&event1);
   551     QVERIFY( !mEngine->fullScreenMode());
   558     QVERIFY( !mEngine->fullScreenMode());
   552     // no contet menu
       
   553     QVERIFY( !mView->mItemContextMenu );
       
   554     mView->mItemContextMenu = 0;
       
   555     list.clear();
   559     list.clear();
   556     
   560     
   557     // Test2: Long tap event on Shared Video Widget.
   561     // Test2: Long tap event does not affect full screen mode.
   558     UT_SET_ORIENTATION( Qt::Vertical );
       
   559     QTapGesture *tapGesture1 = new QTapGesture();
       
   560     tapGesture1->setPosition(sharedVideoPos);
       
   561     HbStubHelper::setGestureState(Qt::GestureUpdated);
       
   562     HbStubHelper::setGestureStyleHint(HbTapGesture::TapAndHold);
       
   563     list.append(tapGesture1);
       
   564     QGestureEvent event2(list);
       
   565     mEngine->setFullScreenMode(true);
       
   566     mView->gestureEvent(&event2);
       
   567     // No affect to the full screen mode it remains same  
       
   568     QVERIFY( mEngine->fullScreenMode());
       
   569     // Ensure context menu is created
       
   570     QVERIFY( mView->mItemContextMenu );
       
   571     list.clear();
       
   572     mView->mItemContextMenu = 0;
       
   573     
       
   574     // Test3: Long tap event on Received Video Widget
       
   575     UT_SET_ORIENTATION( Qt::Vertical );
       
   576     QTapGesture *tapGesture2 = new QTapGesture();
   562     QTapGesture *tapGesture2 = new QTapGesture();
   577     QPointF receivedVideoPos(10,210);
   563     QPointF receivedVideoPos(10,210);
   578     tapGesture2->setPosition(receivedVideoPos);
   564     tapGesture2->setPosition(receivedVideoPos);
   579     HbStubHelper::setGestureState(Qt::GestureUpdated);
   565     HbStubHelper::setGestureState(Qt::GestureUpdated);
   580     HbStubHelper::setGestureStyleHint(HbTapGesture::TapAndHold);
   566     HbStubHelper::setGestureStyleHint(HbTapGesture::TapAndHold);
   582     QGestureEvent event3(list);
   568     QGestureEvent event3(list);
   583     mEngine->setFullScreenMode(true);
   569     mEngine->setFullScreenMode(true);
   584     mView->gestureEvent(&event3);
   570     mView->gestureEvent(&event3);
   585     // Ensure it does not affect full screen mode.
   571     // Ensure it does not affect full screen mode.
   586     QVERIFY( mEngine->fullScreenMode());
   572     QVERIFY( mEngine->fullScreenMode());
   587     QVERIFY( !mView->mItemContextMenu );
   573     
   588     
   574     //Test3: Not Handled States.
   589     //Test4: Not Handled States.
       
   590     HbStubHelper::setGestureState(Qt::GestureStarted);
   575     HbStubHelper::setGestureState(Qt::GestureStarted);
   591     mEngine->setFullScreenMode(true);
   576     mEngine->setFullScreenMode(true);
   592     mView->gestureEvent(&event3);
   577     mView->gestureEvent(&event3);
   593     // Ensure its not handled everything remains same
   578     // Ensure its not handled everything remains same
   594     QVERIFY( mEngine->fullScreenMode());
   579     QVERIFY( mEngine->fullScreenMode());
   595     QVERIFY( !mView->mItemContextMenu );
       
   596     list.clear();
   580     list.clear();
   597     
   581     
   598     //Test5: Not Handled Event
   582     //Test4: Not Handled Event
   599     QSwipeGesture *swipeGesture = new QSwipeGesture();
   583     QSwipeGesture *swipeGesture = new QSwipeGesture();
   600     list.append(swipeGesture);
   584     list.append(swipeGesture);
   601     QGestureEvent event4(list);
   585     QGestureEvent event4(list);
   602     mEngine->setFullScreenMode(true);
   586     mEngine->setFullScreenMode(true);
   603     mView->gestureEvent(&event4);
   587     mView->gestureEvent(&event4);
   604     // Ensure it does not affect full screen mode.
   588     // Ensure it does not affect full screen mode.
   605     QVERIFY( mEngine->fullScreenMode());
   589     QVERIFY( mEngine->fullScreenMode());
   606     QVERIFY( !mView->mItemContextMenu );
       
   607 
       
   608 }
   590 }
   609 
   591 
   610 void UT_LcView::testContextMenu()
   592 void UT_LcView::testContextMenu()
   611 {
   593 {
   612     QVERIFY( !mView->mItemContextMenu );    
   594     QVERIFY( !mView->mItemContextMenu );    
   672     // timer time out
   654     // timer time out
   673     QTimerEvent* event = new QTimerEvent( mView->timerId );
   655     QTimerEvent* event = new QTimerEvent( mView->timerId );
   674     mView->menu()->setVisible(false);
   656     mView->menu()->setVisible(false);
   675     mView->timerEvent( event );
   657     mView->timerEvent( event );
   676     QVERIFY( mEngine->fullScreenMode());
   658     QVERIFY( mEngine->fullScreenMode());
   677     QVERIFY( !mView->isTitleBarVisible() );
   659     QVERIFY( !HbStubHelper::isTitleBarVisible() );
       
   660     QVERIFY( !HbStubHelper::isStatusBarVisible() );
   678     QVERIFY( !mView->toolBar()->isVisible() );    
   661     QVERIFY( !mView->toolBar()->isVisible() );    
   679     QVERIFY( !mView->mEndCallButton->isVisible());
   662     QVERIFY( !mView->mEndCallButton->isVisible());
   680     QVERIFY( !mView->mDuration->isVisible());
   663     QVERIFY( !mView->mDuration->isVisible());
   681     QVERIFY( !mView->mRecipient->isVisible());
   664     QVERIFY( !mView->mRecipient->isVisible());    
   682     QVERIFY( !mView->mBrandIcon->isVisible());    
       
   683     delete event;
   665     delete event;
   684     
   666     
   685     // not a timer we want
   667     // not a timer we want
   686     mView->toFullScreen( false );
   668     mView->toFullScreen( false );
   687     event = new QTimerEvent( 22222 ); // some number
   669     event = new QTimerEvent( 22222 ); // some number
   688     mView->timerEvent( event );
   670     mView->timerEvent( event );
   689     QVERIFY( !mEngine->fullScreenMode() );
   671     QVERIFY( !mEngine->fullScreenMode() );
   690     QVERIFY( mView->isTitleBarVisible() );
   672     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   673     QVERIFY( HbStubHelper::isStatusBarVisible() );
   691     QVERIFY( mView->toolBar()->isVisible() );    
   674     QVERIFY( mView->toolBar()->isVisible() );    
   692     QVERIFY( mView->mEndCallButton->isVisible());
   675     QVERIFY( mView->mEndCallButton->isVisible());
   693     QVERIFY( mView->mDuration->isVisible());
   676     QVERIFY( mView->mDuration->isVisible());
   694     QVERIFY( mView->mRecipient->isVisible());
   677     QVERIFY( mView->mRecipient->isVisible());
   695     QVERIFY( mView->mBrandIcon->isVisible());
       
   696     QVERIFY( mView->timerId);
       
   697     delete event;
   678     delete event;
   698 }
   679 }
   699 
   680 
   700 void UT_LcView::testShareImage()
   681 void UT_LcView::testShareImage()
   701 {
   682 {
   711     mView->mEndCallButton = mEndCallButton;
   692     mView->mEndCallButton = mEndCallButton;
   712     UT_SET_ORIENTATION( Qt::Horizontal );
   693     UT_SET_ORIENTATION( Qt::Horizontal );
   713     mEngine->setFullScreenMode(true);
   694     mEngine->setFullScreenMode(true);
   714     mView->updateSwapLayout();
   695     mView->updateSwapLayout();
   715     QVERIFY( mEngine->fullScreenMode());
   696     QVERIFY( mEngine->fullScreenMode());
   716     QVERIFY( !mView->isTitleBarVisible() );
   697     QVERIFY( !HbStubHelper::isTitleBarVisible() );
       
   698     QVERIFY( !HbStubHelper::isStatusBarVisible() );
   717     QVERIFY( !mView->isItemVisible(Hb::DockWidgetItem ) );
   699     QVERIFY( !mView->isItemVisible(Hb::DockWidgetItem ) );
   718     QVERIFY( !mView->mEndCallButton->isVisible());
   700     QVERIFY( !mView->mEndCallButton->isVisible());
   719     QVERIFY( !mView->mDuration->isVisible());
   701     QVERIFY( !mView->mDuration->isVisible());
   720     QVERIFY( !mView->mRecipient->isVisible());
   702     QVERIFY( !mView->mRecipient->isVisible());    
   721     QVERIFY( !mView->mBrandIcon->isVisible());
       
   722 }
   703 }
   723 
   704 
   724 void UT_LcView::testMenuAboutToShow()
   705 void UT_LcView::testMenuAboutToShow()
   725 {
   706 {
   726     mView->init();
   707     mView->init();
   727     mView->menu()->setVisible(false);
   708     mView->menu()->setVisible(false);
   728     mView->toFullScreen( true );
   709     mView->toFullScreen( true );
   729     mView->menuAboutToShow();
   710     mView->menuAboutToShow();
   730     QVERIFY( !mEngine->fullScreenMode());
   711     QVERIFY( !mEngine->fullScreenMode());
   731     QVERIFY( mView->isTitleBarVisible() );
   712     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   713     QVERIFY( HbStubHelper::isStatusBarVisible() );
   732     QVERIFY( mView->toolBar()->isVisible() );    
   714     QVERIFY( mView->toolBar()->isVisible() );    
   733     QVERIFY( mView->mEndCallButton->isVisible());
   715     QVERIFY( mView->mEndCallButton->isVisible());
   734     QVERIFY( mView->mDuration->isVisible());
   716     QVERIFY( mView->mDuration->isVisible());
   735     QVERIFY( mView->mRecipient->isVisible());
   717     QVERIFY( mView->mRecipient->isVisible());
   736     QVERIFY( mView->mBrandIcon->isVisible());
   718     int tId = mView->timerId;
   737     QVERIFY( mView->timerId);
   719     mView->watchInactivity();    
       
   720     QVERIFY( mView->timerId != tId );
   738 
   721 
   739 }
   722 }
   740 
   723 
   741 void UT_LcView::testTranslateRectForOrientation()
   724 void UT_LcView::testTranslateRectForOrientation()
   742 {
   725 {
   743     UT_SET_ORIENTATION( Qt::Vertical );
   726     UT_SET_ORIENTATION( Qt::Horizontal );
   744     QRectF origRect( 10, 10, 100, 200 );
   727     QRectF origRect( 10, 10, 100, 200 );
   745     
       
   746     QRectF modRect = mView->translateRectForOrientation(origRect);
   728     QRectF modRect = mView->translateRectForOrientation(origRect);
   747     QVERIFY( origRect == modRect );
       
   748     
       
   749     UT_SET_ORIENTATION( Qt::Horizontal );
       
   750     modRect = mView->translateRectForOrientation(origRect);
       
   751     QVERIFY( modRect.height() == origRect.width() );
   729     QVERIFY( modRect.height() == origRect.width() );
   752     QVERIFY( modRect.width() == origRect.height() );
   730     QVERIFY( modRect.width() == origRect.height() );
   753 }
   731 }
   754 
   732 
   755 void UT_LcView::testTranslatePointForOrientation()
   733 void UT_LcView::testTranslatePointForOrientation()
   756 {
   734 {
   757     UT_SET_ORIENTATION( Qt::Vertical );
   735     UT_SET_ORIENTATION( Qt::Horizontal );
   758     QPointF origPoint( 10, 20 );
   736     QPointF origPoint( 10, 20 );
   759     
       
   760     QPointF modPoint = mView->translatePointForOrientation(origPoint);
   737     QPointF modPoint = mView->translatePointForOrientation(origPoint);
   761     QVERIFY( origPoint == modPoint );
       
   762     
       
   763     UT_SET_ORIENTATION( Qt::Horizontal );
       
   764     modPoint = mView->translatePointForOrientation(origPoint);
       
   765     QVERIFY( origPoint != modPoint );
   738     QVERIFY( origPoint != modPoint );
   766 }
   739 }
   767 
   740 
   768 void  UT_LcView::testOpenDialpad()
   741 void  UT_LcView::testOpenDialpad()
   769 {
   742 {
   780     mView->openDialpad();
   753     mView->openDialpad();
   781     
   754     
   782     QVERIFY(mView->mDialpad->isOpen());   
   755     QVERIFY(mView->mDialpad->isOpen());   
   783     QVERIFY(!mView->mDialpad->mIsCallButtonEnabled);
   756     QVERIFY(!mView->mDialpad->mIsCallButtonEnabled);
   784     QVERIFY(mView->mRepository.mLayoutSection == lcLayoutLandscapeDialpadId);    
   757     QVERIFY(mView->mRepository.mLayoutSection == lcLayoutLandscapeDialpadId);    
   785     QVERIFY(mView->isTitleBarVisible());
   758     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   759     QVERIFY( HbStubHelper::isStatusBarVisible() );
   786     QCOMPARE(mView->menu()->actions().size(), 0);    
   760     QCOMPARE(mView->menu()->actions().size(), 0);    
   787     QVERIFY(!mView->mEngine.fullScreenMode());
   761     QVERIFY(!mView->mEngine.fullScreenMode());
   788 }
   762 }
   789 
   763 
   790 void  UT_LcView::testDialpadOpened()
   764 void  UT_LcView::testDialpadOpened()
   799     
   773     
   800     // test : no fullscreen,landscape , open and close dialpad scenario     
   774     // test : no fullscreen,landscape , open and close dialpad scenario     
   801     HbMainWindow& window = *(HbInstance::instance()->allMainWindows().at(0));  
   775     HbMainWindow& window = *(HbInstance::instance()->allMainWindows().at(0));  
   802     window.setOrientation( Qt::Horizontal );
   776     window.setOrientation( Qt::Horizontal );
   803     mView->openDialpad();    
   777     mView->openDialpad();    
       
   778     
       
   779     // Enter some dummy text
       
   780     mView->mDialpad->editor().setText( QString("1") );
   804     mView->dialpadClosed();
   781     mView->dialpadClosed();
       
   782     // Ensure text is cleared.
       
   783     
       
   784     QCOMPARE(mView->mDialpad->editor().text(), QString::fromAscii(""));
       
   785     QVERIFY(!mView->mDialpad->editor().text().length());
       
   786     
   805     // check that layout has changed
   787     // check that layout has changed
   806     QVERIFY(mView->mRepository.layout()!= lcLayoutLandscapeDialpadId);
   788     QVERIFY(mView->mRepository.layout()!= lcLayoutLandscapeDialpadId);
   807     QVERIFY(mView->isTitleBarVisible());
   789     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   790     QVERIFY( HbStubHelper::isStatusBarVisible() );
   808     QVERIFY(mView->toolBar()->isVisible());
   791     QVERIFY(mView->toolBar()->isVisible());
   809     QVERIFY(mView->mEndCallButton->isVisible());
   792     QVERIFY(mView->mEndCallButton->isVisible());
   810     QVERIFY(mView->mRecipient->isVisible());
   793     QVERIFY(mView->mRecipient->isVisible());
   811     QVERIFY(mView->mDuration->isVisible());    
   794     QVERIFY(mView->mDuration->isVisible());    
   812     QVERIFY(mView->menu()->isVisible());    
   795     QVERIFY(mView->menu()->isVisible());    
   817     mView->openDialpad();
   800     mView->openDialpad();
   818     mView->dialpadClosed();
   801     mView->dialpadClosed();
   819     // check for swapped view appears
   802     // check for swapped view appears
   820     QVERIFY( mView->mRepository.layout()== lcLayoutLandscapeSwappedId );   
   803     QVERIFY( mView->mRepository.layout()== lcLayoutLandscapeSwappedId );   
   821     // check titlebar invisible
   804     // check titlebar invisible
   822     QVERIFY( mView->isTitleBarVisible() );
   805     QVERIFY( HbStubHelper::isTitleBarVisible() );
       
   806     QVERIFY( HbStubHelper::isStatusBarVisible() );
   823     // check toolbar invisible
   807     // check toolbar invisible
   824     QVERIFY( mView->toolBar()->isVisible() );    
   808     QVERIFY( mView->toolBar()->isVisible() );    
   825     QVERIFY(!mView->mEngine.fullScreenMode());
   809     QVERIFY(!mView->mEngine.fullScreenMode());
   826     
   810 
   827     // test : orientation to portrait 
       
   828     //        swapped,fullscreen,landscape,open and close dialpad scenario
       
   829     mView->mRepository.loadLayout( lcLayoutLandscapeSwappedId );    
       
   830     mView->openDialpad();
       
   831     window.setOrientation( Qt::Vertical );
       
   832     mView->dialpadClosed();
       
   833     // check for swapped view appears
       
   834     QVERIFY( mView->mRepository.layout()== lcLayoutPortraitSwappedId );
       
   835     // check titlebar visible
       
   836     QVERIFY( mView->isTitleBarVisible() );
       
   837     // check toolbar visible
       
   838     QVERIFY( mView->toolBar()->isVisible() );    
       
   839     QVERIFY(!mView->mEngine.fullScreenMode());
       
   840     
       
   841 }
   811 }
   842 
   812 
   843 
   813 
   844 void  UT_LcView::testDialpadEditorTextChanged()
   814 void  UT_LcView::testDialpadEditorTextChanged()
   845 {   
   815 {   
   877     //TODO: stub implementation of void QGraphicsWidget::addAction(QAction *action);
   847     //TODO: stub implementation of void QGraphicsWidget::addAction(QAction *action);
   878     //QCOMPARE(mView->menu()->actions().size(), 2);
   848     //QCOMPARE(mView->menu()->actions().size(), 2);
   879 }
   849 }
   880 
   850 
   881 void UT_LcView::testWatchInactivity()
   851 void UT_LcView::testWatchInactivity()
   882 {
   852 {       
       
   853     mView->init();
       
   854     
       
   855     // test : in fullscreen mode already, dont start timer again
   883     int tid = mView->timerId ;
   856     int tid = mView->timerId ;
   884     mView->mEngine.setFullScreenMode( true );
   857     mView->mEngine.setFullScreenMode( true );    
   885     mView->watchInactivity();
   858     mView->watchInactivity();
   886     QVERIFY( tid==mView->timerId );
   859     QVERIFY( tid==mView->timerId );
   887     
   860   
       
   861     // test : not in full screen but dialpad view. dont start timer
   888     mView->mEngine.setFullScreenMode( false );
   862     mView->mEngine.setFullScreenMode( false );
       
   863     QVERIFY( mView->mDialpad );
       
   864     mView->openDialpad();
       
   865     mView->watchInactivity();
       
   866     QVERIFY( tid==mView->timerId );    
       
   867     
       
   868     // test : not in full screen and no dialpad , start timer
       
   869     mView->mEngine.setFullScreenMode( false );
       
   870     QVERIFY( mView->mDialpad );
       
   871     mView->mDialpad->closeDialpad();
   889     mView->watchInactivity();
   872     mView->watchInactivity();
   890     QVERIFY( tid!=mView->timerId );
   873     QVERIFY( tid!=mView->timerId );
   891 }
   874     
       
   875 }
       
   876 
       
   877 
       
   878 
       
   879 void UT_LcView::testIsVideoPositionedCorrectly()
       
   880 {
       
   881     //Test1: Null video Widget returns true
       
   882     mRepository->mReturnSendVideo = false;
       
   883     mView->init();
       
   884     QVERIFY( !mView->mSharedVideoWidget );
       
   885     QVERIFY(mView->isVideoPositionedCorrectly(mView->mSharedVideoWidget));
       
   886     
       
   887     //Test2: Valid Video widgets with correct position returns true:
       
   888     mRepository->mReturnSendVideo = true;
       
   889     mView->init();
       
   890     QVERIFY( mView->mSharedVideoWidget );
       
   891     QVERIFY( mView->isVideoPositionedCorrectly(mView->mSharedVideoWidget ));
       
   892     
       
   893     //Test3: Vaild video widgets withi co-ordinates returns false.
       
   894     mView->mSharedVideoWidget->setPos(QPointF(0,0));
       
   895     QVERIFY( mView->mSharedVideoWidget );
       
   896     QVERIFY( !mView->isVideoPositionedCorrectly(mView->mSharedVideoWidget ));
       
   897 }
       
   898 
       
   899 
       
   900 void UT_LcView::testIsPositioned()
       
   901 {   
       
   902     //Test: isViewReady is true and proper co-ordinates        
       
   903     mRepository->mReturnSendVideo = true;
       
   904     mView->init();
       
   905     QVERIFY( !mView->isViewReady );        
       
   906     QVERIFY( mView->mSharedVideoWidget );
       
   907     QVERIFY( mView->isVideoPositionedCorrectly(mView->mSharedVideoWidget ));
       
   908     mView->isPositioned();
       
   909     QVERIFY( mView->isViewReady );
       
   910     
       
   911     //Test: isViewReady is false and its first time and co ordinates are 0,0
       
   912     mView->isViewReady = false;    
       
   913     mView->mSharedVideoWidget->setPos(QPointF(0,0));
       
   914     QVERIFY( mView->mSharedVideoWidget );
       
   915     QVERIFY( !mView->isVideoPositionedCorrectly(mView->mSharedVideoWidget ));
       
   916     mView->isPositioned();
       
   917     QVERIFY( !mView->isViewReady );
       
   918 }