videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackfiledetailswidget/src/testmpxvideoplaybackfiledetailswidget.cpp
changeset 15 cf5481c2bc0b
child 17 69946d1824c4
equal deleted inserted replaced
2:dec420019252 15:cf5481c2bc0b
       
     1 /**
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   tester for methods in TestMPXVideoPlaybackFileDetailsWidget
       
    15 * 
       
    16 */
       
    17 
       
    18 // Version : %version:  2 %
       
    19 
       
    20 
       
    21 #include <qdebug>
       
    22 #include <hbmainwindow.h>
       
    23 #include <hbapplication.h>
       
    24 #include <hblistwidget.h>
       
    25 #include <hblistwidgetitem.h>
       
    26 
       
    27 #include "mpxvideoplaybackviewfiledetails.h"
       
    28 #include "mpxvideoplaybackcontrolscontroller.h"
       
    29 #include "testmpxvideoplaybackfiledetailswidget.h"
       
    30 
       
    31 #define private public
       
    32 #include "mpxvideoplaybackfiledetailswidget.h"
       
    33 #undef private
       
    34 
       
    35 const QString KFILEPATH = "C:\\sample1.wav";
       
    36 
       
    37 
       
    38 // ---------------------------------------------------------------------------
       
    39 // main
       
    40 // ---------------------------------------------------------------------------
       
    41 //
       
    42 int main(int argc, char *argv[])
       
    43 {
       
    44     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::Main()"));
       
    45 
       
    46     HbApplication app(argc, argv);
       
    47     HbMainWindow window;
       
    48 
       
    49     TestMPXVideoPlaybackFileDetailsWidget tv;
       
    50 
       
    51     char *pass[3];
       
    52     pass[0] = argv[0];
       
    53     pass[1] = "-o";
       
    54     pass[2] = "c:\\data\\testmpxvideoplaybackfiledetailswidget.txt";
       
    55     
       
    56     int res = QTest::qExec(&tv, 3, pass);
       
    57     
       
    58     return res;
       
    59 }
       
    60 
       
    61 
       
    62 // ---------------------------------------------------------------------------
       
    63 // init
       
    64 // ---------------------------------------------------------------------------
       
    65 //
       
    66 void TestMPXVideoPlaybackFileDetailsWidget::init()
       
    67 {
       
    68     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::init()"));
       
    69 
       
    70     mController = new QMPXVideoPlaybackControlsController();   
       
    71     mWidget = new QMPXVideoPlaybackFileDetailsWidget( mController );
       
    72 }
       
    73 
       
    74 // ---------------------------------------------------------------------------
       
    75 // cleanup
       
    76 // ---------------------------------------------------------------------------
       
    77 //
       
    78 void TestMPXVideoPlaybackFileDetailsWidget::cleanup()
       
    79 {
       
    80     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::cleanup()"));
       
    81 
       
    82     if ( mController )
       
    83     {
       
    84         delete mController;
       
    85         mController = NULL;
       
    86     }
       
    87 
       
    88     if ( mWidget )
       
    89     {
       
    90         delete mWidget;
       
    91         mWidget = NULL;
       
    92     }
       
    93 }
       
    94 
       
    95 // ---------------------------------------------------------------------------
       
    96 // testTitle
       
    97 // ---------------------------------------------------------------------------
       
    98 //
       
    99 void TestMPXVideoPlaybackFileDetailsWidget::testTitle()
       
   100 {
       
   101     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testTitle()"));
       
   102 
       
   103     init();
       
   104 
       
   105     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   106 
       
   107     //
       
   108     // For Audio only view
       
   109     //
       
   110     mController->mViewMode = EAudioOnlyView;
       
   111 
       
   112     // If title information is available
       
   113     details->mTitle = "Title for Test clip";
       
   114     mWidget->updateWithFileDetails( details );
       
   115     verifyResult( "Title", true, details->mTitle );
       
   116 
       
   117     mWidget->mListWidget->clear();
       
   118     mWidget->mFileDetailsUpdated = false;
       
   119 
       
   120     // If title informatio is not available
       
   121     details->mTitle = "";
       
   122     details->mClipName = KFILEPATH;
       
   123 
       
   124     mWidget->updateWithFileDetails( details );
       
   125     verifyResult( "Title", true, "sample1" );
       
   126 
       
   127     mWidget->mListWidget->clear();
       
   128     mWidget->mFileDetailsUpdated = false;
       
   129 
       
   130     //
       
   131     // For Details view
       
   132     //
       
   133     mController->mViewMode = EFullScreenView;
       
   134 
       
   135     mWidget->updateWithFileDetails( details );
       
   136 
       
   137     verifyResult( "Title", false );
       
   138 
       
   139     cleanup();
       
   140 }
       
   141 
       
   142 // ---------------------------------------------------------------------------
       
   143 // testDescription
       
   144 // ---------------------------------------------------------------------------
       
   145 //
       
   146 void TestMPXVideoPlaybackFileDetailsWidget::testDescription()
       
   147 {
       
   148     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testDescription()"));
       
   149 
       
   150     init();
       
   151 
       
   152     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   153     details->mDescription = "This is for unit test";
       
   154     
       
   155     mWidget->updateWithFileDetails( details );
       
   156 
       
   157     verifyResult( "Description", true, details->mDescription );
       
   158 
       
   159     cleanup();
       
   160 }
       
   161 
       
   162 // ---------------------------------------------------------------------------
       
   163 // testDate
       
   164 // ---------------------------------------------------------------------------
       
   165 //
       
   166 void TestMPXVideoPlaybackFileDetailsWidget::testDuration()
       
   167 {
       
   168     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testDuration()"));
       
   169 
       
   170     init();
       
   171 
       
   172     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   173 
       
   174     //
       
   175     // If it's local mode, need to show the duration
       
   176     //
       
   177     details->mPlaybackMode = EMPXVideoLiveStreaming;
       
   178     details->mDuration = 3700000;
       
   179     
       
   180     mWidget->updateWithFileDetails( details );
       
   181 
       
   182     verifyResult( "Duration", "" );
       
   183 
       
   184     mWidget->mListWidget->clear();
       
   185     mWidget->mFileDetailsUpdated = false;
       
   186 
       
   187     //
       
   188     // If it's local mode, need to show the duration
       
   189     //
       
   190     details->mPlaybackMode = EMPXVideoLocal;
       
   191     details->mDuration = 3700000;
       
   192     
       
   193     mWidget->updateWithFileDetails( details );
       
   194 
       
   195     verifyResult( "Duration", true, "1 hr 1 min 40 sec " );
       
   196 
       
   197     cleanup();
       
   198 }
       
   199 
       
   200 // ---------------------------------------------------------------------------
       
   201 // testDate
       
   202 // ---------------------------------------------------------------------------
       
   203 //
       
   204 void TestMPXVideoPlaybackFileDetailsWidget::testDate()
       
   205 {
       
   206     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testDate()"));
       
   207 
       
   208     init();
       
   209 
       
   210     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   211 
       
   212     //
       
   213     // If it is streaming case, we don't show size information
       
   214     //
       
   215     details->mClipName = KFILEPATH;
       
   216     details->mPlaybackMode = EMPXVideoStreaming;
       
   217     mWidget->updateWithFileDetails( details );
       
   218 
       
   219     verifyResult( "Date", false );
       
   220     verifyResult( "Modified", false );
       
   221 
       
   222     mWidget->mListWidget->clear();
       
   223     mWidget->mFileDetailsUpdated = false;
       
   224 
       
   225     //
       
   226     // If it is local, we  show size information
       
   227     //
       
   228     details->mClipName = KFILEPATH;
       
   229     details->mPlaybackMode = EMPXVideoLocal;
       
   230     mWidget->updateWithFileDetails( details );
       
   231 
       
   232     verifyResult( "Date", true, "", false );
       
   233     verifyResult( "Modified", true, "", false );
       
   234 
       
   235     cleanup();
       
   236 }
       
   237 
       
   238 // ---------------------------------------------------------------------------
       
   239 // testLocation
       
   240 // ---------------------------------------------------------------------------
       
   241 //
       
   242 void TestMPXVideoPlaybackFileDetailsWidget::testLocation()
       
   243 {
       
   244     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testLocation()"));
       
   245 
       
   246     init();
       
   247 
       
   248     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   249     details->mLocation = "C:\\data\\Videos\\";
       
   250     
       
   251     mWidget->updateWithFileDetails( details );
       
   252 
       
   253     verifyResult( "Location", true, details->mLocation );
       
   254 
       
   255     cleanup();
       
   256 }
       
   257 
       
   258 // ---------------------------------------------------------------------------
       
   259 // testAuthor
       
   260 // ---------------------------------------------------------------------------
       
   261 //
       
   262 void TestMPXVideoPlaybackFileDetailsWidget::testAuthor()
       
   263 {
       
   264     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testAuthor()"));
       
   265 
       
   266     init();
       
   267 
       
   268     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   269     details->mArtist = "Fusion";
       
   270     
       
   271     mWidget->updateWithFileDetails( details );
       
   272 
       
   273     verifyResult( "Author", true, details->mArtist );
       
   274 
       
   275     cleanup();
       
   276 }
       
   277 
       
   278 // ---------------------------------------------------------------------------
       
   279 // testCopyright
       
   280 // ---------------------------------------------------------------------------
       
   281 //
       
   282 void TestMPXVideoPlaybackFileDetailsWidget::testCopyright()
       
   283 {
       
   284     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testCopyright()"));
       
   285 
       
   286     init();
       
   287 
       
   288     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   289     details->mCopyright = "Fusion team";
       
   290     
       
   291     mWidget->updateWithFileDetails( details );
       
   292 
       
   293     verifyResult( "Copyright", true, details->mCopyright );
       
   294 
       
   295     cleanup();
       
   296 }
       
   297 
       
   298 // ---------------------------------------------------------------------------
       
   299 // testLanguage
       
   300 // ---------------------------------------------------------------------------
       
   301 //
       
   302 void TestMPXVideoPlaybackFileDetailsWidget::testLanguage()
       
   303 {
       
   304     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testLanguage()"));
       
   305 
       
   306     init();
       
   307 
       
   308     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   309     details->mLanguage = "English";
       
   310     
       
   311     mWidget->updateWithFileDetails( details );
       
   312 
       
   313     verifyResult( "Language", true, details->mLanguage );
       
   314 
       
   315     cleanup();
       
   316 }
       
   317 
       
   318 // ---------------------------------------------------------------------------
       
   319 // testKeywords
       
   320 // ---------------------------------------------------------------------------
       
   321 //
       
   322 void TestMPXVideoPlaybackFileDetailsWidget::testKeywords()
       
   323 {
       
   324     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testKeywords()"));
       
   325 
       
   326     init();
       
   327 
       
   328     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   329     details->mKeywords = "QTest";
       
   330     
       
   331     mWidget->updateWithFileDetails( details );
       
   332 
       
   333     verifyResult( "Keywords", true, details->mKeywords );
       
   334 
       
   335     cleanup();
       
   336 }
       
   337 
       
   338 // ---------------------------------------------------------------------------
       
   339 // testSize
       
   340 // ---------------------------------------------------------------------------
       
   341 //
       
   342 void TestMPXVideoPlaybackFileDetailsWidget::testSize()
       
   343 {
       
   344     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testSize()"));
       
   345 
       
   346     init();
       
   347 
       
   348     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   349 
       
   350     //
       
   351     // If it is streaming case, we don't show size information
       
   352     //
       
   353     details->mPlaybackMode = EMPXVideoStreaming;
       
   354     details->mClipName = KFILEPATH;
       
   355 
       
   356     mWidget->updateWithFileDetails( details );
       
   357 
       
   358     verifyResult( "Size", false );
       
   359 
       
   360     mWidget->mListWidget->clear();
       
   361     mWidget->mFileDetailsUpdated = false;
       
   362 
       
   363     //
       
   364     // If it is local, we show size information
       
   365     //
       
   366     details->mPlaybackMode = EMPXVideoLocal;
       
   367     mWidget->updateWithFileDetails( details );
       
   368     
       
   369     verifyResult( "Size", true, "", false );
       
   370 
       
   371     cleanup();
       
   372 }
       
   373 
       
   374 // ---------------------------------------------------------------------------
       
   375 // testResolution
       
   376 // ---------------------------------------------------------------------------
       
   377 //
       
   378 void TestMPXVideoPlaybackFileDetailsWidget::testResolution()
       
   379 {
       
   380     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testResolution()"));
       
   381 
       
   382     init();
       
   383 
       
   384     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   385 
       
   386     //
       
   387     // If it is audio only clip, don't need to show resolution
       
   388     //
       
   389     details->mVideoEnabled = false;
       
   390     
       
   391     mWidget->updateWithFileDetails( details );
       
   392 
       
   393     verifyResult( "Resolution", false );
       
   394 
       
   395     mWidget->mListWidget->clear();
       
   396     mWidget->mFileDetailsUpdated = false;
       
   397 
       
   398     //
       
   399     // If it has video track
       
   400     //
       
   401     details->mVideoEnabled = true;
       
   402     details->mVideoWidth = 640;
       
   403     details->mVideoHeight = 360;
       
   404 
       
   405     mWidget->updateWithFileDetails( details );
       
   406 
       
   407     QString resolution = QString("%1 x %2")
       
   408             .arg( details->mVideoWidth ).arg( details->mVideoHeight );
       
   409 
       
   410     verifyResult( "Resolution", true, resolution );
       
   411 
       
   412     cleanup();
       
   413 }
       
   414 
       
   415 // ---------------------------------------------------------------------------
       
   416 // testFormat
       
   417 // ---------------------------------------------------------------------------
       
   418 //
       
   419 void TestMPXVideoPlaybackFileDetailsWidget::testFormat()
       
   420 {
       
   421     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testFormat()"));
       
   422 
       
   423     init();
       
   424 
       
   425     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   426     details->mMimeType = "Nothing";
       
   427     
       
   428     mWidget->updateWithFileDetails( details );
       
   429 
       
   430     verifyResult( "Format", true, details->mMimeType );
       
   431 
       
   432     cleanup();
       
   433 }
       
   434 
       
   435 // ---------------------------------------------------------------------------
       
   436 // testBitrate
       
   437 // ---------------------------------------------------------------------------
       
   438 //
       
   439 void TestMPXVideoPlaybackFileDetailsWidget::testBitrate()
       
   440 {
       
   441     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testBitrate()"));
       
   442 
       
   443 
       
   444     init();
       
   445 
       
   446     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   447     details->mBitRate = 1024;
       
   448     
       
   449     mWidget->updateWithFileDetails( details );
       
   450 
       
   451     verifyResult( "Bitrate", true, "1024 Kbps" );
       
   452 
       
   453     cleanup();
       
   454 }
       
   455 
       
   456 // ---------------------------------------------------------------------------
       
   457 // testFolder
       
   458 // ---------------------------------------------------------------------------
       
   459 //
       
   460 void TestMPXVideoPlaybackFileDetailsWidget::testFolder()
       
   461 {
       
   462     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackFileDetailsWidget::testFolder()"));
       
   463 
       
   464     init();
       
   465 
       
   466     QMPXVideoPlaybackViewFileDetails *details = mController->fileDetails();
       
   467 
       
   468     //
       
   469     // If it is streaming case, we don't show folder information
       
   470     //
       
   471     details->mPlaybackMode = EMPXVideoStreaming;
       
   472     details->mClipName = KFILEPATH;
       
   473     
       
   474     mWidget->updateWithFileDetails( details );
       
   475 
       
   476     verifyResult( "Collection", false );
       
   477 
       
   478     mWidget->mListWidget->clear();
       
   479     mWidget->mFileDetailsUpdated = false;
       
   480 
       
   481     //
       
   482     // If it is local case, we show folder information
       
   483     //
       
   484     details->mPlaybackMode = EMPXVideoLocal;
       
   485 
       
   486     mWidget->updateWithFileDetails( details );
       
   487 
       
   488     verifyResult( "Collection", false );
       
   489 
       
   490     cleanup();
       
   491 
       
   492 }
       
   493 
       
   494 // ---------------------------------------------------------------------------
       
   495 // verifyResult
       
   496 // ---------------------------------------------------------------------------
       
   497 //
       
   498 void TestMPXVideoPlaybackFileDetailsWidget::verifyResult( 
       
   499         QString primaryText, bool exist, QString expectedSecondaryText, bool needToBeCompared )
       
   500 {
       
   501     QString secondaryText = "";
       
   502     int i = 0;
       
   503 
       
   504     for( ; i < mWidget->mListWidget->count() ; i++ )
       
   505     {
       
   506         HbListWidgetItem *item = mWidget->mListWidget->item( i );
       
   507 
       
   508         if ( item->text() == primaryText )
       
   509         {
       
   510             secondaryText = item->secondaryText();
       
   511             break;
       
   512         }
       
   513     }
       
   514 
       
   515     //
       
   516     // If the item needs to be existed in HbListWidget, check the result
       
   517     //
       
   518     if ( exist )
       
   519     {
       
   520         if ( needToBeCompared )
       
   521         {
       
   522             QVERIFY( expectedSecondaryText == secondaryText );
       
   523         }
       
   524         else
       
   525         {
       
   526             //
       
   527             // Doens't need to compare the secondary text. Just make sure it's in the list
       
   528             //
       
   529             QVERIFY( i < mWidget->mListWidget->count() );
       
   530         }
       
   531 
       
   532     }
       
   533     //
       
   534     // If not, just make sure that item is not in the list
       
   535     //
       
   536     else
       
   537     {
       
   538         QVERIFY( i == mWidget->mListWidget->count() );
       
   539     }
       
   540 }
       
   541 
       
   542 // End of file