videoplayback/hbvideoplaybackview/tsrc/testvideoplaybackcontrolscontroller/src/testmpxvideoplaybackcontrolscontroller.cpp
changeset 39 f6d44a0cd476
parent 38 ff53afa8ad05
child 40 13331705e488
equal deleted inserted replaced
38:ff53afa8ad05 39:f6d44a0cd476
    13 *
    13 *
    14 * Description:   tester for methods in Video Playback Controls Controller
    14 * Description:   tester for methods in Video Playback Controls Controller
    15 * 
    15 * 
    16 */
    16 */
    17 
    17 
    18 // Version : %version:  8 %
    18 // Version : %version:  9 %
    19 
    19 
    20 #include <e32err.h>
    20 #include <e32err.h>
    21 #include <w32std.h>
    21 #include <w32std.h>
    22 #include <qobject>
    22 #include <qobject>
    23 
    23 
    53 //
    53 //
    54 int main(int argc, char *argv[])
    54 int main(int argc, char *argv[])
    55 {
    55 {
    56     HbApplication app(argc, argv);
    56     HbApplication app(argc, argv);
    57     HbMainWindow window;
    57     HbMainWindow window;
    58     
       
    59     TestMPXVideoPlaybackControlsController tv;
    58     TestMPXVideoPlaybackControlsController tv;
    60 
    59 
    61     char *pass[3];
    60     char *pass[3];
    62     pass[0] = argv[0];
    61     pass[0] = argv[0];
    63     pass[1] = "-o";
    62     pass[1] = "-o";
    66     int res = QTest::qExec(&tv, 3, pass);
    65     int res = QTest::qExec(&tv, 3, pass);
    67     
    66     
    68     return res;
    67     return res;
    69 }
    68 }
    70 
    69 
    71 
       
    72 // ---------------------------------------------------------------------------
    70 // ---------------------------------------------------------------------------
    73 // init
    71 // init
    74 // ---------------------------------------------------------------------------
    72 // ---------------------------------------------------------------------------
    75 //
    73 //
    76 void TestMPXVideoPlaybackControlsController::init()
    74 void TestMPXVideoPlaybackControlsController::init()
    77 {	  
    75 {	  
    78     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackControlsController::init()"));
    76     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackControlsController::init()"));
    79     
    77     
    80     mBaseVideoView = new HbVideoBasePlaybackView();
    78     mBaseVideoView = new HbVideoBasePlaybackView();
    81     mFileDetails   = new QMPXVideoPlaybackViewFileDetails();
    79 
       
    80     if ( ! mFileDetails )
       
    81     {
       
    82         mFileDetails   = new QMPXVideoPlaybackViewFileDetails();        
       
    83     }
    82     mViewWrapper   = CMPXVideoViewWrapper::NewL( mBaseVideoView );	  
    84     mViewWrapper   = CMPXVideoViewWrapper::NewL( mBaseVideoView );	  
    83     mController    = new QMPXVideoPlaybackControlsController( mBaseVideoView,
    85     mController    = new QMPXVideoPlaybackControlsController( mBaseVideoView,
    84                                                               mViewWrapper,
    86                                                               mViewWrapper,
    85                                                               mFileDetails );       
    87                                                               mFileDetails );       
    86 }
    88 }
   111 // -------------------------------------------------------------------------------------------------
   113 // -------------------------------------------------------------------------------------------------
   112 //
   114 //
   113 void TestMPXVideoPlaybackControlsController::testAddFileDetails()
   115 void TestMPXVideoPlaybackControlsController::testAddFileDetails()
   114 {
   116 {
   115     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testAddFileDetails()") );
   117     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testAddFileDetails()") );
   116     
   118 
   117     init();    
       
   118     
       
   119     //
   119     //
   120     // local real media with no video
   120     // local real media with no video
   121     //
   121     //
   122     mFileDetails->mClipName = QString("testClip.rm");
   122     mFileDetails = new QMPXVideoPlaybackViewFileDetails();
   123     mFileDetails->mMimeType = QString("video/x-pn-realvideo");
   123     mFileDetails->mClipName = QString( "testClip.rm" );
   124         
   124     mFileDetails->mMimeType = QString( "video/x-pn-realvideo" );
       
   125 
       
   126     init();
       
   127 
   125     mController->addFileDetails( mFileDetails );    
   128     mController->addFileDetails( mFileDetails );    
   126     
   129     
   127     QVERIFY( mController->mFileDetails->mRNFormat == true );
   130     QVERIFY( mController->mFileDetails->mRNFormat == true );
   128     QVERIFY( mController->mViewMode == EAudioOnlyView );
   131     QVERIFY( mController->mViewMode == EAudioOnlyView );
   129     QVERIFY( mController->mControlsConfig->mUpdateControlsWithFileDetails == true );
   132     QVERIFY( mController->mControlsConfig->mUpdateControlsWithFileDetails == true );
   130     QVERIFY( mController->mControlsConfig->mState == EMPXControlCmdTvOutConnected );
   133     QVERIFY( mController->mControlsConfig->mState == EMPXControlCmdTvOutConnected );
   131             
   134 
       
   135     cleanup();    
       
   136 
   132     //
   137     //
   133     // local 3GPP media with video-only
   138     // local 3GPP media with video-only
   134     //    
   139     //
       
   140     mFileDetails = new QMPXVideoPlaybackViewFileDetails();
       
   141 
   135     mFileDetails->mClipName = QString("testClip.3gp");
   142     mFileDetails->mClipName = QString("testClip.3gp");
   136     mFileDetails->mMimeType = QString("video/3gpp");
   143     mFileDetails->mMimeType = QString("video/3gpp");
   137     mFileDetails->mVideoEnabled = true;
   144     mFileDetails->mVideoEnabled = true;
       
   145     mFileDetails->mTvOutConnected = true;
       
   146 
       
   147     init();
       
   148 
   138     mController->mViewMode = EFullScreenView;
   149     mController->mViewMode = EFullScreenView;
   139     mFileDetails->mTvOutConnected = true;
       
   140     QFileInfo videoOnlyFile( mFileDetails->mClipName );
   150     QFileInfo videoOnlyFile( mFileDetails->mClipName );
   141     
   151 
   142     mController->addFileDetails( mFileDetails );    
   152     mController->addFileDetails( mFileDetails );    
   143     
   153     
   144     QVERIFY( mController->mFileDetails->mRNFormat == false );
   154     QVERIFY( mController->mFileDetails->mRNFormat == false );
   145     QVERIFY( mController->mControlsConfig->mUpdateControlsWithFileDetails == true ); 
   155     QVERIFY( mController->mControlsConfig->mUpdateControlsWithFileDetails == true ); 
   146     
   156     
   165             HbLabel *titleLabel = qobject_cast<HbLabel*>( mController->mLoader->mWidgets[i] );        
   175             HbLabel *titleLabel = qobject_cast<HbLabel*>( mController->mLoader->mWidgets[i] );        
   166             QVERIFY( titleLabel->plainText() == videoOnlyFile.baseName() ); 
   176             QVERIFY( titleLabel->plainText() == videoOnlyFile.baseName() ); 
   167             break;
   177             break;
   168         }
   178         }
   169     }    
   179     }    
   170     
   180     cleanup();    
       
   181 
   171     //
   182     //
   172     // non-local audio-video media, TvOut is not connected
   183     // non-local audio-video media, TvOut is not connected
   173     //
   184     //
       
   185     mFileDetails = new QMPXVideoPlaybackViewFileDetails();
       
   186 
   174     mFileDetails->mClipName = QString("rtsp:://www.youtube.com/testClip.rm");
   187     mFileDetails->mClipName = QString("rtsp:://www.youtube.com/testClip.rm");
   175     mFileDetails->mPlaybackMode = EMPXVideoStreaming;
   188     mFileDetails->mPlaybackMode = EMPXVideoStreaming;
   176     mFileDetails->mTvOutConnected = false;
   189     mFileDetails->mTvOutConnected = false;
   177     mFileDetails->mAudioEnabled = true;
   190     mFileDetails->mAudioEnabled = true;
   178     mFileDetails->mTitle = QString("Clip Title");
   191     mFileDetails->mTitle = QString("Clip Title");
   179     
   192 
       
   193     init();
       
   194 
   180     mController->addFileDetails( mFileDetails );    
   195     mController->addFileDetails( mFileDetails );    
   181     
   196     
   182     QVERIFY( mController->mFileDetails->mRNFormat == true );
   197     QVERIFY( mController->mFileDetails->mRNFormat == true );
   183     QVERIFY( mController->mControlsConfig->mUpdateControlsWithFileDetails == true ); 
   198     QVERIFY( mController->mControlsConfig->mUpdateControlsWithFileDetails == true ); 
   184     
   199     
   208     
   223     
   209     init();    
   224     init();    
   210     int value = 20000;    
   225     int value = 20000;    
   211     
   226     
   212     mController->handleEvent( EMPXControlCmdSetPosition, value );  
   227     mController->handleEvent( EMPXControlCmdSetPosition, value );  
   213     
   228 
   214     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
   229     QVERIFY( mController->mControls[0]->mPosition == ( value / KPbMilliMultiplier ) );
   215     {
       
   216         QVERIFY( mController->mControls[i]->mPosition == ( value / KPbMilliMultiplier ) );
       
   217     }
       
   218     
   230     
   219     cleanup();    
   231     cleanup();    
   220 }
   232 }
   221 
   233 
   222 // -------------------------------------------------------------------------------------------------
   234 // -------------------------------------------------------------------------------------------------
   229     
   241     
   230     init();    
   242     init();    
   231     int value = 30000;    
   243     int value = 30000;    
   232     
   244     
   233     mController->handleEvent( EMPXControlCmdSetDuration, value );  
   245     mController->handleEvent( EMPXControlCmdSetDuration, value );  
   234     
   246 
   235     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
   247     QVERIFY( mController->mControls[0]->mDuration == ( value / KPbMilliMultiplier ) );
   236     {
       
   237         QVERIFY( mController->mControls[i]->mDuration == ( value / KPbMilliMultiplier ) );    
       
   238     }
       
   239     
   248     
   240     cleanup();    
   249     cleanup();    
   241 }
   250 }
   242 
   251 
   243 // -------------------------------------------------------------------------------------------------
   252 // -------------------------------------------------------------------------------------------------
   248 {
   257 {
   249     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testHandleEventStateChanged()"));  
   258     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testHandleEventStateChanged()"));  
   250     
   259     
   251     init();    
   260     init();    
   252     TMPXVideoPlaybackControlCommandIds event = EMPXControlCmdStateChanged;
   261     TMPXVideoPlaybackControlCommandIds event = EMPXControlCmdStateChanged;
   253     
   262     mController->mOrientation = Qt::Horizontal;
       
   263 
   254     //
   264     //
   255     // state change (EPbStateInitialising)
   265     // state change (EPbStateInitialising)
   256     //
   266     //
   257     int value = EPbStateInitialising;    
   267     int value = EPbStateInitialising;    
   258     mController->handleEvent( event, value );    
   268     mController->handleEvent( event, value );    
   393     
   403     
   394     for ( int i = 0; i < numScalingType; i++ )
   404     for ( int i = 0; i < numScalingType; i++ )
   395     {    
   405     {    
   396         mController->handleEvent( EMPXControlCmdSetAspectRatio, i );   
   406         mController->handleEvent( EMPXControlCmdSetAspectRatio, i );   
   397     
   407     
   398         for ( int j = 0 ; j < mController->mControls.count() ; j++ )
   408         QVERIFY( mController->mControls[0]->mAspectRatio == i );  
   399         {
       
   400             QVERIFY( mController->mControls[j]->mAspectRatio == i );  
       
   401         }    
       
   402     }
   409     }
   403     
   410     
   404     cleanup();    
   411     cleanup();    
   405 }
   412 }
   406 
   413 
   415     init();    
   422     init();    
   416     int value = 50;    
   423     int value = 50;    
   417     
   424     
   418     mController->handleEvent( EMPXControlCmdSetDownloadSize, value );    
   425     mController->handleEvent( EMPXControlCmdSetDownloadSize, value );    
   419     
   426     
   420     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
   427     QVERIFY( mController->mControls[0]->mDownloadSize == value );  
   421     {
       
   422         QVERIFY( mController->mControls[i]->mDownloadSize == value );  
       
   423     }
       
   424     
   428     
   425     cleanup();    
   429     cleanup();    
   426 }
   430 }
   427 
   431 
   428 // -------------------------------------------------------------------------------------------------
   432 // -------------------------------------------------------------------------------------------------
   435     
   439     
   436     init();    
   440     init();    
   437     int value = 55;
   441     int value = 55;
   438     
   442     
   439     mController->handleEvent( EMPXControlCmdDownloadUpdated, value );    
   443     mController->handleEvent( EMPXControlCmdDownloadUpdated, value );    
   440     
   444 
   441     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
   445     QVERIFY( mController->mControls[0]->mDownloadPosition == value );  
   442     {
       
   443         QVERIFY( mController->mControls[i]->mDownloadPosition == value );  
       
   444     }
       
   445     
   446     
   446     cleanup();    
   447     cleanup();    
   447 }
   448 }
   448 
   449 
   449 // -------------------------------------------------------------------------------------------------
   450 // -------------------------------------------------------------------------------------------------
   456     
   457     
   457     init();    
   458     init();    
   458     int value = 60;
   459     int value = 60;
   459     
   460     
   460     mController->handleEvent( EMPXControlCmdDownloadComplete, value );    
   461     mController->handleEvent( EMPXControlCmdDownloadComplete, value );    
   461     
   462 
   462     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
   463     QVERIFY( mController->mControls[0]->mDownloadPosition == value );  
   463     {
       
   464         QVERIFY( mController->mControls[i]->mDownloadPosition == value );  
       
   465     }
       
   466     
   464     
   467     cleanup();    
   465     cleanup();    
   468 }
   466 }
   469 
   467 
   470 // -------------------------------------------------------------------------------------------------
   468 // -------------------------------------------------------------------------------------------------
  1070     
  1068     
  1071     //
  1069     //
  1072     // emit signal, this will in turns invoke mController handleOrientationChanged() slot
  1070     // emit signal, this will in turns invoke mController handleOrientationChanged() slot
  1073     //
  1071     //
  1074     mController->mOrientation = Qt::Vertical;
  1072     mController->mOrientation = Qt::Vertical;
       
  1073     mController->mState = EPbStatePlaying;                
  1075 
  1074 
  1076     emit commandSignal( Qt::Horizontal );     
  1075     emit commandSignal( Qt::Horizontal );     
  1077     
  1076 
  1078     //
       
  1079     // verify command EMPXPbvCmdClose has been issued
       
  1080     //
       
  1081     QVERIFY( mController->mOrientation == Qt::Horizontal ); 
  1077     QVERIFY( mController->mOrientation == Qt::Horizontal ); 
  1082 
       
  1083     mController->mState = EPbStatePlaying;                
       
  1084 
  1078 
  1085     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
  1079     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
  1086     {
  1080     {
  1087         QVERIFY( mController->mControls[i]->mVisibilityState == mController->mState );    
  1081         QVERIFY( mController->mControls[i]->mVisibilityState == mController->mState );    
  1088     }
  1082     }
  1097     // clean up
  1091     // clean up
  1098     //
  1092     //
  1099     cleanup();      
  1093     cleanup();      
  1100 }
  1094 }
  1101 
  1095 
       
  1096 // -------------------------------------------------------------------------------------------------
       
  1097 // TestMPXVideoPlaybackControlsController::testslot_handleRNLogoVisibleChanged
       
  1098 // -------------------------------------------------------------------------------------------------
       
  1099 //
       
  1100 void TestMPXVideoPlaybackControlsController::testslot_handleRNLogoVisibleChanged()
       
  1101 {
       
  1102     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testslot_handleRNLogoVisibleChanged()") );
       
  1103         
       
  1104     //
       
  1105     // initialize controlscontroller
       
  1106     //
       
  1107     init();    
       
  1108         
       
  1109     //
       
  1110     // connect signal with controller handleRNLogoVisibleChanged() slot
       
  1111     //
       
  1112     bool res = connect( this, SIGNAL( commandSignal() ),
       
  1113                         mController, SLOT( handleRNLogoVisibleChanged() ) );
       
  1114     
       
  1115     //
       
  1116     // emit signal, this will in turns invoke mController handleRNLogoVisibleChanged() slot
       
  1117     //
       
  1118     emit commandSignal();     
       
  1119 
       
  1120     QVERIFY( mController->mRNLogoTimer->isActive() ); 
       
  1121     QVERIFY( mController->mRNLogoTimer->interval() == KMPXRNLogoTimeOut ); 
       
  1122 
       
  1123     //
       
  1124     // disconnect signal
       
  1125     //
       
  1126     disconnect( this, SIGNAL( commandSignal() ), 
       
  1127                 mController, SLOT( handleRNLogoVisibleChanged() ) );
       
  1128     
       
  1129     //
       
  1130     // clean up
       
  1131     //
       
  1132     cleanup();      
       
  1133 }
       
  1134 
       
  1135 // -------------------------------------------------------------------------------------------------
       
  1136 // TestMPXVideoPlaybackControlsController::testslot_handleRNLogoTimeout
       
  1137 // -------------------------------------------------------------------------------------------------
       
  1138 //
       
  1139 void TestMPXVideoPlaybackControlsController::testslot_handleRNLogoTimeout()
       
  1140 {
       
  1141     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testslot_handleRNLogoTimeout()") );
       
  1142         
       
  1143     //
       
  1144     // initialize controlscontroller
       
  1145     //
       
  1146     init();    
       
  1147 
       
  1148     if ( ! mController->mRNLogoTimer )
       
  1149     {
       
  1150         mController->mRNLogoTimer = new QTimer( mController );
       
  1151     }
       
  1152 
       
  1153     //
       
  1154     // connect signal with controller handleRNLogoTimeout() slot
       
  1155     //
       
  1156     bool res = connect( this, SIGNAL( commandSignal() ),
       
  1157                         mController, SLOT( handleRNLogoTimeout() ) );
       
  1158     
       
  1159     //
       
  1160     // emit signal, this will in turns invoke mController handleRNLogoTimeout() slot
       
  1161     //
       
  1162     emit commandSignal();     
       
  1163 
       
  1164     QVERIFY( ! mController->mRNLogoTimer->isActive() ); 
       
  1165     QVERIFY( mController->mControlsConfig->mState == KControlListsUpdated );                    
       
  1166     QVERIFY( mViewWrapper->mCommandId == EMPXPbvCmdRealOneBitmapTimeout ); 
       
  1167 
       
  1168     //
       
  1169     // disconnect signal
       
  1170     //
       
  1171     disconnect( this, SIGNAL( commandSignal() ), 
       
  1172                 mController, SLOT( handleRNLogoTimeout() ) );
       
  1173     
       
  1174     //
       
  1175     // clean up
       
  1176     //
       
  1177     cleanup();      
       
  1178 }
       
  1179 
       
  1180 // -------------------------------------------------------------------------------------------------
       
  1181 // TestMPXVideoPlaybackControlsController::testIsRNLogoBitmapVisible
       
  1182 // -------------------------------------------------------------------------------------------------
       
  1183 //
       
  1184 void TestMPXVideoPlaybackControlsController::testIsRNLogoBitmapVisible()
       
  1185 {
       
  1186     MPX_DEBUG(_L("TestMPXVideoPlaybackControlsController::testIsRNLogoBitmapVisible()"));  
       
  1187 
       
  1188     init();
       
  1189 
       
  1190     QVERIFY( mController->isRNLogoBitmapInControlList() );
       
  1191 
       
  1192     //
       
  1193     // Remove RN logo from the list
       
  1194     //
       
  1195     for ( int i = 0 ; i < mController->mControls.count() ; i++ )
       
  1196     {
       
  1197         if( mController->mControls[i]->mControlIndex == EMPXRealLogoBitmap )
       
  1198         {
       
  1199             mController->mControls.removeAt( i );
       
  1200         }
       
  1201     }
       
  1202 
       
  1203     QVERIFY( ! mController->isRNLogoBitmapInControlList() );
       
  1204 
       
  1205     cleanup();    
       
  1206 }
       
  1207 
  1102 // End of file
  1208 // End of file