videoplayback/videoplaybackview/tsrc/testvideoplaybackview/src/testvideoplaybackview.cpp
author hgs
Thu, 08 Jul 2010 13:05:19 +0300
changeset 44 518105d52e45
child 50 21fe8338c6bf
permissions -rw-r--r--
201027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
hgs
parents:
diff changeset
     1
/**
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:   tester for methods in VideoSortFilterProxyModel
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// Version : %version: 13 %
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include <e32err.h>
hgs
parents:
diff changeset
    21
#include <w32std.h>
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <mmf/common/mmferrors.h>
hgs
parents:
diff changeset
    24
#include <caf/caferr.h>
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
#include <mpxvideoplaybackdefs.h>
hgs
parents:
diff changeset
    27
#include <mpxhbvideocommondefs.h>
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#include <hbapplication.h>
hgs
parents:
diff changeset
    30
#include <hbinstance.h>
hgs
parents:
diff changeset
    31
#include <qgraphicssceneevent>
hgs
parents:
diff changeset
    32
#include <QDebug>
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
#include "videoplaybackviewfiledetails.h"
hgs
parents:
diff changeset
    35
#include "mpxcommonvideoplaybackview.hrh"
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
#include "testvideoplaybackview.h"
hgs
parents:
diff changeset
    38
#include "mpxvideoviewwrapper.h"
hgs
parents:
diff changeset
    39
#include "hbtapgesture.h"
hgs
parents:
diff changeset
    40
#include "hbpangesture.h"
hgs
parents:
diff changeset
    41
#include "videoactivitystate.h"
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
#define private public
hgs
parents:
diff changeset
    44
#define protected public
hgs
parents:
diff changeset
    45
#include "videoplaybackview.h"
hgs
parents:
diff changeset
    46
#include "videobaseplaybackview.h"
hgs
parents:
diff changeset
    47
#undef protected
hgs
parents:
diff changeset
    48
#undef private
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    52
// main
hgs
parents:
diff changeset
    53
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    54
//
hgs
parents:
diff changeset
    55
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    56
{
hgs
parents:
diff changeset
    57
    HbApplication app(argc, argv);
hgs
parents:
diff changeset
    58
    HbMainWindow window;
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
    TestVideoPlaybackView tv;
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
    char *pass[3];
hgs
parents:
diff changeset
    63
    pass[0] = argv[0];
hgs
parents:
diff changeset
    64
    pass[1] = "-o";
hgs
parents:
diff changeset
    65
    pass[2] = "c:\\data\\testvideoplaybackview.txt";
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
    int res = QTest::qExec(&tv, 3, pass);
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
    return res;
hgs
parents:
diff changeset
    70
}
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    73
// init
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
//
hgs
parents:
diff changeset
    76
void TestVideoPlaybackView::init()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
    mVideoView = new VideoPlaybackView();
hgs
parents:
diff changeset
    79
}
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    82
// cleanup
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    84
//
hgs
parents:
diff changeset
    85
void TestVideoPlaybackView::cleanup()
hgs
parents:
diff changeset
    86
{
hgs
parents:
diff changeset
    87
    delete mVideoView;
hgs
parents:
diff changeset
    88
    mVideoView = NULL;
hgs
parents:
diff changeset
    89
}
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
// setup
hgs
parents:
diff changeset
    93
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    94
//
hgs
parents:
diff changeset
    95
void TestVideoPlaybackView::setup()
hgs
parents:
diff changeset
    96
{
hgs
parents:
diff changeset
    97
    init();
hgs
parents:
diff changeset
    98
    mVideoView->handleActivateView();
hgs
parents:
diff changeset
    99
}
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
//   TestVideoPlaybackView::testHandleActivateView()
hgs
parents:
diff changeset
   103
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   104
//
hgs
parents:
diff changeset
   105
void TestVideoPlaybackView::testHandleActivateView()
hgs
parents:
diff changeset
   106
{
hgs
parents:
diff changeset
   107
    init();
hgs
parents:
diff changeset
   108
    mVideoView->handleActivateView();
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
    QVERIFY( mVideoView->mVideoMpxWrapper->iMediaRequested == true );
hgs
parents:
diff changeset
   111
    QCOMPARE( mVideoView->mVideoMpxWrapper->iFileDetails->mBitRate, 16000 );
hgs
parents:
diff changeset
   112
    QCOMPARE( mVideoView->mVideoMpxWrapper->iFileDetails->mTitle, QString("Test Video Title") );
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
    cleanup();
hgs
parents:
diff changeset
   115
}
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   118
//   TestVideoPlaybackView::testHandlePluginError()
hgs
parents:
diff changeset
   119
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   120
//
hgs
parents:
diff changeset
   121
void TestVideoPlaybackView::testHandlePluginError()
hgs
parents:
diff changeset
   122
{
hgs
parents:
diff changeset
   123
    //
hgs
parents:
diff changeset
   124
    // playback view is closed after displaying these error notes
hgs
parents:
diff changeset
   125
    //
hgs
parents:
diff changeset
   126
    verifyHandlePluginError( KErrNotSupported );
hgs
parents:
diff changeset
   127
    verifyHandlePluginError( KErrUnknown );
hgs
parents:
diff changeset
   128
    verifyHandlePluginError( KErrMMDecoder );
hgs
parents:
diff changeset
   129
    verifyHandlePluginError( KErrCorrupt );
hgs
parents:
diff changeset
   130
    verifyHandlePluginError( KErrTooBig );
hgs
parents:
diff changeset
   131
    verifyHandlePluginError( KErrMMInvalidProtocol );
hgs
parents:
diff changeset
   132
    verifyHandlePluginError( KErrMMInvalidURL );
hgs
parents:
diff changeset
   133
    verifyHandlePluginError( KErrArgument );
hgs
parents:
diff changeset
   134
    verifyHandlePluginError( KErrSessionClosed );
hgs
parents:
diff changeset
   135
    verifyHandlePluginError( KErrTimedOut );
hgs
parents:
diff changeset
   136
    verifyHandlePluginError( KErrNotFound );
hgs
parents:
diff changeset
   137
    verifyHandlePluginError( KErrMMNotEnoughBandwidth );
hgs
parents:
diff changeset
   138
    verifyHandlePluginError( KErrDisconnected );
hgs
parents:
diff changeset
   139
    verifyHandlePluginError( KErrMMProxyServer );
hgs
parents:
diff changeset
   140
    verifyHandlePluginError( KErrCouldNotConnect );
hgs
parents:
diff changeset
   141
    verifyHandlePluginError( KErrAbort );
hgs
parents:
diff changeset
   142
    verifyHandlePluginError( KErrCancel );
hgs
parents:
diff changeset
   143
    verifyHandlePluginError( KErrMMDRMNotAuthorized );
hgs
parents:
diff changeset
   144
    verifyHandlePluginError( KErrCANoRights );
hgs
parents:
diff changeset
   145
    verifyHandlePluginError( KErrCANoPermission );
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
    //
hgs
parents:
diff changeset
   148
    // playback view remains open after displaying these error notes
hgs
parents:
diff changeset
   149
    //
hgs
parents:
diff changeset
   150
    verifyHandlePluginError( KMPXVideoCallOngoingError, false );
hgs
parents:
diff changeset
   151
    verifyHandlePluginError( KMPXVideoPlayOver2GDuringVoiceCallError, false );
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
    //
hgs
parents:
diff changeset
   154
    // default error case, playback view is closed after displaying error note
hgs
parents:
diff changeset
   155
    //
hgs
parents:
diff changeset
   156
    verifyHandlePluginError( KErrGeneral );
hgs
parents:
diff changeset
   157
}
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   160
//   TestVideoPlaybackView::testShowDialog()
hgs
parents:
diff changeset
   161
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   162
//
hgs
parents:
diff changeset
   163
void TestVideoPlaybackView::testShowDialog()
hgs
parents:
diff changeset
   164
{
hgs
parents:
diff changeset
   165
    //
hgs
parents:
diff changeset
   166
    // construct and activate playback view
hgs
parents:
diff changeset
   167
    //
hgs
parents:
diff changeset
   168
    setup();
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
    //
hgs
parents:
diff changeset
   171
    // ensure that playback view is currently activated
hgs
parents:
diff changeset
   172
    //
hgs
parents:
diff changeset
   173
    QVERIFY( ! mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
    //
hgs
parents:
diff changeset
   176
    // test showDialog() method
hgs
parents:
diff changeset
   177
    //
hgs
parents:
diff changeset
   178
    mVideoView->showDialog( "test error msg" );
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
    //
hgs
parents:
diff changeset
   181
    // connect and emit signal for handleClosePopupDialog() slot
hgs
parents:
diff changeset
   182
    //
hgs
parents:
diff changeset
   183
    connect( this, SIGNAL( commandSignal() ), mVideoView, SLOT( handleClosePopupDialog() ) );
hgs
parents:
diff changeset
   184
    emit commandSignal();
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
    //
hgs
parents:
diff changeset
   187
    // verify that playback view is properly closed
hgs
parents:
diff changeset
   188
    //
hgs
parents:
diff changeset
   189
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
    //
hgs
parents:
diff changeset
   192
    // disconnect signal for handleClosePopupDialog() slot
hgs
parents:
diff changeset
   193
    //
hgs
parents:
diff changeset
   194
    disconnect( this, SIGNAL( commandSignal() ), mVideoView, SLOT( handleClosePopupDialog() ) );
hgs
parents:
diff changeset
   195
hgs
parents:
diff changeset
   196
    //
hgs
parents:
diff changeset
   197
    // destruct playback view
hgs
parents:
diff changeset
   198
    //
hgs
parents:
diff changeset
   199
    cleanup();
hgs
parents:
diff changeset
   200
}
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   203
//   TestVideoPlaybackView::testGetWindow()
hgs
parents:
diff changeset
   204
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   205
//
hgs
parents:
diff changeset
   206
void TestVideoPlaybackView::testGetWindow()
hgs
parents:
diff changeset
   207
{
hgs
parents:
diff changeset
   208
    setup();
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
    QVERIFY( mVideoView->getWindow() != NULL );
hgs
parents:
diff changeset
   211
hgs
parents:
diff changeset
   212
    cleanup();
hgs
parents:
diff changeset
   213
}
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   216
//   TestVideoPlaybackView::testIssuePlayCommand()
hgs
parents:
diff changeset
   217
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   218
//
hgs
parents:
diff changeset
   219
void TestVideoPlaybackView::testIssuePlayCommand()
hgs
parents:
diff changeset
   220
{
hgs
parents:
diff changeset
   221
    setup();
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
    mVideoView->issuePlayCommand();
hgs
parents:
diff changeset
   224
hgs
parents:
diff changeset
   225
    //JAM remove
hgs
parents:
diff changeset
   226
    QVERIFY( mVideoView->isEnabled() );
hgs
parents:
diff changeset
   227
hgs
parents:
diff changeset
   228
    cleanup();
hgs
parents:
diff changeset
   229
}
hgs
parents:
diff changeset
   230
hgs
parents:
diff changeset
   231
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   232
//   TestVideoPlaybackView::testEventFilter()
hgs
parents:
diff changeset
   233
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   234
//
hgs
parents:
diff changeset
   235
void TestVideoPlaybackView::testEventFilter()
hgs
parents:
diff changeset
   236
{
hgs
parents:
diff changeset
   237
    setup();
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
    //
hgs
parents:
diff changeset
   240
    // ensure default foreground is false
hgs
parents:
diff changeset
   241
    //
hgs
parents:
diff changeset
   242
    QCOMPARE( mVideoView->mVideoMpxWrapper->iForeground, 0 );
hgs
parents:
diff changeset
   243
hgs
parents:
diff changeset
   244
    //
hgs
parents:
diff changeset
   245
    // declare foreground/background event
hgs
parents:
diff changeset
   246
    //
hgs
parents:
diff changeset
   247
    QEvent* appActivate   = new QEvent( QEvent::ApplicationActivate );
hgs
parents:
diff changeset
   248
    QEvent* appDeactivate = new QEvent( QEvent::ApplicationDeactivate );
hgs
parents:
diff changeset
   249
hgs
parents:
diff changeset
   250
    //
hgs
parents:
diff changeset
   251
    // verify the returned value (consumed) of VideoBasePlaybackView::event()
hgs
parents:
diff changeset
   252
    // for QEvent::ApplicationActivate is false
hgs
parents:
diff changeset
   253
    //
hgs
parents:
diff changeset
   254
    QVERIFY( ! mVideoView->eventFilter( NULL, appActivate ) );
hgs
parents:
diff changeset
   255
hgs
parents:
diff changeset
   256
    //
hgs
parents:
diff changeset
   257
    // verify view is in foreground
hgs
parents:
diff changeset
   258
    //
hgs
parents:
diff changeset
   259
    QCOMPARE( mVideoView->mVideoMpxWrapper->iForeground, 1 );
hgs
parents:
diff changeset
   260
hgs
parents:
diff changeset
   261
    //
hgs
parents:
diff changeset
   262
    // verify the returned value (consumed) of VideoBasePlaybackView::event()
hgs
parents:
diff changeset
   263
    // for QEvent::ApplicationDeactivate is false
hgs
parents:
diff changeset
   264
    //
hgs
parents:
diff changeset
   265
    QVERIFY( ! mVideoView->eventFilter( NULL, appDeactivate ) );
hgs
parents:
diff changeset
   266
hgs
parents:
diff changeset
   267
    //
hgs
parents:
diff changeset
   268
    // verify view is in background
hgs
parents:
diff changeset
   269
    //
hgs
parents:
diff changeset
   270
    QCOMPARE( mVideoView->mVideoMpxWrapper->iForeground, 0 );
hgs
parents:
diff changeset
   271
hgs
parents:
diff changeset
   272
    //
hgs
parents:
diff changeset
   273
    // clean up
hgs
parents:
diff changeset
   274
    //
hgs
parents:
diff changeset
   275
    if ( appActivate )
hgs
parents:
diff changeset
   276
    {
hgs
parents:
diff changeset
   277
        delete appActivate;
hgs
parents:
diff changeset
   278
        appActivate = NULL;
hgs
parents:
diff changeset
   279
    }
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
    if ( appDeactivate )
hgs
parents:
diff changeset
   282
    {
hgs
parents:
diff changeset
   283
        delete appDeactivate;
hgs
parents:
diff changeset
   284
        appDeactivate = NULL;
hgs
parents:
diff changeset
   285
    }
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
    cleanup();
hgs
parents:
diff changeset
   288
}
hgs
parents:
diff changeset
   289
hgs
parents:
diff changeset
   290
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   291
//   TestVideoPlaybackView::testClosePlaybackView()
hgs
parents:
diff changeset
   292
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   293
//
hgs
parents:
diff changeset
   294
void TestVideoPlaybackView::testClosePlaybackView()
hgs
parents:
diff changeset
   295
{
hgs
parents:
diff changeset
   296
    setup();
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
    QVERIFY( ! mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   299
hgs
parents:
diff changeset
   300
    mVideoView->closePlaybackView();
hgs
parents:
diff changeset
   301
hgs
parents:
diff changeset
   302
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
    cleanup();
hgs
parents:
diff changeset
   305
}
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   308
//   TestVideoPlaybackView::testHandlePdlStateChange()
hgs
parents:
diff changeset
   309
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   310
//
hgs
parents:
diff changeset
   311
void TestVideoPlaybackView::testHandlePdlStateChange()
hgs
parents:
diff changeset
   312
{
hgs
parents:
diff changeset
   313
    setup();
hgs
parents:
diff changeset
   314
hgs
parents:
diff changeset
   315
    QCOMPARE( mVideoView->mVideoMpxWrapper->iFileDetails->mClipName, QString("testClip.3gp") );
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
    mVideoView->handlePdlStateChange( 0 );
hgs
parents:
diff changeset
   318
hgs
parents:
diff changeset
   319
    QCOMPARE( mVideoView->mVideoMpxWrapper->iFileDetails->mClipName, QString("testClip.3gp") );
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
    cleanup();
hgs
parents:
diff changeset
   322
}
hgs
parents:
diff changeset
   323
hgs
parents:
diff changeset
   324
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   325
//   TestVideoPlaybackView::testHandleStoppedStateNoPrevView()
hgs
parents:
diff changeset
   326
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   327
//
hgs
parents:
diff changeset
   328
void TestVideoPlaybackView::testHandleStoppedStateNoPrevView()
hgs
parents:
diff changeset
   329
{
hgs
parents:
diff changeset
   330
    setup();
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
    QVERIFY( ! mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   333
    mVideoView->handleStoppedState();
hgs
parents:
diff changeset
   334
hgs
parents:
diff changeset
   335
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
    cleanup();
hgs
parents:
diff changeset
   338
}
hgs
parents:
diff changeset
   339
hgs
parents:
diff changeset
   340
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   341
//   TestVideoPlaybackView::testHandleStoppedStatePrevView()
hgs
parents:
diff changeset
   342
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   343
//
hgs
parents:
diff changeset
   344
void TestVideoPlaybackView::testHandleStoppedStatePrevView()
hgs
parents:
diff changeset
   345
{
hgs
parents:
diff changeset
   346
    setup();
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
    mVideoView->handleStoppedState();
hgs
parents:
diff changeset
   349
hgs
parents:
diff changeset
   350
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   351
hgs
parents:
diff changeset
   352
    cleanup();
hgs
parents:
diff changeset
   353
hgs
parents:
diff changeset
   354
}
hgs
parents:
diff changeset
   355
hgs
parents:
diff changeset
   356
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   357
//   TestVideoPlaybackView::testHandleBackNoPrevView()
hgs
parents:
diff changeset
   358
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   359
//
hgs
parents:
diff changeset
   360
void TestVideoPlaybackView::testHandleBackNoPrevView()
hgs
parents:
diff changeset
   361
{
hgs
parents:
diff changeset
   362
    setup();
hgs
parents:
diff changeset
   363
hgs
parents:
diff changeset
   364
    QVERIFY( ! mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   365
    mVideoView->handleBack();
hgs
parents:
diff changeset
   366
hgs
parents:
diff changeset
   367
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   368
hgs
parents:
diff changeset
   369
    cleanup();
hgs
parents:
diff changeset
   370
hgs
parents:
diff changeset
   371
}
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   374
//   TestVideoPlaybackView::testHandleBackPrevView()
hgs
parents:
diff changeset
   375
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   376
//
hgs
parents:
diff changeset
   377
void TestVideoPlaybackView::testHandleBackPrevView()
hgs
parents:
diff changeset
   378
{
hgs
parents:
diff changeset
   379
    setup();
hgs
parents:
diff changeset
   380
hgs
parents:
diff changeset
   381
    mVideoView->handleBack();
hgs
parents:
diff changeset
   382
hgs
parents:
diff changeset
   383
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
    cleanup();
hgs
parents:
diff changeset
   386
}
hgs
parents:
diff changeset
   387
hgs
parents:
diff changeset
   388
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   389
//   TestVideoPlaybackView::testHandleSoftkeyback()
hgs
parents:
diff changeset
   390
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   391
//
hgs
parents:
diff changeset
   392
void TestVideoPlaybackView::testHandleSoftkeyback()
hgs
parents:
diff changeset
   393
{
hgs
parents:
diff changeset
   394
    setup();
hgs
parents:
diff changeset
   395
hgs
parents:
diff changeset
   396
    mVideoView->handleSoftkeyBack();
hgs
parents:
diff changeset
   397
hgs
parents:
diff changeset
   398
    QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   399
hgs
parents:
diff changeset
   400
    cleanup();
hgs
parents:
diff changeset
   401
}
hgs
parents:
diff changeset
   402
hgs
parents:
diff changeset
   403
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   404
//   TestVideoPlaybackView::testDoClosePlayer()
hgs
parents:
diff changeset
   405
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   406
//
hgs
parents:
diff changeset
   407
void TestVideoPlaybackView::testDoClosePlayer()
hgs
parents:
diff changeset
   408
{
hgs
parents:
diff changeset
   409
    // quits app - which can be problematic for the qvptestrunner app
hgs
parents:
diff changeset
   410
hgs
parents:
diff changeset
   411
//    setup();
hgs
parents:
diff changeset
   412
//
hgs
parents:
diff changeset
   413
//    mVideoView->handleActivateView();
hgs
parents:
diff changeset
   414
//
hgs
parents:
diff changeset
   415
//    mVideoView->doClosePlayer();
hgs
parents:
diff changeset
   416
//
hgs
parents:
diff changeset
   417
//    cleanup();
hgs
parents:
diff changeset
   418
hgs
parents:
diff changeset
   419
}
hgs
parents:
diff changeset
   420
hgs
parents:
diff changeset
   421
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   422
//   TestVideoPlaybackView::testHandleDeactivateView()
hgs
parents:
diff changeset
   423
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   424
//
hgs
parents:
diff changeset
   425
void TestVideoPlaybackView::testHandleDeactivateView()
hgs
parents:
diff changeset
   426
{
hgs
parents:
diff changeset
   427
    setup();
hgs
parents:
diff changeset
   428
hgs
parents:
diff changeset
   429
    mVideoView->handleDeactivateView();
hgs
parents:
diff changeset
   430
hgs
parents:
diff changeset
   431
    QVERIFY( mVideoView->mVideoMpxWrapper == NULL );
hgs
parents:
diff changeset
   432
hgs
parents:
diff changeset
   433
    cleanup();
hgs
parents:
diff changeset
   434
}
hgs
parents:
diff changeset
   435
hgs
parents:
diff changeset
   436
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   437
//   TestVideoPlaybackView::verifyHandlePluginError()
hgs
parents:
diff changeset
   438
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   439
//
hgs
parents:
diff changeset
   440
void TestVideoPlaybackView::verifyHandlePluginError( TInt error, bool closeView )
hgs
parents:
diff changeset
   441
{
hgs
parents:
diff changeset
   442
    //
hgs
parents:
diff changeset
   443
    // construct and activate playback view
hgs
parents:
diff changeset
   444
    //
hgs
parents:
diff changeset
   445
    setup();
hgs
parents:
diff changeset
   446
hgs
parents:
diff changeset
   447
    //
hgs
parents:
diff changeset
   448
    // ensure that playback view is currently open
hgs
parents:
diff changeset
   449
    //
hgs
parents:
diff changeset
   450
    QVERIFY( ! mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   451
hgs
parents:
diff changeset
   452
    //
hgs
parents:
diff changeset
   453
    // test handlePluginError() method
hgs
parents:
diff changeset
   454
    //
hgs
parents:
diff changeset
   455
    mVideoView->handlePluginError( error );
hgs
parents:
diff changeset
   456
hgs
parents:
diff changeset
   457
    //
hgs
parents:
diff changeset
   458
    // close playback view after error note has been launched
hgs
parents:
diff changeset
   459
    //
hgs
parents:
diff changeset
   460
    if ( closeView )
hgs
parents:
diff changeset
   461
    {
hgs
parents:
diff changeset
   462
        //
hgs
parents:
diff changeset
   463
        // connect and emit signal for handleClosePopupDialog() slot
hgs
parents:
diff changeset
   464
        //
hgs
parents:
diff changeset
   465
        connect( this, SIGNAL( commandSignal() ), mVideoView, SLOT( handleClosePopupDialog() ) );
hgs
parents:
diff changeset
   466
        emit commandSignal();
hgs
parents:
diff changeset
   467
hgs
parents:
diff changeset
   468
        //
hgs
parents:
diff changeset
   469
        // verify that playback view is properly closed
hgs
parents:
diff changeset
   470
        //
hgs
parents:
diff changeset
   471
        QVERIFY( mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   472
hgs
parents:
diff changeset
   473
        //
hgs
parents:
diff changeset
   474
        // disconnect signal for handleClosePopupDialog() slot
hgs
parents:
diff changeset
   475
        //
hgs
parents:
diff changeset
   476
        disconnect( this, SIGNAL( commandSignal() ), mVideoView, SLOT( handleClosePopupDialog() ) );
hgs
parents:
diff changeset
   477
    }
hgs
parents:
diff changeset
   478
    else
hgs
parents:
diff changeset
   479
    {
hgs
parents:
diff changeset
   480
        //
hgs
parents:
diff changeset
   481
        // verify that playback view is still open after error note has been launched
hgs
parents:
diff changeset
   482
        //
hgs
parents:
diff changeset
   483
        QVERIFY( ! mVideoView->mTimerForClosingView->isActive() );
hgs
parents:
diff changeset
   484
    }
hgs
parents:
diff changeset
   485
hgs
parents:
diff changeset
   486
    //
hgs
parents:
diff changeset
   487
    // destruct playback view
hgs
parents:
diff changeset
   488
    //
hgs
parents:
diff changeset
   489
    cleanup();
hgs
parents:
diff changeset
   490
}
hgs
parents:
diff changeset
   491
hgs
parents:
diff changeset
   492
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   493
//   TestVideoPlaybackView::testGestureEvent()
hgs
parents:
diff changeset
   494
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   495
//
hgs
parents:
diff changeset
   496
void TestVideoPlaybackView::testGestureEvent()
hgs
parents:
diff changeset
   497
{
hgs
parents:
diff changeset
   498
    setup();
hgs
parents:
diff changeset
   499
hgs
parents:
diff changeset
   500
    //
hgs
parents:
diff changeset
   501
    // 1. Test tap gesture
hgs
parents:
diff changeset
   502
    //
hgs
parents:
diff changeset
   503
    QList<QGesture *> list;
hgs
parents:
diff changeset
   504
    HbTapGesture *tapGesture = new HbTapGesture();
hgs
parents:
diff changeset
   505
    list.append( tapGesture );
hgs
parents:
diff changeset
   506
    QGestureEvent* event = new QGestureEvent( list );
hgs
parents:
diff changeset
   507
hgs
parents:
diff changeset
   508
    //
hgs
parents:
diff changeset
   509
    // connect to tappedOnScreen() signal and record its emission
hgs
parents:
diff changeset
   510
    //
hgs
parents:
diff changeset
   511
    QSignalSpy spy( mVideoView, SIGNAL( tappedOnScreen() ) );
hgs
parents:
diff changeset
   512
hgs
parents:
diff changeset
   513
    //
hgs
parents:
diff changeset
   514
    // ensure signal has not been emitted yet
hgs
parents:
diff changeset
   515
    //
hgs
parents:
diff changeset
   516
    QCOMPARE( spy.count(), 0 );
hgs
parents:
diff changeset
   517
hgs
parents:
diff changeset
   518
    //
hgs
parents:
diff changeset
   519
    // With GestureStarted
hgs
parents:
diff changeset
   520
    //
hgs
parents:
diff changeset
   521
    tapGesture->mState = Qt::GestureStarted;
hgs
parents:
diff changeset
   522
    mVideoView->gestureEvent( event );
hgs
parents:
diff changeset
   523
hgs
parents:
diff changeset
   524
    //
hgs
parents:
diff changeset
   525
    // ensure signal hasn't been emitted and its emission count is not incremented
hgs
parents:
diff changeset
   526
    //
hgs
parents:
diff changeset
   527
    QCOMPARE( spy.count(), 0 );
hgs
parents:
diff changeset
   528
hgs
parents:
diff changeset
   529
    //
hgs
parents:
diff changeset
   530
    // With GestureFinished
hgs
parents:
diff changeset
   531
    //
hgs
parents:
diff changeset
   532
    tapGesture->mState = Qt::GestureFinished;
hgs
parents:
diff changeset
   533
    mVideoView->gestureEvent( event );
hgs
parents:
diff changeset
   534
hgs
parents:
diff changeset
   535
    //
hgs
parents:
diff changeset
   536
    // ensure signal has been emitted and its emission count is incremented
hgs
parents:
diff changeset
   537
    //
hgs
parents:
diff changeset
   538
    QCOMPARE( spy.count(), 1 );
hgs
parents:
diff changeset
   539
hgs
parents:
diff changeset
   540
    //
hgs
parents:
diff changeset
   541
    // clean up
hgs
parents:
diff changeset
   542
    //
hgs
parents:
diff changeset
   543
    spy.clear();
hgs
parents:
diff changeset
   544
hgs
parents:
diff changeset
   545
    list.clear();
hgs
parents:
diff changeset
   546
hgs
parents:
diff changeset
   547
    if ( tapGesture )
hgs
parents:
diff changeset
   548
    {
hgs
parents:
diff changeset
   549
        delete tapGesture;
hgs
parents:
diff changeset
   550
        tapGesture = NULL;
hgs
parents:
diff changeset
   551
    }
hgs
parents:
diff changeset
   552
hgs
parents:
diff changeset
   553
    if ( event )
hgs
parents:
diff changeset
   554
    {
hgs
parents:
diff changeset
   555
        delete event;
hgs
parents:
diff changeset
   556
        event = NULL;
hgs
parents:
diff changeset
   557
    }
hgs
parents:
diff changeset
   558
hgs
parents:
diff changeset
   559
    //
hgs
parents:
diff changeset
   560
    // 2. Test pan gesture
hgs
parents:
diff changeset
   561
    //
hgs
parents:
diff changeset
   562
    HbPanGesture *panGesture = new HbPanGesture();
hgs
parents:
diff changeset
   563
    list.append( panGesture );
hgs
parents:
diff changeset
   564
    event = new QGestureEvent( list );
hgs
parents:
diff changeset
   565
hgs
parents:
diff changeset
   566
    //
hgs
parents:
diff changeset
   567
    // connect to pannedToRight() signal and record its emission
hgs
parents:
diff changeset
   568
    //
hgs
parents:
diff changeset
   569
    QSignalSpy spy1( mVideoView, SIGNAL( pannedToRight() ) );
hgs
parents:
diff changeset
   570
hgs
parents:
diff changeset
   571
    //
hgs
parents:
diff changeset
   572
    // ensure signal has not been emitted yet
hgs
parents:
diff changeset
   573
    //
hgs
parents:
diff changeset
   574
    QCOMPARE( spy1.count(), 0 );
hgs
parents:
diff changeset
   575
hgs
parents:
diff changeset
   576
    //
hgs
parents:
diff changeset
   577
    // Test pan gesture With GestureStarted
hgs
parents:
diff changeset
   578
    //
hgs
parents:
diff changeset
   579
    panGesture->mState = Qt::GestureStarted;
hgs
parents:
diff changeset
   580
    mVideoView->gestureEvent( event );
hgs
parents:
diff changeset
   581
hgs
parents:
diff changeset
   582
    //
hgs
parents:
diff changeset
   583
    // ensure signal has not been emitted yet
hgs
parents:
diff changeset
   584
    //
hgs
parents:
diff changeset
   585
    QCOMPARE( spy1.count(), 0 );
hgs
parents:
diff changeset
   586
hgs
parents:
diff changeset
   587
    //
hgs
parents:
diff changeset
   588
    // Test pan gesture with GestureFinished
hgs
parents:
diff changeset
   589
    //
hgs
parents:
diff changeset
   590
    panGesture->mState = Qt::GestureFinished;
hgs
parents:
diff changeset
   591
    panGesture->mSceneDelta = QPointF( 5, 0 );
hgs
parents:
diff changeset
   592
    mVideoView->gestureEvent( event );
hgs
parents:
diff changeset
   593
hgs
parents:
diff changeset
   594
    //
hgs
parents:
diff changeset
   595
    // ensure signal has been emitted
hgs
parents:
diff changeset
   596
    //
hgs
parents:
diff changeset
   597
    QCOMPARE( spy1.count(), 1 );
hgs
parents:
diff changeset
   598
    spy1.clear();
hgs
parents:
diff changeset
   599
hgs
parents:
diff changeset
   600
    //
hgs
parents:
diff changeset
   601
    // Test pan gesture with GestureFinished
hgs
parents:
diff changeset
   602
    //
hgs
parents:
diff changeset
   603
hgs
parents:
diff changeset
   604
    //
hgs
parents:
diff changeset
   605
    // connect to pannedToRight() signal and record its emission
hgs
parents:
diff changeset
   606
    //
hgs
parents:
diff changeset
   607
    QSignalSpy spy2( mVideoView, SIGNAL( pannedToLeft() ) );
hgs
parents:
diff changeset
   608
hgs
parents:
diff changeset
   609
    //
hgs
parents:
diff changeset
   610
    // ensure signal has not been emitted yet
hgs
parents:
diff changeset
   611
    //
hgs
parents:
diff changeset
   612
    QCOMPARE( spy2.count(), 0 );
hgs
parents:
diff changeset
   613
hgs
parents:
diff changeset
   614
    panGesture->mState = Qt::GestureFinished;
hgs
parents:
diff changeset
   615
    panGesture->mSceneDelta = QPointF( -5, 0 );
hgs
parents:
diff changeset
   616
    mVideoView->gestureEvent( event );
hgs
parents:
diff changeset
   617
hgs
parents:
diff changeset
   618
    //
hgs
parents:
diff changeset
   619
    // ensure signal has not been emitted yet
hgs
parents:
diff changeset
   620
    //
hgs
parents:
diff changeset
   621
    QCOMPARE( spy2.count(), 1 );
hgs
parents:
diff changeset
   622
hgs
parents:
diff changeset
   623
    //
hgs
parents:
diff changeset
   624
    // clean up
hgs
parents:
diff changeset
   625
    //
hgs
parents:
diff changeset
   626
    spy2.clear();
hgs
parents:
diff changeset
   627
    list.clear();
hgs
parents:
diff changeset
   628
hgs
parents:
diff changeset
   629
    if ( panGesture )
hgs
parents:
diff changeset
   630
    {
hgs
parents:
diff changeset
   631
        delete panGesture;
hgs
parents:
diff changeset
   632
        panGesture = NULL;
hgs
parents:
diff changeset
   633
    }
hgs
parents:
diff changeset
   634
hgs
parents:
diff changeset
   635
    if ( event )
hgs
parents:
diff changeset
   636
    {
hgs
parents:
diff changeset
   637
        delete event;
hgs
parents:
diff changeset
   638
        event = NULL;
hgs
parents:
diff changeset
   639
    }
hgs
parents:
diff changeset
   640
hgs
parents:
diff changeset
   641
    cleanup();
hgs
parents:
diff changeset
   642
}
hgs
parents:
diff changeset
   643
hgs
parents:
diff changeset
   644
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   645
//   TestVideoPlaybackView::testReactivationAfterPriorTermination()
hgs
parents:
diff changeset
   646
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   647
//
hgs
parents:
diff changeset
   648
void TestVideoPlaybackView::testReactivationAfterPriorTermination()
hgs
parents:
diff changeset
   649
{
hgs
parents:
diff changeset
   650
    QVariant data = int( 10 );
hgs
parents:
diff changeset
   651
    VideoActivityState::instance().setActivityData(data, KEY_LAST_PLAY_POSITION_ID);
hgs
parents:
diff changeset
   652
    
hgs
parents:
diff changeset
   653
    data = int ( MpxHbVideoCommon::PlaybackView );
hgs
parents:
diff changeset
   654
    VideoActivityState::instance().setActivityData(data, KEY_VIEWPLUGIN_TYPE);  
hgs
parents:
diff changeset
   655
    
hgs
parents:
diff changeset
   656
    init();
hgs
parents:
diff changeset
   657
    mVideoView->handleActivateView();
hgs
parents:
diff changeset
   658
hgs
parents:
diff changeset
   659
    QVERIFY( mVideoView->mVideoMpxWrapper->iMediaRequested == true );
hgs
parents:
diff changeset
   660
    QCOMPARE( mVideoView->mVideoMpxWrapper->iFileDetails->mBitRate, 16000 );
hgs
parents:
diff changeset
   661
    QCOMPARE( mVideoView->mVideoMpxWrapper->iFileDetails->mTitle, QString("Test Video Title") );
hgs
parents:
diff changeset
   662
    
hgs
parents:
diff changeset
   663
    QCOMPARE( mVideoView->mLastPlayPosition, 10);
hgs
parents:
diff changeset
   664
hgs
parents:
diff changeset
   665
    cleanup();            
hgs
parents:
diff changeset
   666
}
hgs
parents:
diff changeset
   667
hgs
parents:
diff changeset
   668
// End of file