videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp
author hgs
Thu, 01 Apr 2010 23:32:44 +0300
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 36 8aed59de29f9
permissions -rw-r--r--
201011
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
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 VideoListWidget
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
34
hgs
parents: 30
diff changeset
    18
#include <qmap.h>
hgs
parents: 30
diff changeset
    19
#include <vcxmyvideosdefs.h>
hgs
parents: 30
diff changeset
    20
#include <mpxhbvideocommondefs.h>
hgs
parents: 30
diff changeset
    21
hgs
parents: 30
diff changeset
    22
#include "hbglobal.h"
30
hgs
parents:
diff changeset
    23
#include "hblistview.h"
hgs
parents:
diff changeset
    24
#include "hbview.h"
hgs
parents:
diff changeset
    25
#include "videoservices.h"
hgs
parents:
diff changeset
    26
#include "videosortfilterproxymodel.h"
hgs
parents:
diff changeset
    27
#include "hbscrollbar.h"
hgs
parents:
diff changeset
    28
#include "hbmenu.h"
hgs
parents:
diff changeset
    29
#include "hbmessagebox.h"
hgs
parents:
diff changeset
    30
#include "hbinstance.h"
hgs
parents:
diff changeset
    31
#include "hbmainwindow.h"
35
hgs
parents: 34
diff changeset
    32
#include "hbstyleloader.h"
30
hgs
parents:
diff changeset
    33
#include "videothumbnaildata.h"
hgs
parents:
diff changeset
    34
#include "videocollectioncommon.h"
34
hgs
parents: 30
diff changeset
    35
#include "videocollectionwrapper.h"
hgs
parents: 30
diff changeset
    36
#include "videocollectionwrapperdata.h"
hgs
parents: 30
diff changeset
    37
#include "hbmenudata.h"
hgs
parents: 30
diff changeset
    38
#include "videothumbnailtestdata.h"
hgs
parents: 30
diff changeset
    39
#include "videolistdatamodel.h"
hgs
parents: 30
diff changeset
    40
#include "videolistdatamodeldata.h"
hgs
parents: 30
diff changeset
    41
#include "videosortfilterproxymodeldata.h"
35
hgs
parents: 34
diff changeset
    42
#include "videoservices.h"
hgs
parents: 34
diff changeset
    43
#include "videocollectionuiloader.h"
hgs
parents: 34
diff changeset
    44
#include "videocollectionuiloaderdata.h"
hgs
parents: 34
diff changeset
    45
#include "videolistselectiondialog.h"
hgs
parents: 34
diff changeset
    46
#include "videolistselectiondialogdata.h"
34
hgs
parents: 30
diff changeset
    47
#include "hbmessageboxdata.h"
30
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
#include "testlistwidget.h"
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
#define private public
hgs
parents:
diff changeset
    52
#include "videolistwidget.h"
hgs
parents:
diff changeset
    53
#undef private
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
static const int CONTEXT_MENU_COUNT = 8;
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
/**
hgs
parents:
diff changeset
    58
 * helper class to run protected member of the test object
hgs
parents:
diff changeset
    59
 */
hgs
parents:
diff changeset
    60
class ListWidgetTester : public VideoListWidget
hgs
parents:
diff changeset
    61
{
hgs
parents:
diff changeset
    62
public:
hgs
parents:
diff changeset
    63
    /**
hgs
parents:
diff changeset
    64
     * constructor
hgs
parents:
diff changeset
    65
     */
34
hgs
parents: 30
diff changeset
    66
    ListWidgetTester(VideoCollectionUiLoader* uiLoader, HbView *parent) :
hgs
parents: 30
diff changeset
    67
            VideoListWidget(uiLoader, parent)
30
hgs
parents:
diff changeset
    68
    {
hgs
parents:
diff changeset
    69
        
hgs
parents:
diff changeset
    70
    }
hgs
parents:
diff changeset
    71
    
hgs
parents:
diff changeset
    72
    /**
hgs
parents:
diff changeset
    73
     * calls emitActivated
hgs
parents:
diff changeset
    74
     */
hgs
parents:
diff changeset
    75
    void callEmiteActivated(QModelIndex index)
hgs
parents:
diff changeset
    76
    {
hgs
parents:
diff changeset
    77
        VideoListWidget::emitActivated(index);
hgs
parents:
diff changeset
    78
    }
hgs
parents:
diff changeset
    79
    
hgs
parents:
diff changeset
    80
    /**
hgs
parents:
diff changeset
    81
     * calls longPressGesture
hgs
parents:
diff changeset
    82
     */
hgs
parents:
diff changeset
    83
    void callLongPressGesture(const QPointF &point)
hgs
parents:
diff changeset
    84
    {
hgs
parents:
diff changeset
    85
        VideoListWidget::longPressGesture (point);
hgs
parents:
diff changeset
    86
    }
hgs
parents:
diff changeset
    87
};
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    90
// main
hgs
parents:
diff changeset
    91
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
//
34
hgs
parents: 30
diff changeset
    93
int main(int argc, char *argv[])
30
hgs
parents:
diff changeset
    94
{
hgs
parents:
diff changeset
    95
    TestListWidget tv;
35
hgs
parents: 34
diff changeset
    96
    QApplication app(argc, argv);
34
hgs
parents: 30
diff changeset
    97
    int res;
hgs
parents: 30
diff changeset
    98
    if(argc > 1)
hgs
parents: 30
diff changeset
    99
    {   
hgs
parents: 30
diff changeset
   100
        res = QTest::qExec(&tv, argc, argv);
hgs
parents: 30
diff changeset
   101
    }
hgs
parents: 30
diff changeset
   102
    else
hgs
parents: 30
diff changeset
   103
    {
hgs
parents: 30
diff changeset
   104
        char *pass[3];
hgs
parents: 30
diff changeset
   105
        pass[0] = argv[0];
hgs
parents: 30
diff changeset
   106
        pass[1] = "-o";
hgs
parents: 30
diff changeset
   107
        pass[2] = "c:\\data\\testlistwidget.txt";
hgs
parents: 30
diff changeset
   108
        res = QTest::qExec(&tv, 3, pass);
hgs
parents: 30
diff changeset
   109
    }
hgs
parents: 30
diff changeset
   110
    
hgs
parents: 30
diff changeset
   111
    return res;
hgs
parents: 30
diff changeset
   112
}
30
hgs
parents:
diff changeset
   113
34
hgs
parents: 30
diff changeset
   114
// ---------------------------------------------------------------------------
hgs
parents: 30
diff changeset
   115
// 
hgs
parents: 30
diff changeset
   116
// ---------------------------------------------------------------------------
hgs
parents: 30
diff changeset
   117
//
hgs
parents: 30
diff changeset
   118
void TestListWidget::setRowCount(int count, int type, VideoListDataModel *model)
hgs
parents: 30
diff changeset
   119
{
hgs
parents: 30
diff changeset
   120
    if (!model)
hgs
parents: 30
diff changeset
   121
    {
hgs
parents: 30
diff changeset
   122
        VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   123
        VideoSortFilterProxyModel *model = wrapper.getModel(type);
hgs
parents: 30
diff changeset
   124
        QVERIFY(model);
hgs
parents: 30
diff changeset
   125
        
hgs
parents: 30
diff changeset
   126
        VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
hgs
parents: 30
diff changeset
   127
        QVERIFY(sourceModel);
hgs
parents: 30
diff changeset
   128
        
hgs
parents: 30
diff changeset
   129
        VideoListDataModelData::setRowCount(*sourceModel, count);
hgs
parents: 30
diff changeset
   130
        sourceModel->initialize();
hgs
parents: 30
diff changeset
   131
    }
hgs
parents: 30
diff changeset
   132
    else
hgs
parents: 30
diff changeset
   133
    {
hgs
parents: 30
diff changeset
   134
        VideoListDataModelData::setRowCount(*model, count);
hgs
parents: 30
diff changeset
   135
        model->initialize();
hgs
parents: 30
diff changeset
   136
    }
30
hgs
parents:
diff changeset
   137
}
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
// ---------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
   140
// initTestCase
hgs
parents: 34
diff changeset
   141
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   142
//
hgs
parents: 34
diff changeset
   143
void TestListWidget::initTestCase()
hgs
parents: 34
diff changeset
   144
{
hgs
parents: 34
diff changeset
   145
    qRegisterMetaType<QModelIndex>("QModelIndex");
hgs
parents: 34
diff changeset
   146
}
hgs
parents: 34
diff changeset
   147
hgs
parents: 34
diff changeset
   148
// ---------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   149
// init
hgs
parents:
diff changeset
   150
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   151
//
hgs
parents:
diff changeset
   152
void TestListWidget::init()
hgs
parents:
diff changeset
   153
{
hgs
parents:
diff changeset
   154
    mDummyMainWnd = new HbMainWindow;
hgs
parents:
diff changeset
   155
    mTempView = new HbView;
35
hgs
parents: 34
diff changeset
   156
    mTestUiLoader = new VideoCollectionUiLoader();
hgs
parents: 34
diff changeset
   157
    hbInstance->mWindowses.append(mDummyMainWnd);
hgs
parents: 34
diff changeset
   158
    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
30
hgs
parents:
diff changeset
   159
}
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   162
// cleanup
hgs
parents:
diff changeset
   163
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   164
//
hgs
parents:
diff changeset
   165
void TestListWidget::cleanup()
hgs
parents:
diff changeset
   166
{
hgs
parents:
diff changeset
   167
    delete mTestWidget;
hgs
parents:
diff changeset
   168
    mTestWidget = 0;
hgs
parents:
diff changeset
   169
    
hgs
parents:
diff changeset
   170
    delete mTempView;
hgs
parents:
diff changeset
   171
    mTempView = 0;
hgs
parents:
diff changeset
   172
    
hgs
parents:
diff changeset
   173
    delete mDummyMainWnd;
hgs
parents:
diff changeset
   174
    mDummyMainWnd = 0;
hgs
parents:
diff changeset
   175
    
hgs
parents:
diff changeset
   176
    hbInstance->mWindowses.clear();
34
hgs
parents: 30
diff changeset
   177
    
hgs
parents: 30
diff changeset
   178
    VideoCollectionWrapperData::reset();
hgs
parents: 30
diff changeset
   179
    HbMenuData::reset();
hgs
parents: 30
diff changeset
   180
    VideoThumbnailTestData::reset();
hgs
parents: 30
diff changeset
   181
    VideoListDataModelData::reset();
hgs
parents: 30
diff changeset
   182
    VideoSortFilterProxyModelData::reset();
hgs
parents: 30
diff changeset
   183
    HbMessageBoxData::reset();
30
hgs
parents:
diff changeset
   184
}
hgs
parents:
diff changeset
   185
 
hgs
parents:
diff changeset
   186
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   187
// testInitialize
hgs
parents:
diff changeset
   188
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   189
//
hgs
parents:
diff changeset
   190
void TestListWidget::testInitialize()
hgs
parents:
diff changeset
   191
{
34
hgs
parents: 30
diff changeset
   192
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   193
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
30
hgs
parents:
diff changeset
   194
hgs
parents:
diff changeset
   195
    // succeed case ( new operator cannot be stubbed)
34
hgs
parents: 30
diff changeset
   196
    QVERIFY(mTestWidget->initialize(*model) == 0);
hgs
parents: 30
diff changeset
   197
	QVERIFY(mTestWidget->mModel == model);  
30
hgs
parents:
diff changeset
   198
	QVERIFY(mTestWidget->mVideoServices == 0);
hgs
parents:
diff changeset
   199
	QVERIFY(mTestWidget->mIsService == false);
35
hgs
parents: 34
diff changeset
   200
	
hgs
parents: 34
diff changeset
   201
	// service initialization
hgs
parents: 34
diff changeset
   202
	VideoServices *service = VideoServices::instance();
hgs
parents: 34
diff changeset
   203
    QVERIFY(mTestWidget->initialize(*model, service) == 0);
hgs
parents: 34
diff changeset
   204
    QVERIFY(mTestWidget->mModel == model);  
hgs
parents: 34
diff changeset
   205
    QVERIFY(mTestWidget->mVideoServices == service);
hgs
parents: 34
diff changeset
   206
    QVERIFY(mTestWidget->mIsService == true);
hgs
parents: 34
diff changeset
   207
    service->decreaseReferenceCount();
hgs
parents: 34
diff changeset
   208
    service = 0;
hgs
parents: 34
diff changeset
   209
	
30
hgs
parents:
diff changeset
   210
}
hgs
parents:
diff changeset
   211
 
hgs
parents:
diff changeset
   212
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   213
// testActivate
hgs
parents:
diff changeset
   214
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   215
//
hgs
parents:
diff changeset
   216
void TestListWidget::testActivate()
hgs
parents:
diff changeset
   217
{
34
hgs
parents: 30
diff changeset
   218
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   219
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   220
30
hgs
parents:
diff changeset
   221
    // no  model: fails
hgs
parents:
diff changeset
   222
    QVERIFY(mTestWidget->activate() == -1);
34
hgs
parents: 30
diff changeset
   223
    QCOMPARE(HbMenuData::mEnabledSetted, false);
30
hgs
parents:
diff changeset
   224
    QCOMPARE(HbListView::mLatestVisibility, false);
35
hgs
parents: 34
diff changeset
   225
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
30
hgs
parents:
diff changeset
   226
    
35
hgs
parents: 34
diff changeset
   227
    // model exist, no current view default level: succeeds
34
hgs
parents: 30
diff changeset
   228
    QVERIFY(mTestWidget->initialize(*model) == 0);
30
hgs
parents:
diff changeset
   229
    QVERIFY(mTestWidget->activate() == 0);
34
hgs
parents: 30
diff changeset
   230
    QCOMPARE(HbMenuData::mEnabledSetted, false);
30
hgs
parents:
diff changeset
   231
    QCOMPARE(HbListView::mLatestVisibility, true);
34
hgs
parents: 30
diff changeset
   232
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
30
hgs
parents:
diff changeset
   233
    
34
hgs
parents: 30
diff changeset
   234
    HbMenuData::mEnabledSetted = true;
30
hgs
parents:
diff changeset
   235
    HbListView::mLatestVisibility = false;
hgs
parents:
diff changeset
   236
    HbListView::mLatestEnableValue = false;
34
hgs
parents: 30
diff changeset
   237
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
30
hgs
parents:
diff changeset
   238
    
35
hgs
parents: 34
diff changeset
   239
    // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl, 
hgs
parents: 34
diff changeset
   240
    // no mNavKeyQuitAction
hgs
parents: 34
diff changeset
   241
    HbView *tmpView = new HbView();
hgs
parents: 34
diff changeset
   242
    hbInstance->allMainWindows().value(0)->addView(tmpView);
hgs
parents: 34
diff changeset
   243
    HbAction *tmpAction = mTestWidget->mNavKeyQuitAction;
hgs
parents: 34
diff changeset
   244
    mTestWidget->mNavKeyQuitAction = 0;
hgs
parents: 34
diff changeset
   245
    QVERIFY(mTestWidget->activate() == 0);
hgs
parents: 34
diff changeset
   246
    QCOMPARE(HbMenuData::mEnabledSetted, true);
hgs
parents: 34
diff changeset
   247
    QCOMPARE(HbListView::mLatestVisibility, true);
hgs
parents: 34
diff changeset
   248
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
hgs
parents: 34
diff changeset
   249
    QVERIFY(!tmpView->mNavigationAction);
hgs
parents: 34
diff changeset
   250
    
hgs
parents: 34
diff changeset
   251
    HbMenuData::mEnabledSetted = true;
hgs
parents: 34
diff changeset
   252
    HbListView::mLatestVisibility = false;
hgs
parents: 34
diff changeset
   253
    HbListView::mLatestEnableValue = false;
hgs
parents: 34
diff changeset
   254
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
hgs
parents: 34
diff changeset
   255
    mTestWidget->mNavKeyQuitAction = tmpAction;
hgs
parents: 34
diff changeset
   256
    
hgs
parents: 34
diff changeset
   257
    // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl, 
hgs
parents: 34
diff changeset
   258
    // mNavKeyQuitAction exists
30
hgs
parents:
diff changeset
   259
    QVERIFY(mTestWidget->activate() == 0);
34
hgs
parents: 30
diff changeset
   260
    QCOMPARE(HbMenuData::mEnabledSetted, true);
30
hgs
parents:
diff changeset
   261
    QCOMPARE(HbListView::mLatestVisibility, true);
35
hgs
parents: 34
diff changeset
   262
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
hgs
parents: 34
diff changeset
   263
    QVERIFY(tmpView->mNavigationAction == tmpAction);
hgs
parents: 34
diff changeset
   264
    
hgs
parents: 34
diff changeset
   265
    HbMenuData::mEnabledSetted = true;
hgs
parents: 34
diff changeset
   266
    HbListView::mLatestVisibility = false;
hgs
parents: 34
diff changeset
   267
    HbListView::mLatestEnableValue = false;
hgs
parents: 34
diff changeset
   268
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
hgs
parents: 34
diff changeset
   269
    
hgs
parents: 34
diff changeset
   270
    // model exists, current view exists, level is ELevelAlbum  
hgs
parents: 34
diff changeset
   271
    // no mNavKeyBackAction
hgs
parents: 34
diff changeset
   272
    tmpView->mNavigationAction = 0;
hgs
parents: 34
diff changeset
   273
    tmpAction = mTestWidget->mNavKeyBackAction;
hgs
parents: 34
diff changeset
   274
    mTestWidget->mNavKeyBackAction = 0;
hgs
parents: 34
diff changeset
   275
    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
hgs
parents: 34
diff changeset
   276
    QCOMPARE(HbMenuData::mEnabledSetted, true);
hgs
parents: 34
diff changeset
   277
    QCOMPARE(HbListView::mLatestVisibility, true);
34
hgs
parents: 30
diff changeset
   278
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
35
hgs
parents: 34
diff changeset
   279
    QVERIFY(!tmpView->mNavigationAction);
hgs
parents: 34
diff changeset
   280
       
hgs
parents: 34
diff changeset
   281
    HbMenuData::mEnabledSetted = true;
hgs
parents: 34
diff changeset
   282
    HbListView::mLatestVisibility = false;
hgs
parents: 34
diff changeset
   283
    HbListView::mLatestEnableValue = false;
hgs
parents: 34
diff changeset
   284
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
hgs
parents: 34
diff changeset
   285
    
hgs
parents: 34
diff changeset
   286
    mTestWidget->mNavKeyBackAction = tmpAction;
hgs
parents: 34
diff changeset
   287
    // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl, 
hgs
parents: 34
diff changeset
   288
    // mNavKeyBackAction exists
hgs
parents: 34
diff changeset
   289
    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
hgs
parents: 34
diff changeset
   290
    QCOMPARE(HbMenuData::mEnabledSetted, true);
hgs
parents: 34
diff changeset
   291
    QCOMPARE(HbListView::mLatestVisibility, true);
hgs
parents: 34
diff changeset
   292
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
hgs
parents: 34
diff changeset
   293
    QVERIFY(tmpView->mNavigationAction == tmpAction);
hgs
parents: 34
diff changeset
   294
    
hgs
parents: 34
diff changeset
   295
    HbMenuData::mEnabledSetted = true;
hgs
parents: 34
diff changeset
   296
    HbListView::mLatestVisibility = false;
hgs
parents: 34
diff changeset
   297
    HbListView::mLatestEnableValue = false;
hgs
parents: 34
diff changeset
   298
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
hgs
parents: 34
diff changeset
   299
            
hgs
parents: 34
diff changeset
   300
    hbInstance->allMainWindows().value(0)->removeView(tmpView);
hgs
parents: 34
diff changeset
   301
    delete tmpView;
30
hgs
parents:
diff changeset
   302
}
hgs
parents:
diff changeset
   303
 
hgs
parents:
diff changeset
   304
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   305
// testDeactivate
hgs
parents:
diff changeset
   306
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   307
//
hgs
parents:
diff changeset
   308
void TestListWidget::testDeactivate()
hgs
parents:
diff changeset
   309
{
34
hgs
parents: 30
diff changeset
   310
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   311
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   312
35
hgs
parents: 34
diff changeset
   313
    HbListView::mLatestVisibility = true;
hgs
parents: 34
diff changeset
   314
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
30
hgs
parents:
diff changeset
   315
    
hgs
parents:
diff changeset
   316
    mTestWidget->activate();
hgs
parents:
diff changeset
   317
    
hgs
parents:
diff changeset
   318
    // no context menu and activated without model
hgs
parents:
diff changeset
   319
    mTestWidget->deactivate();
hgs
parents:
diff changeset
   320
    QCOMPARE(HbListView::mLatestVisibility, false);
34
hgs
parents: 30
diff changeset
   321
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
30
hgs
parents:
diff changeset
   322
    
35
hgs
parents: 34
diff changeset
   323
    HbListView::mLatestVisibility = true;
hgs
parents: 34
diff changeset
   324
    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
hgs
parents: 34
diff changeset
   325
    
30
hgs
parents:
diff changeset
   326
    // context menu exists and activated with model
hgs
parents:
diff changeset
   327
    mTestWidget->mContextMenu = new HbMenu;
34
hgs
parents: 30
diff changeset
   328
    QVERIFY(mTestWidget->initialize(*model) == 0);
30
hgs
parents:
diff changeset
   329
    mTestWidget->activate();
hgs
parents:
diff changeset
   330
    mTestWidget->deactivate();
35
hgs
parents: 34
diff changeset
   331
    QCOMPARE(HbListView::mLatestVisibility, false);
34
hgs
parents: 30
diff changeset
   332
    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
30
hgs
parents:
diff changeset
   333
   
hgs
parents:
diff changeset
   334
}
hgs
parents:
diff changeset
   335
hgs
parents:
diff changeset
   336
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   337
// testGetLevel
hgs
parents:
diff changeset
   338
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   339
//
34
hgs
parents: 30
diff changeset
   340
void TestListWidget::testGetLevel()
30
hgs
parents:
diff changeset
   341
{
34
hgs
parents: 30
diff changeset
   342
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   343
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   344
hgs
parents: 30
diff changeset
   345
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
   346
    
34
hgs
parents: 30
diff changeset
   347
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
hgs
parents: 30
diff changeset
   348
    QCOMPARE(mTestWidget->getLevel(), VideoCollectionCommon::ELevelVideos);
30
hgs
parents:
diff changeset
   349
}
hgs
parents:
diff changeset
   350
   
hgs
parents:
diff changeset
   351
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   352
// testGetModel
hgs
parents:
diff changeset
   353
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   354
//
hgs
parents:
diff changeset
   355
void TestListWidget::testGetModel()
hgs
parents:
diff changeset
   356
{
34
hgs
parents: 30
diff changeset
   357
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   358
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   359
30
hgs
parents:
diff changeset
   360
    QVERIFY(&(mTestWidget->getModel()) == 0);
hgs
parents:
diff changeset
   361
    
hgs
parents:
diff changeset
   362
    HbListView::mVScrollBarIsNull = false;
hgs
parents:
diff changeset
   363
    HbListView::mReturnNullPrototype = false;
34
hgs
parents: 30
diff changeset
   364
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
   365
    
34
hgs
parents: 30
diff changeset
   366
    QVERIFY(&(mTestWidget->getModel()) == model);
30
hgs
parents:
diff changeset
   367
}
hgs
parents:
diff changeset
   368
 
hgs
parents:
diff changeset
   369
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   370
// testEmitActivated
hgs
parents:
diff changeset
   371
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   372
//
hgs
parents:
diff changeset
   373
void TestListWidget::testEmitActivated()
hgs
parents:
diff changeset
   374
{
34
hgs
parents: 30
diff changeset
   375
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   376
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   377
35
hgs
parents: 34
diff changeset
   378
    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
hgs
parents: 34
diff changeset
   379
    QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
hgs
parents: 34
diff changeset
   380
    QSignalSpy spysignalActivated(mTestWidget, SIGNAL(activated(const QModelIndex&)));
hgs
parents: 34
diff changeset
   381
    
34
hgs
parents: 30
diff changeset
   382
    mTestWidget->initialize(*model);
35
hgs
parents: 34
diff changeset
   383
    mTestWidget->activate();    
30
hgs
parents:
diff changeset
   384
    
35
hgs
parents: 34
diff changeset
   385
    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   386
    TMPXItemId savedId = TMPXItemId(1,1);
hgs
parents: 34
diff changeset
   387
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   388
    VideoSortFilterProxyModelData::mItemIds.append(savedId);
30
hgs
parents:
diff changeset
   389
    QVariant data = QString("test");
34
hgs
parents: 30
diff changeset
   390
    VideoListDataModelData::setData( Qt::DisplayRole, data);
35
hgs
parents: 34
diff changeset
   391
    setRowCount(2);
34
hgs
parents: 30
diff changeset
   392
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0,0));
30
hgs
parents:
diff changeset
   393
    
34
hgs
parents: 30
diff changeset
   394
    QModelIndex fetchIndex = model->index(0, 0, QModelIndex());
30
hgs
parents:
diff changeset
   395
    
hgs
parents:
diff changeset
   396
    // selection mode == HbAbstractItemView::MultiSelection
35
hgs
parents: 34
diff changeset
   397
    mTestWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
30
hgs
parents:
diff changeset
   398
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents:
diff changeset
   399
    QVERIFY(spysignal.count() == 0);
35
hgs
parents: 34
diff changeset
   400
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   401
    QVERIFY(spysignalActivated.count() == 1);
hgs
parents: 34
diff changeset
   402
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   403
    spysignal.clear();
hgs
parents: 34
diff changeset
   404
    spysignalFileUri.clear();
hgs
parents: 34
diff changeset
   405
    spysignalActivated.clear();
30
hgs
parents:
diff changeset
   406
    
hgs
parents:
diff changeset
   407
    // modelIndex is not valid
35
hgs
parents: 34
diff changeset
   408
    mTestWidget->setSelectionMode(HbAbstractItemView::NoSelection);
30
hgs
parents:
diff changeset
   409
    fetchIndex = QModelIndex();
hgs
parents:
diff changeset
   410
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents:
diff changeset
   411
    QVERIFY(spysignal.count() == 0);
35
hgs
parents: 34
diff changeset
   412
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   413
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   414
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   415
   
hgs
parents: 34
diff changeset
   416
    // current level is ELevelCategory
hgs
parents: 34
diff changeset
   417
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
hgs
parents: 34
diff changeset
   418
    // --> variant is not valid 
hgs
parents: 34
diff changeset
   419
    VideoListDataModelData::setData( Qt::DisplayRole, QVariant());
34
hgs
parents: 30
diff changeset
   420
    fetchIndex = model->index(0, 0, QModelIndex());
30
hgs
parents:
diff changeset
   421
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents:
diff changeset
   422
    QVERIFY(spysignal.count() == 0);
35
hgs
parents: 34
diff changeset
   423
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   424
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   425
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
30
hgs
parents:
diff changeset
   426
    
34
hgs
parents: 30
diff changeset
   427
35
hgs
parents: 34
diff changeset
   428
    // --> variant is valid, collectionOpened -signal should be emitted
hgs
parents: 34
diff changeset
   429
    VideoListDataModelData::setData( Qt::DisplayRole, data);
hgs
parents: 34
diff changeset
   430
    fetchIndex = model->index(1, 0, QModelIndex());
hgs
parents: 34
diff changeset
   431
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents: 34
diff changeset
   432
    QVERIFY(spysignal.count() == 1);
hgs
parents: 34
diff changeset
   433
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   434
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   435
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   436
  
hgs
parents: 34
diff changeset
   437
    spysignal.clear();
hgs
parents: 34
diff changeset
   438
    spysignalFileUri.clear();
hgs
parents: 34
diff changeset
   439
    spysignalActivated.clear();
hgs
parents: 34
diff changeset
   440
    
hgs
parents: 34
diff changeset
   441
    // current level is not ELevelCategory
hgs
parents: 34
diff changeset
   442
    // mIsService is true, variant gotten is invalid
hgs
parents: 34
diff changeset
   443
    VideoListDataModelData::setData( Qt::DisplayRole, QVariant());
hgs
parents: 34
diff changeset
   444
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
hgs
parents: 34
diff changeset
   445
    mTestWidget->mIsService = true;
hgs
parents: 34
diff changeset
   446
    fetchIndex = model->index(0, 0, QModelIndex());
30
hgs
parents:
diff changeset
   447
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents:
diff changeset
   448
    QVERIFY(spysignal.count() == 0);
35
hgs
parents: 34
diff changeset
   449
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   450
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   451
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
30
hgs
parents:
diff changeset
   452
    
35
hgs
parents: 34
diff changeset
   453
    // current level is not ELevelCategory
hgs
parents: 34
diff changeset
   454
    // mIsService is true, variant gotten is valid
hgs
parents: 34
diff changeset
   455
    VideoListDataModelData::setData( VideoCollectionCommon::KeyFilePath, data);
hgs
parents: 34
diff changeset
   456
    fetchIndex = model->index(0, 0, QModelIndex());
30
hgs
parents:
diff changeset
   457
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents:
diff changeset
   458
    QVERIFY(spysignal.count() == 0);
35
hgs
parents: 34
diff changeset
   459
    QVERIFY(spysignalFileUri.count() == 1);
hgs
parents: 34
diff changeset
   460
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   461
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   462
    
hgs
parents: 34
diff changeset
   463
    spysignal.clear();
hgs
parents: 34
diff changeset
   464
    spysignalFileUri.clear();
hgs
parents: 34
diff changeset
   465
    spysignalActivated.clear();
hgs
parents: 34
diff changeset
   466
    
hgs
parents: 34
diff changeset
   467
    // current level is not ELevelCategory
hgs
parents: 34
diff changeset
   468
    // mIsService is false
hgs
parents: 34
diff changeset
   469
    mTestWidget->mIsService = false;
34
hgs
parents: 30
diff changeset
   470
    fetchIndex = model->index(0, 0, QModelIndex());
30
hgs
parents:
diff changeset
   471
    mTestWidget->callEmiteActivated(fetchIndex);
35
hgs
parents: 34
diff changeset
   472
    QVERIFY(spysignal.count() == 0);
hgs
parents: 34
diff changeset
   473
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   474
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   475
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
hgs
parents: 34
diff changeset
   476
    
hgs
parents: 34
diff changeset
   477
    // context menu is visible
hgs
parents: 34
diff changeset
   478
    if (!mTestWidget->mContextMenu)
hgs
parents: 34
diff changeset
   479
    {
hgs
parents: 34
diff changeset
   480
        mTestWidget->mContextMenu = new HbMenu;
hgs
parents: 34
diff changeset
   481
    }
hgs
parents: 34
diff changeset
   482
    mTestWidget->mContextMenu->show();
hgs
parents: 34
diff changeset
   483
    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   484
    fetchIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
   485
    mTestWidget->callEmiteActivated(fetchIndex);
hgs
parents: 34
diff changeset
   486
    QVERIFY(spysignal.count() == 0);
hgs
parents: 34
diff changeset
   487
    QVERIFY(spysignalFileUri.count() == 0);
hgs
parents: 34
diff changeset
   488
    QVERIFY(spysignalActivated.count() == 0);
hgs
parents: 34
diff changeset
   489
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
30
hgs
parents:
diff changeset
   490
}
hgs
parents:
diff changeset
   491
 
hgs
parents:
diff changeset
   492
hgs
parents:
diff changeset
   493
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   494
// testLongPressGesture
hgs
parents:
diff changeset
   495
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   496
//
hgs
parents:
diff changeset
   497
void TestListWidget::testLongPressGesture()
hgs
parents:
diff changeset
   498
{
34
hgs
parents: 30
diff changeset
   499
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   500
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   501
30
hgs
parents:
diff changeset
   502
    QVariant data = QString("test");
hgs
parents:
diff changeset
   503
    // correct data to index 0
34
hgs
parents: 30
diff changeset
   504
    VideoListDataModelData::setData( Qt::DisplayRole, data);
35
hgs
parents: 34
diff changeset
   505
    setRowCount(2);
30
hgs
parents:
diff changeset
   506
    
hgs
parents:
diff changeset
   507
    QPointF point(1,1);
34
hgs
parents: 30
diff changeset
   508
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
   509
    
35
hgs
parents: 34
diff changeset
   510
    mTestWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
30
hgs
parents:
diff changeset
   511
    // mDetailsReady is false
hgs
parents:
diff changeset
   512
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   513
    QVERIFY(HbMenuData::mExecPoint != point);
30
hgs
parents:
diff changeset
   514
    QVERIFY(HbListView::mLongPressedPoint != point);
hgs
parents:
diff changeset
   515
    
hgs
parents:
diff changeset
   516
    // multiselection is on
hgs
parents:
diff changeset
   517
    mTestWidget->callLongPressGesture(point);
35
hgs
parents: 34
diff changeset
   518
    QVERIFY(HbMenuData::mExecPoint != point);
hgs
parents: 34
diff changeset
   519
    
hgs
parents: 34
diff changeset
   520
    // selection mode is custom
hgs
parents: 34
diff changeset
   521
    mTestWidget->setSelectionMode(-1);
hgs
parents: 34
diff changeset
   522
    
hgs
parents: 34
diff changeset
   523
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   524
    QVERIFY(HbMenuData::mExecPoint != point);
30
hgs
parents:
diff changeset
   525
        
35
hgs
parents: 34
diff changeset
   526
    // item at position is null
hgs
parents: 34
diff changeset
   527
    HbListViewItem *pTmp = mTestWidget->mItem;
hgs
parents: 34
diff changeset
   528
    mTestWidget->mItem = 0;
hgs
parents: 34
diff changeset
   529
    mTestWidget->setSelectionMode(HbAbstractItemView::NoSelection);
30
hgs
parents:
diff changeset
   530
    HbListView::mCurrentIndex = QModelIndex();    
hgs
parents:
diff changeset
   531
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   532
    QVERIFY(HbMenuData::mExecPoint != point);
30
hgs
parents:
diff changeset
   533
    QVERIFY(HbListView::mLongPressedPoint == point);
hgs
parents:
diff changeset
   534
    
35
hgs
parents: 34
diff changeset
   535
    // item at position is not null, but returns invalid index
hgs
parents: 34
diff changeset
   536
    mTestWidget->mItem = pTmp;
hgs
parents: 34
diff changeset
   537
    mTestWidget->mItem->mModelIndex = QModelIndex();
hgs
parents: 34
diff changeset
   538
    mTestWidget->callLongPressGesture(point);
hgs
parents: 34
diff changeset
   539
    QVERIFY(HbMenuData::mExecPoint != point);
hgs
parents: 34
diff changeset
   540
    QVERIFY(HbListView::mLongPressedPoint == point);
hgs
parents: 34
diff changeset
   541
    
hgs
parents: 34
diff changeset
   542
    // item at position is not null, returns current index is valid
34
hgs
parents: 30
diff changeset
   543
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
35
hgs
parents: 34
diff changeset
   544
    mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
30
hgs
parents:
diff changeset
   545
    
hgs
parents:
diff changeset
   546
    // model is == 0
hgs
parents:
diff changeset
   547
    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
hgs
parents:
diff changeset
   548
    mTestWidget->mModel = 0;
hgs
parents:
diff changeset
   549
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   550
    QVERIFY(HbMenuData::mExecPoint != point);
30
hgs
parents:
diff changeset
   551
    QVERIFY(HbListView::mLongPressedPoint == point);
hgs
parents:
diff changeset
   552
    mTestWidget->mModel = tmp;
35
hgs
parents: 34
diff changeset
   553
    HbListView::mLongPressedPoint = QPointF();
30
hgs
parents:
diff changeset
   554
    
35
hgs
parents: 34
diff changeset
   555
    // gotten id != KVcxMvcMediaTypeVideo, service is true and id !=  KVcxMvcMediaTypeAlbum
hgs
parents: 34
diff changeset
   556
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   557
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
hgs
parents: 34
diff changeset
   558
    mTestWidget->mIsService = true;
30
hgs
parents:
diff changeset
   559
    mTestWidget->callLongPressGesture(point);
35
hgs
parents: 34
diff changeset
   560
    QVERIFY(HbMenuData::mExecPoint != point);
30
hgs
parents:
diff changeset
   561
    QVERIFY(HbListView::mLongPressedPoint == point);
35
hgs
parents: 34
diff changeset
   562
    HbListView::mLongPressedPoint = QPointF();
30
hgs
parents:
diff changeset
   563
    
35
hgs
parents: 34
diff changeset
   564
    // gotten id != KVcxMvcMediaTypeVideo, service is false and id !=  KVcxMvcMediaTypeAlbum
hgs
parents: 34
diff changeset
   565
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   566
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
hgs
parents: 34
diff changeset
   567
    mTestWidget->mIsService = false;
hgs
parents: 34
diff changeset
   568
    mTestWidget->callLongPressGesture(point);
hgs
parents: 34
diff changeset
   569
    QVERIFY(HbMenuData::mExecPoint != point);
hgs
parents: 34
diff changeset
   570
    QVERIFY(HbListView::mLongPressedPoint == point);
hgs
parents: 34
diff changeset
   571
    HbListView::mLongPressedPoint = QPointF();
30
hgs
parents:
diff changeset
   572
    
35
hgs
parents: 34
diff changeset
   573
    // gotten id != KVcxMvcMediaTypeVideo, service is false and id ==  KVcxMvcMediaTypeAlbum
hgs
parents: 34
diff changeset
   574
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   575
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2));
hgs
parents: 34
diff changeset
   576
    mTestWidget->mIsService = false;
30
hgs
parents:
diff changeset
   577
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   578
    QVERIFY(HbMenuData::mExecPoint == point);
30
hgs
parents:
diff changeset
   579
    QVERIFY(HbListView::mLongPressedPoint == point);
34
hgs
parents: 30
diff changeset
   580
    HbMenuData::mExecPoint = QPointF();
35
hgs
parents: 34
diff changeset
   581
    HbListView::mLongPressedPoint = QPointF();
30
hgs
parents:
diff changeset
   582
    
35
hgs
parents: 34
diff changeset
   583
    // gotten id == KVcxMvcMediaTypeVideo
hgs
parents: 34
diff changeset
   584
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   585
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,02));
hgs
parents: 34
diff changeset
   586
    mTestWidget->mIsService = false;
30
hgs
parents:
diff changeset
   587
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   588
    QVERIFY(HbMenuData::mExecPoint == point);
30
hgs
parents:
diff changeset
   589
    QVERIFY(HbListView::mLongPressedPoint == point);
34
hgs
parents: 30
diff changeset
   590
    HbMenuData::mExecPoint = QPointF();
35
hgs
parents: 34
diff changeset
   591
    HbListView::mLongPressedPoint = QPointF();
30
hgs
parents:
diff changeset
   592
    
35
hgs
parents: 34
diff changeset
   593
    // no context menu
hgs
parents: 34
diff changeset
   594
    // (context menu setup fails, due invalid amount of correct actions)
30
hgs
parents:
diff changeset
   595
    QMap<VideoListWidget::TContextActionIds, HbAction*>::iterator iter = mTestWidget->mContextMenuActions.begin();
hgs
parents:
diff changeset
   596
    iter++;
hgs
parents:
diff changeset
   597
    HbAction *nullAction = 0;
hgs
parents:
diff changeset
   598
    iter.value() = nullAction;
hgs
parents:
diff changeset
   599
    mTestWidget->callLongPressGesture(point);
34
hgs
parents: 30
diff changeset
   600
    QVERIFY(HbMenuData::mExecPoint != point);
30
hgs
parents:
diff changeset
   601
    QVERIFY(HbListView::mLongPressedPoint == point);
hgs
parents:
diff changeset
   602
}
hgs
parents:
diff changeset
   603
hgs
parents:
diff changeset
   604
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   605
// testSetContextMenu
hgs
parents:
diff changeset
   606
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   607
//
hgs
parents:
diff changeset
   608
void TestListWidget::testSetContextMenu()
hgs
parents:
diff changeset
   609
{
34
hgs
parents: 30
diff changeset
   610
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   611
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   612
    VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
hgs
parents: 30
diff changeset
   613
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 30
diff changeset
   614
    mTestWidget->initialize(*model);
35
hgs
parents: 34
diff changeset
   615
    
hgs
parents: 34
diff changeset
   616
    setRowCount(1);
hgs
parents: 34
diff changeset
   617
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
   618
    mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
30
hgs
parents:
diff changeset
   619
    
hgs
parents:
diff changeset
   620
    TMPXItemId itemId;
hgs
parents:
diff changeset
   621
    QPointF point(1,1);
hgs
parents:
diff changeset
   622
    itemId.iId2 = 0;
34
hgs
parents: 30
diff changeset
   623
    VideoSortFilterProxyModelData::mItemIds.append(itemId);
30
hgs
parents:
diff changeset
   624
hgs
parents:
diff changeset
   625
    // no context menu
hgs
parents:
diff changeset
   626
    delete mTestWidget->mContextMenu;
hgs
parents:
diff changeset
   627
    mTestWidget->mContextMenu = 0;   
hgs
parents:
diff changeset
   628
    
hgs
parents:
diff changeset
   629
    // mCurrentLevel == ELevelVideos
hgs
parents:
diff changeset
   630
    int visibleCount = 0;
34
hgs
parents: 30
diff changeset
   631
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
30
hgs
parents:
diff changeset
   632
    mTestWidget->callLongPressGesture(point);
hgs
parents:
diff changeset
   633
    
hgs
parents:
diff changeset
   634
    QMap<VideoListWidget::TContextActionIds, HbAction*>::iterator iter = mTestWidget->mContextMenuActions.begin();    
hgs
parents:
diff changeset
   635
    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
hgs
parents:
diff changeset
   636
    
hgs
parents:
diff changeset
   637
    while(iter != mTestWidget->mContextMenuActions.end())
hgs
parents:
diff changeset
   638
    {
hgs
parents:
diff changeset
   639
        if(iter.value()->mVisible)
hgs
parents:
diff changeset
   640
        {
hgs
parents:
diff changeset
   641
            visibleCount++;   
hgs
parents:
diff changeset
   642
        }
hgs
parents:
diff changeset
   643
        ++iter;
hgs
parents:
diff changeset
   644
    }
35
hgs
parents: 34
diff changeset
   645
    QVERIFY(visibleCount == 3);
30
hgs
parents:
diff changeset
   646
    
hgs
parents:
diff changeset
   647
    // invalid amount of actions -> invalid items gets removed
hgs
parents:
diff changeset
   648
    HbAction *nullAction = 0;
hgs
parents:
diff changeset
   649
    iter = mTestWidget->mContextMenuActions.begin();
hgs
parents:
diff changeset
   650
    iter++;
hgs
parents:
diff changeset
   651
    iter.value() = nullAction;
hgs
parents:
diff changeset
   652
    mTestWidget->callLongPressGesture(point);
hgs
parents:
diff changeset
   653
    QVERIFY(!mTestWidget->mContextMenu);
hgs
parents:
diff changeset
   654
    QVERIFY(mTestWidget->mContextMenuActions.count() == 0);            
hgs
parents:
diff changeset
   655
    
hgs
parents:
diff changeset
   656
    // mCurrentLevel == ELevelCategory
34
hgs
parents: 30
diff changeset
   657
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
35
hgs
parents: 34
diff changeset
   658
    // mIsService is false
hgs
parents: 34
diff changeset
   659
    mTestWidget->mIsService = false;
30
hgs
parents:
diff changeset
   660
    mTestWidget->callLongPressGesture(point);
hgs
parents:
diff changeset
   661
    iter = mTestWidget->mContextMenuActions.begin();
hgs
parents:
diff changeset
   662
    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
hgs
parents:
diff changeset
   663
    visibleCount = 0;
hgs
parents:
diff changeset
   664
    while(iter != mTestWidget->mContextMenuActions.end())
hgs
parents:
diff changeset
   665
    {
hgs
parents:
diff changeset
   666
        if(iter.value()->mVisible)
hgs
parents:
diff changeset
   667
        {
hgs
parents:
diff changeset
   668
            visibleCount++;   
hgs
parents:
diff changeset
   669
         }
35
hgs
parents: 34
diff changeset
   670
        ++iter;
hgs
parents: 34
diff changeset
   671
    }
hgs
parents: 34
diff changeset
   672
    QVERIFY(visibleCount == 2);
30
hgs
parents:
diff changeset
   673
    
35
hgs
parents: 34
diff changeset
   674
    // mIsService is true
hgs
parents: 34
diff changeset
   675
    mTestWidget->mIsService = true;
hgs
parents: 34
diff changeset
   676
    mTestWidget->callLongPressGesture(point);
hgs
parents: 34
diff changeset
   677
    iter = mTestWidget->mContextMenuActions.begin();
hgs
parents: 34
diff changeset
   678
    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
hgs
parents: 34
diff changeset
   679
    visibleCount = 0;
hgs
parents: 34
diff changeset
   680
    while(iter != mTestWidget->mContextMenuActions.end())
hgs
parents: 34
diff changeset
   681
    {
hgs
parents: 34
diff changeset
   682
        if(iter.value()->mVisible)
hgs
parents: 34
diff changeset
   683
        {
hgs
parents: 34
diff changeset
   684
            visibleCount++;   
hgs
parents: 34
diff changeset
   685
        }
hgs
parents: 34
diff changeset
   686
        ++iter;
hgs
parents: 34
diff changeset
   687
    }
hgs
parents: 34
diff changeset
   688
    QVERIFY(visibleCount == 0);
hgs
parents: 34
diff changeset
   689
    
hgs
parents: 34
diff changeset
   690
    // mCurrentLevel == ELevelAlbum
hgs
parents: 34
diff changeset
   691
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
hgs
parents: 34
diff changeset
   692
    // mIsService is false
hgs
parents: 34
diff changeset
   693
    mTestWidget->mIsService = false;
hgs
parents: 34
diff changeset
   694
    mTestWidget->callLongPressGesture(point);
hgs
parents: 34
diff changeset
   695
    iter = mTestWidget->mContextMenuActions.begin();
hgs
parents: 34
diff changeset
   696
    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
hgs
parents: 34
diff changeset
   697
    visibleCount = 0;
hgs
parents: 34
diff changeset
   698
    while(iter != mTestWidget->mContextMenuActions.end())
hgs
parents: 34
diff changeset
   699
    {
hgs
parents: 34
diff changeset
   700
        if(iter.value()->mVisible)
hgs
parents: 34
diff changeset
   701
        {
hgs
parents: 34
diff changeset
   702
            visibleCount++;   
hgs
parents: 34
diff changeset
   703
        }
hgs
parents: 34
diff changeset
   704
        ++iter;
hgs
parents: 34
diff changeset
   705
    }
hgs
parents: 34
diff changeset
   706
    QVERIFY(visibleCount == 3);    
30
hgs
parents:
diff changeset
   707
    
35
hgs
parents: 34
diff changeset
   708
    // mIsService is true
hgs
parents: 34
diff changeset
   709
    // object needs to be resetted for the service use
hgs
parents: 34
diff changeset
   710
    cleanup();
hgs
parents: 34
diff changeset
   711
    init();
hgs
parents: 34
diff changeset
   712
    setRowCount(1);
hgs
parents: 34
diff changeset
   713
    model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 34
diff changeset
   714
    mTestWidget->initialize(*model);
hgs
parents: 34
diff changeset
   715
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
   716
    mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
hgs
parents: 34
diff changeset
   717
    
hgs
parents: 34
diff changeset
   718
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
hgs
parents: 34
diff changeset
   719
    VideoSortFilterProxyModelData::mItemIds.append(itemId);
hgs
parents: 34
diff changeset
   720
    mTestWidget->mIsService = true;
hgs
parents: 34
diff changeset
   721
    mTestWidget->callLongPressGesture(point);
hgs
parents: 34
diff changeset
   722
    iter = mTestWidget->mContextMenuActions.begin();
hgs
parents: 34
diff changeset
   723
    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
hgs
parents: 34
diff changeset
   724
    visibleCount = 0;
hgs
parents: 34
diff changeset
   725
    while(iter != mTestWidget->mContextMenuActions.end())
hgs
parents: 34
diff changeset
   726
    {
hgs
parents: 34
diff changeset
   727
        if(iter.value()->mVisible)
hgs
parents: 34
diff changeset
   728
        {
hgs
parents: 34
diff changeset
   729
            visibleCount++;   
hgs
parents: 34
diff changeset
   730
        }
hgs
parents: 34
diff changeset
   731
        ++iter;
hgs
parents: 34
diff changeset
   732
    }
hgs
parents: 34
diff changeset
   733
    QVERIFY(visibleCount == 2);    
hgs
parents: 34
diff changeset
   734
      
hgs
parents: 34
diff changeset
   735
    //invalid level
hgs
parents: 34
diff changeset
   736
    mTestWidget->mCurrentLevel = (VideoCollectionCommon::TCollectionLevels)0;
hgs
parents: 34
diff changeset
   737
    mTestWidget->callLongPressGesture(point);
hgs
parents: 34
diff changeset
   738
    iter = mTestWidget->mContextMenuActions.begin();
hgs
parents: 34
diff changeset
   739
    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
hgs
parents: 34
diff changeset
   740
    visibleCount = 0;
hgs
parents: 34
diff changeset
   741
    while(iter != mTestWidget->mContextMenuActions.end())
hgs
parents: 34
diff changeset
   742
    {
hgs
parents: 34
diff changeset
   743
        if(iter.value()->mVisible)
hgs
parents: 34
diff changeset
   744
        {
hgs
parents: 34
diff changeset
   745
            visibleCount++;   
hgs
parents: 34
diff changeset
   746
        }
hgs
parents: 34
diff changeset
   747
        ++iter;
hgs
parents: 34
diff changeset
   748
    }
hgs
parents: 34
diff changeset
   749
    QVERIFY(visibleCount == 0);    
30
hgs
parents:
diff changeset
   750
}
35
hgs
parents: 34
diff changeset
   751
hgs
parents: 34
diff changeset
   752
void TestListWidget::testDoDelayedsSlot()
30
hgs
parents:
diff changeset
   753
{
35
hgs
parents: 34
diff changeset
   754
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(doDelayedsSlot()));
hgs
parents: 34
diff changeset
   755
    
hgs
parents: 34
diff changeset
   756
    //dodelayed calls create context menu, which is already tested at
hgs
parents: 34
diff changeset
   757
    // testSetContextMenu -method, these tests are just for coverity's sake
34
hgs
parents: 30
diff changeset
   758
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   759
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
35
hgs
parents: 34
diff changeset
   760
    mTestWidget->initialize(*model);
hgs
parents: 34
diff changeset
   761
    
hgs
parents: 34
diff changeset
   762
    delete mTestWidget->mContextMenu;
hgs
parents: 34
diff changeset
   763
    mTestWidget->mContextMenu = 0;   
hgs
parents: 34
diff changeset
   764
    int visibleCount = 0;
hgs
parents: 34
diff changeset
   765
    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
hgs
parents: 34
diff changeset
   766
    
hgs
parents: 34
diff changeset
   767
    // no context menu
hgs
parents: 34
diff changeset
   768
    emit testSignal();
hgs
parents: 34
diff changeset
   769
    
hgs
parents: 34
diff changeset
   770
    QVERIFY(mTestWidget->mContextMenuActions.count() == 6);
hgs
parents: 34
diff changeset
   771
   
hgs
parents: 34
diff changeset
   772
    // context menu exists
hgs
parents: 34
diff changeset
   773
    emit testSignal();
hgs
parents: 34
diff changeset
   774
   
hgs
parents: 34
diff changeset
   775
    QVERIFY(mTestWidget->mContextMenuActions.count() == 6);
hgs
parents: 34
diff changeset
   776
    
hgs
parents: 34
diff changeset
   777
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingStartedSlot()));
hgs
parents: 34
diff changeset
   778
}
34
hgs
parents: 30
diff changeset
   779
30
hgs
parents:
diff changeset
   780
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   781
// testDeleteItemSlot
hgs
parents:
diff changeset
   782
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   783
//
hgs
parents:
diff changeset
   784
void TestListWidget::testDeleteItemSlot()
hgs
parents:
diff changeset
   785
{
34
hgs
parents: 30
diff changeset
   786
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   787
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   788
hgs
parents: 30
diff changeset
   789
    HbMessageBoxData::mLatestTxt = "";
hgs
parents: 30
diff changeset
   790
    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
hgs
parents: 30
diff changeset
   791
    mTestWidget->initialize(*model);    
30
hgs
parents:
diff changeset
   792
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));    
hgs
parents:
diff changeset
   793
    
hgs
parents:
diff changeset
   794
    // no model
hgs
parents:
diff changeset
   795
    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
hgs
parents:
diff changeset
   796
    mTestWidget->mModel = 0;
hgs
parents:
diff changeset
   797
    emit testSignal();
34
hgs
parents: 30
diff changeset
   798
    QVERIFY(VideoListDataModelData::dataAccessCount() == 0);
hgs
parents: 30
diff changeset
   799
    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 30
diff changeset
   800
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
hgs
parents: 30
diff changeset
   801
    setRowCount(1);
30
hgs
parents:
diff changeset
   802
    mTestWidget->mModel = tmp;
hgs
parents:
diff changeset
   803
    
hgs
parents:
diff changeset
   804
    // data fetched from item is invalid
34
hgs
parents: 30
diff changeset
   805
    setRowCount(1);
hgs
parents: 30
diff changeset
   806
    mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex()); 
30
hgs
parents:
diff changeset
   807
    emit testSignal();
34
hgs
parents: 30
diff changeset
   808
    QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
hgs
parents: 30
diff changeset
   809
    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 30
diff changeset
   810
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
hgs
parents: 30
diff changeset
   811
    setRowCount(0);
30
hgs
parents:
diff changeset
   812
    
hgs
parents:
diff changeset
   813
    // data is valid
34
hgs
parents: 30
diff changeset
   814
    setRowCount(1);
30
hgs
parents:
diff changeset
   815
    QVariant data = QString("test");
34
hgs
parents: 30
diff changeset
   816
    VideoListDataModelData::setData( Qt::DisplayRole, data);
hgs
parents: 30
diff changeset
   817
    mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
30
hgs
parents:
diff changeset
   818
    
hgs
parents:
diff changeset
   819
    // messagebox question returns false
34
hgs
parents: 30
diff changeset
   820
    HbMessageBoxData::mQuestionReturnValue = false;
30
hgs
parents:
diff changeset
   821
    emit testSignal();
35
hgs
parents: 34
diff changeset
   822
    QVERIFY(VideoListDataModelData::dataAccessCount() == 2);
34
hgs
parents: 30
diff changeset
   823
    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
35
hgs
parents: 34
diff changeset
   824
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
34
hgs
parents: 30
diff changeset
   825
    HbMessageBoxData::mLatestTxt = "";
hgs
parents: 30
diff changeset
   826
    setRowCount(1);
30
hgs
parents:
diff changeset
   827
    data = QString("test");
34
hgs
parents: 30
diff changeset
   828
    VideoListDataModelData::setData( Qt::DisplayRole, data);
30
hgs
parents:
diff changeset
   829
    
hgs
parents:
diff changeset
   830
    // messagebox question returns true
35
hgs
parents: 34
diff changeset
   831
    VideoSortFilterProxyModelData::mDeleteItemsFails = false;
34
hgs
parents: 30
diff changeset
   832
    HbMessageBoxData::mQuestionReturnValue = true;
30
hgs
parents:
diff changeset
   833
    emit testSignal();
35
hgs
parents: 34
diff changeset
   834
    QVERIFY(VideoListDataModelData::dataAccessCount() == 3);
34
hgs
parents: 30
diff changeset
   835
    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 30
diff changeset
   836
    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
30
hgs
parents:
diff changeset
   837
    
hgs
parents:
diff changeset
   838
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));
hgs
parents:
diff changeset
   839
}
hgs
parents:
diff changeset
   840
 
hgs
parents:
diff changeset
   841
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   842
// testRenameSlot
hgs
parents:
diff changeset
   843
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   844
//
hgs
parents:
diff changeset
   845
void TestListWidget::testRenameSlot()
hgs
parents:
diff changeset
   846
{
34
hgs
parents: 30
diff changeset
   847
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   848
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   849
30
hgs
parents:
diff changeset
   850
    // nothing to test yet
34
hgs
parents: 30
diff changeset
   851
    HbMessageBoxData::mLatestTxt = "";
hgs
parents: 30
diff changeset
   852
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
   853
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
hgs
parents:
diff changeset
   854
    emit testSignal();
34
hgs
parents: 30
diff changeset
   855
    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
30
hgs
parents:
diff changeset
   856
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
hgs
parents:
diff changeset
   857
}
hgs
parents:
diff changeset
   858
  
hgs
parents:
diff changeset
   859
// ---------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
   860
// testPlayItemSlot
hgs
parents: 34
diff changeset
   861
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   862
//
hgs
parents: 34
diff changeset
   863
void TestListWidget::testPlayItemSlot()
hgs
parents: 34
diff changeset
   864
{
hgs
parents: 34
diff changeset
   865
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 34
diff changeset
   866
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 34
diff changeset
   867
    mTestWidget->initialize(*model);
hgs
parents: 34
diff changeset
   868
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));
hgs
parents: 34
diff changeset
   869
    setRowCount(1);
hgs
parents: 34
diff changeset
   870
    TMPXItemId savedId = TMPXItemId(1,1);
hgs
parents: 34
diff changeset
   871
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   872
    VideoSortFilterProxyModelData::mItemIds.append(savedId);
hgs
parents: 34
diff changeset
   873
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
   874
    
hgs
parents: 34
diff changeset
   875
    emit testSignal();
hgs
parents: 34
diff changeset
   876
    
hgs
parents: 34
diff changeset
   877
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
hgs
parents: 34
diff changeset
   878
    
hgs
parents: 34
diff changeset
   879
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));    
hgs
parents: 34
diff changeset
   880
}
hgs
parents: 34
diff changeset
   881
hgs
parents: 34
diff changeset
   882
// ---------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   883
// testPlayAllSlot
hgs
parents:
diff changeset
   884
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   885
//
hgs
parents:
diff changeset
   886
void TestListWidget::testPlayAllSlot()
hgs
parents:
diff changeset
   887
{
35
hgs
parents: 34
diff changeset
   888
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playAllSlot())); 
30
hgs
parents:
diff changeset
   889
    emit testSignal();
hgs
parents:
diff changeset
   890
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playAllSlot()));    
hgs
parents:
diff changeset
   891
}
hgs
parents:
diff changeset
   892
  
hgs
parents:
diff changeset
   893
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   894
// testAddToCollectionSlot
hgs
parents:
diff changeset
   895
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   896
//
hgs
parents:
diff changeset
   897
void TestListWidget::testAddToCollectionSlot()
hgs
parents:
diff changeset
   898
{
34
hgs
parents: 30
diff changeset
   899
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
   900
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
   901
35
hgs
parents: 34
diff changeset
   902
    VideoListSelectionDialogData::mSelectionType = -1;
hgs
parents: 34
diff changeset
   903
    VideoListSelectionDialogData::mSettedMpxId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   904
    
30
hgs
parents:
diff changeset
   905
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
35
hgs
parents: 34
diff changeset
   906
    setRowCount(1);
hgs
parents: 34
diff changeset
   907
    TMPXItemId savedId = TMPXItemId(1,1);
hgs
parents: 34
diff changeset
   908
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   909
    VideoSortFilterProxyModelData::mItemIds.append(savedId);
hgs
parents: 34
diff changeset
   910
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
   911
    
hgs
parents: 34
diff changeset
   912
    // no model
30
hgs
parents:
diff changeset
   913
    emit testSignal();
35
hgs
parents: 34
diff changeset
   914
    QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
hgs
parents: 34
diff changeset
   915
    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   916
hgs
parents: 34
diff changeset
   917
    mTestWidget->initialize(*model);
hgs
parents: 34
diff changeset
   918
    // dialog finding fails
hgs
parents: 34
diff changeset
   919
    VideoCollectionUiLoaderData::mFindFailureNameList.append(DOCML_NAME_DIALOG);
hgs
parents: 34
diff changeset
   920
    emit testSignal();
hgs
parents: 34
diff changeset
   921
    QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
hgs
parents: 34
diff changeset
   922
    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   923
    VideoCollectionUiLoaderData::mFindFailureNameList.clear();
hgs
parents: 34
diff changeset
   924
    
hgs
parents: 34
diff changeset
   925
    // invalid id at current index
hgs
parents: 34
diff changeset
   926
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   927
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   928
    emit testSignal();
hgs
parents: 34
diff changeset
   929
    QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
hgs
parents: 34
diff changeset
   930
    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   931
    
hgs
parents: 34
diff changeset
   932
    // valid id at current index
hgs
parents: 34
diff changeset
   933
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   934
    VideoSortFilterProxyModelData::mItemIds.append(savedId);
hgs
parents: 34
diff changeset
   935
    emit testSignal();
hgs
parents: 34
diff changeset
   936
    QVERIFY(VideoListSelectionDialogData::mSelectionType == VideoListSelectionDialog::ESelectCollection );
hgs
parents: 34
diff changeset
   937
    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == savedId);
hgs
parents: 34
diff changeset
   938
    
hgs
parents: 34
diff changeset
   939
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
hgs
parents: 34
diff changeset
   940
        
30
hgs
parents:
diff changeset
   941
}
hgs
parents:
diff changeset
   942
 
hgs
parents:
diff changeset
   943
// ---------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
   944
// testRemoveFromCollectionSlot
hgs
parents: 34
diff changeset
   945
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   946
// 
hgs
parents: 34
diff changeset
   947
void TestListWidget::testRemoveFromCollectionSlot()
hgs
parents: 34
diff changeset
   948
{
hgs
parents: 34
diff changeset
   949
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 34
diff changeset
   950
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 34
diff changeset
   951
hgs
parents: 34
diff changeset
   952
    VideoSortFilterProxyModelData::mRemoveItemsFromAlbumReturnValue = 0;
hgs
parents: 34
diff changeset
   953
    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   954
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   955
    
hgs
parents: 34
diff changeset
   956
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot()));
hgs
parents: 34
diff changeset
   957
    setRowCount(2);
hgs
parents: 34
diff changeset
   958
    TMPXItemId savedId = TMPXItemId(1,1);
hgs
parents: 34
diff changeset
   959
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
   960
    // invalid id at index 0
hgs
parents: 34
diff changeset
   961
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   962
    VideoSortFilterProxyModelData::mItemIds.append(savedId);
hgs
parents: 34
diff changeset
   963
    HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
hgs
parents: 34
diff changeset
   964
    
hgs
parents: 34
diff changeset
   965
    // no model
hgs
parents: 34
diff changeset
   966
    emit testSignal();
hgs
parents: 34
diff changeset
   967
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   968
    
hgs
parents: 34
diff changeset
   969
    mTestWidget->initialize(*model);
hgs
parents: 34
diff changeset
   970
    VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   971
    
hgs
parents: 34
diff changeset
   972
    // collection id is invalid
hgs
parents: 34
diff changeset
   973
    emit testSignal();
hgs
parents: 34
diff changeset
   974
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   975
    VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId(1,2);
hgs
parents: 34
diff changeset
   976
    
hgs
parents: 34
diff changeset
   977
    // media at current index is invalid
hgs
parents: 34
diff changeset
   978
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
   979
    emit testSignal();
hgs
parents: 34
diff changeset
   980
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
   981
            
hgs
parents: 34
diff changeset
   982
    // all is ok
hgs
parents: 34
diff changeset
   983
    HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
hgs
parents: 34
diff changeset
   984
    emit testSignal();
hgs
parents: 34
diff changeset
   985
    
hgs
parents: 34
diff changeset
   986
    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId(1,2));
hgs
parents: 34
diff changeset
   987
    // ids are to be saved at VideoSortFilterProxyModelData::mItemIds 
hgs
parents: 34
diff changeset
   988
    QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == savedId);
hgs
parents: 34
diff changeset
   989
    
hgs
parents: 34
diff changeset
   990
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot())); 
hgs
parents: 34
diff changeset
   991
}
hgs
parents: 34
diff changeset
   992
 
hgs
parents: 34
diff changeset
   993
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   994
// testRemoveCollectionSlot
hgs
parents: 34
diff changeset
   995
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   996
//
hgs
parents: 34
diff changeset
   997
void TestListWidget::testRemoveCollectionSlot()
hgs
parents: 34
diff changeset
   998
{
hgs
parents: 34
diff changeset
   999
    VideoSortFilterProxyModelData::mRemoveAlbumsFails = false;
hgs
parents: 34
diff changeset
  1000
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 34
diff changeset
  1001
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 34
diff changeset
  1002
    
hgs
parents: 34
diff changeset
  1003
    HbMessageBoxData::mQuestionReturnValue = true;
hgs
parents: 34
diff changeset
  1004
    HbMessageBoxData::mLatestTxt = "";
hgs
parents: 34
diff changeset
  1005
    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
hgs
parents: 34
diff changeset
  1006
    
hgs
parents: 34
diff changeset
  1007
    setRowCount(1);
hgs
parents: 34
diff changeset
  1008
    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 34
diff changeset
  1009
    
hgs
parents: 34
diff changeset
  1010
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
hgs
parents: 34
diff changeset
  1011
    
hgs
parents: 34
diff changeset
  1012
    setRowCount(2);
hgs
parents: 34
diff changeset
  1013
    TMPXItemId savedId = TMPXItemId(1,1);
hgs
parents: 34
diff changeset
  1014
    VideoSortFilterProxyModelData::mItemIds.clear();
hgs
parents: 34
diff changeset
  1015
    // invalid id at index 0
hgs
parents: 34
diff changeset
  1016
    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
  1017
    VideoSortFilterProxyModelData::mItemIds.append(savedId);
hgs
parents: 34
diff changeset
  1018
    HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
hgs
parents: 34
diff changeset
  1019
    
hgs
parents: 34
diff changeset
  1020
    // no model
hgs
parents: 34
diff changeset
  1021
    emit testSignal();
hgs
parents: 34
diff changeset
  1022
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
hgs
parents: 34
diff changeset
  1023
    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 34
diff changeset
  1024
    
hgs
parents: 34
diff changeset
  1025
    mTestWidget->initialize(*model);
hgs
parents: 34
diff changeset
  1026
    
hgs
parents: 34
diff changeset
  1027
    // invalid data    
hgs
parents: 34
diff changeset
  1028
    VideoListDataModelData::setData( Qt::DisplayRole, QVariant());
hgs
parents: 34
diff changeset
  1029
    emit testSignal();
hgs
parents: 34
diff changeset
  1030
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
hgs
parents: 34
diff changeset
  1031
    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 34
diff changeset
  1032
    
hgs
parents: 34
diff changeset
  1033
    // valid data 
hgs
parents: 34
diff changeset
  1034
    VideoListDataModelData::setData( Qt::DisplayRole, "test");
hgs
parents: 34
diff changeset
  1035
    emit testSignal();
hgs
parents: 34
diff changeset
  1036
    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.isValid());
hgs
parents: 34
diff changeset
  1037
    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 1);
hgs
parents: 34
diff changeset
  1038
    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 34
diff changeset
  1039
    
hgs
parents: 34
diff changeset
  1040
    // msg box return false (for coverity)
hgs
parents: 34
diff changeset
  1041
    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
hgs
parents: 34
diff changeset
  1042
    HbMessageBoxData::mLatestTxt = "";
hgs
parents: 34
diff changeset
  1043
    HbMessageBoxData::mQuestionReturnValue = false;
hgs
parents: 34
diff changeset
  1044
    emit testSignal();
hgs
parents: 34
diff changeset
  1045
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
hgs
parents: 34
diff changeset
  1046
    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
hgs
parents: 34
diff changeset
  1047
    
hgs
parents: 34
diff changeset
  1048
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
hgs
parents: 34
diff changeset
  1049
}
hgs
parents: 34
diff changeset
  1050
hgs
parents: 34
diff changeset
  1051
// ---------------------------------------------------------------------------
30
hgs
parents:
diff changeset
  1052
// testOpenDetailsSlot
hgs
parents:
diff changeset
  1053
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1054
//
hgs
parents:
diff changeset
  1055
void TestListWidget::testOpenDetailsSlot()
hgs
parents:
diff changeset
  1056
{
34
hgs
parents: 30
diff changeset
  1057
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
  1058
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
  1059
30
hgs
parents:
diff changeset
  1060
    QSignalSpy spysignal(mTestWidget, SIGNAL(command(int)));
34
hgs
parents: 30
diff changeset
  1061
    HbMessageBoxData::mLatestTxt = "";
hgs
parents: 30
diff changeset
  1062
    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
hgs
parents: 30
diff changeset
  1063
    setRowCount(0);
hgs
parents: 30
diff changeset
  1064
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
  1065
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
hgs
parents:
diff changeset
  1066
hgs
parents:
diff changeset
  1067
    // no model
hgs
parents:
diff changeset
  1068
    VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
hgs
parents:
diff changeset
  1069
    mTestWidget->mModel = 0;
hgs
parents:
diff changeset
  1070
    emit testSignal();
hgs
parents:
diff changeset
  1071
    QVERIFY(spysignal.count() == 0);
34
hgs
parents: 30
diff changeset
  1072
    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
30
hgs
parents:
diff changeset
  1073
    mTestWidget->mModel = tmp;
hgs
parents:
diff changeset
  1074
    
hgs
parents:
diff changeset
  1075
    // detail fetch fails
34
hgs
parents: 30
diff changeset
  1076
    setRowCount(1);
30
hgs
parents:
diff changeset
  1077
    QVariant data = QString("test");
34
hgs
parents: 30
diff changeset
  1078
    VideoListDataModelData::setData( Qt::DisplayRole, data);
hgs
parents: 30
diff changeset
  1079
    mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
hgs
parents: 30
diff changeset
  1080
    VideoSortFilterProxyModelData::mDetailsReturnValue = -1;
30
hgs
parents:
diff changeset
  1081
    
hgs
parents:
diff changeset
  1082
    emit testSignal();
hgs
parents:
diff changeset
  1083
    QVERIFY(spysignal.count() == 0);
34
hgs
parents: 30
diff changeset
  1084
    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
30
hgs
parents:
diff changeset
  1085
    
hgs
parents:
diff changeset
  1086
    // detail fetch succeeds
34
hgs
parents: 30
diff changeset
  1087
    VideoSortFilterProxyModelData::mDetailsReturnValue = 0;
hgs
parents: 30
diff changeset
  1088
    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
30
hgs
parents:
diff changeset
  1089
    emit testSignal();
hgs
parents:
diff changeset
  1090
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
  1091
    QVERIFY(spysignal.at(0).at(0).isValid());
hgs
parents:
diff changeset
  1092
    QVERIFY(spysignal.at(0).at(0).toInt() == MpxHbVideoCommon::ActivateVideoDetailsView);
34
hgs
parents: 30
diff changeset
  1093
    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
30
hgs
parents:
diff changeset
  1094
    
hgs
parents:
diff changeset
  1095
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
hgs
parents:
diff changeset
  1096
}
hgs
parents:
diff changeset
  1097
 
hgs
parents:
diff changeset
  1098
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1099
// testBack
hgs
parents:
diff changeset
  1100
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1101
//
hgs
parents:
diff changeset
  1102
void TestListWidget::testBack()
hgs
parents:
diff changeset
  1103
{
34
hgs
parents: 30
diff changeset
  1104
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
  1105
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
  1106
35
hgs
parents: 34
diff changeset
  1107
    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
30
hgs
parents:
diff changeset
  1108
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
hgs
parents:
diff changeset
  1109
    // no model
hgs
parents:
diff changeset
  1110
    emit testSignal();        
hgs
parents:
diff changeset
  1111
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
  1112
        
hgs
parents:
diff changeset
  1113
    // model exist
34
hgs
parents: 30
diff changeset
  1114
    mTestWidget->initialize(*model);   
30
hgs
parents:
diff changeset
  1115
    emit testSignal();    
hgs
parents:
diff changeset
  1116
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
  1117
    QVERIFY(spysignal.value(0).at(0).isValid());
hgs
parents:
diff changeset
  1118
    QVERIFY(spysignal.value(0).at(0).toBool() == false);   
hgs
parents:
diff changeset
  1119
    QVERIFY(spysignal.value(0).at(1).isValid());
hgs
parents:
diff changeset
  1120
    QVERIFY(spysignal.value(0).at(1).toString().isEmpty());   
hgs
parents:
diff changeset
  1121
    
hgs
parents:
diff changeset
  1122
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
hgs
parents:
diff changeset
  1123
}
35
hgs
parents: 34
diff changeset
  1124
hgs
parents: 34
diff changeset
  1125
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
  1126
// testScrollingEndedSlot
hgs
parents: 34
diff changeset
  1127
// ---------------------------------------------------------------------------
hgs
parents: 34
diff changeset
  1128
//
hgs
parents: 34
diff changeset
  1129
void TestListWidget::testScrollingStartedSlot()
hgs
parents: 34
diff changeset
  1130
{
hgs
parents: 34
diff changeset
  1131
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingStartedSlot()));
hgs
parents: 34
diff changeset
  1132
    
hgs
parents: 34
diff changeset
  1133
    emit testSignal();
hgs
parents: 34
diff changeset
  1134
    
hgs
parents: 34
diff changeset
  1135
    
hgs
parents: 34
diff changeset
  1136
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingStartedSlot()));
hgs
parents: 34
diff changeset
  1137
}
hgs
parents: 34
diff changeset
  1138
30
hgs
parents:
diff changeset
  1139
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1140
// testScrollingEndedSlot
hgs
parents:
diff changeset
  1141
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1142
// 
hgs
parents:
diff changeset
  1143
void TestListWidget::testScrollingEndedSlot()
hgs
parents:
diff changeset
  1144
{
34
hgs
parents: 30
diff changeset
  1145
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
  1146
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
  1147
hgs
parents: 30
diff changeset
  1148
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
  1149
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingEndedSlot()));
hgs
parents:
diff changeset
  1150
    
hgs
parents:
diff changeset
  1151
    // no visible items
hgs
parents:
diff changeset
  1152
    HbListView::mVisibleItems.clear();
hgs
parents:
diff changeset
  1153
    emit testSignal();
34
hgs
parents: 30
diff changeset
  1154
    QVERIFY(VideoThumbnailTestData::mStartBackgroundFetchingCallCount == 0);
30
hgs
parents:
diff changeset
  1155
    QVERIFY(!mTestWidget->mScrollPositionTimer->isActive());
hgs
parents:
diff changeset
  1156
    
hgs
parents:
diff changeset
  1157
    // setup few "visible" items and make sure item count match at thumbnail data
hgs
parents:
diff changeset
  1158
    int count = 10;
34
hgs
parents: 30
diff changeset
  1159
    setRowCount(count);
30
hgs
parents:
diff changeset
  1160
    HbAbstractViewItem *item = 0;
hgs
parents:
diff changeset
  1161
    for(int i = 0; i < count; ++i)
hgs
parents:
diff changeset
  1162
    {
hgs
parents:
diff changeset
  1163
        item = new HbAbstractViewItem();
34
hgs
parents: 30
diff changeset
  1164
        item->mModelIndex = model->index(i, 0, QModelIndex());
30
hgs
parents:
diff changeset
  1165
        HbListView::mVisibleItems.append(item);
hgs
parents:
diff changeset
  1166
    }
hgs
parents:
diff changeset
  1167
    
hgs
parents:
diff changeset
  1168
    // Test
hgs
parents:
diff changeset
  1169
    emit testSignal();
34
hgs
parents: 30
diff changeset
  1170
    QVERIFY(VideoThumbnailTestData::mStartBackgroundFetchingCallCount == 1);
30
hgs
parents:
diff changeset
  1171
    QVERIFY(!mTestWidget->mScrollPositionTimer->isActive());
hgs
parents:
diff changeset
  1172
hgs
parents:
diff changeset
  1173
    // Test again when timer is null.
34
hgs
parents: 30
diff changeset
  1174
    VideoThumbnailTestData::mStartBackgroundFetchingCallCount = 0;
30
hgs
parents:
diff changeset
  1175
    QTimer *backup = mTestWidget->mScrollPositionTimer;
hgs
parents:
diff changeset
  1176
    mTestWidget->mScrollPositionTimer = 0;
hgs
parents:
diff changeset
  1177
    emit testSignal();
34
hgs
parents: 30
diff changeset
  1178
    QVERIFY(VideoThumbnailTestData::mStartBackgroundFetchingCallCount == 1);
30
hgs
parents:
diff changeset
  1179
    mTestWidget->mScrollPositionTimer = backup;
hgs
parents:
diff changeset
  1180
    backup = 0;
hgs
parents:
diff changeset
  1181
    
hgs
parents:
diff changeset
  1182
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingEndedSlot()));
hgs
parents:
diff changeset
  1183
}
hgs
parents:
diff changeset
  1184
hgs
parents:
diff changeset
  1185
// ---------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
  1186
// testScrollPositionChangedSlot
30
hgs
parents:
diff changeset
  1187
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1188
// 
hgs
parents:
diff changeset
  1189
void TestListWidget::testScrollPositionChangedSlot()
hgs
parents:
diff changeset
  1190
{
34
hgs
parents: 30
diff changeset
  1191
    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
hgs
parents: 30
diff changeset
  1192
    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
hgs
parents: 30
diff changeset
  1193
hgs
parents: 30
diff changeset
  1194
    mTestWidget->initialize(*model);
30
hgs
parents:
diff changeset
  1195
    const QPointF point;
hgs
parents:
diff changeset
  1196
    
hgs
parents:
diff changeset
  1197
    connect(this, SIGNAL(testSignal(const QPointF&)), mTestWidget, SLOT(scrollPositionChangedSlot(const QPointF&)));
hgs
parents:
diff changeset
  1198
    
hgs
parents:
diff changeset
  1199
    // Test
hgs
parents:
diff changeset
  1200
    emit testSignal(point);
hgs
parents:
diff changeset
  1201
    
hgs
parents:
diff changeset
  1202
    // Test again when timer is running.
hgs
parents:
diff changeset
  1203
    mTestWidget->mScrollPositionTimer->start(1000*30);
hgs
parents:
diff changeset
  1204
    emit testSignal(point);
hgs
parents:
diff changeset
  1205
    
hgs
parents:
diff changeset
  1206
    // Test when timer is null.
hgs
parents:
diff changeset
  1207
    QTimer *backup = mTestWidget->mScrollPositionTimer;
hgs
parents:
diff changeset
  1208
    mTestWidget->mScrollPositionTimer = 0;
hgs
parents:
diff changeset
  1209
    emit testSignal(point);
hgs
parents:
diff changeset
  1210
    mTestWidget->mScrollPositionTimer = backup;
hgs
parents:
diff changeset
  1211
    backup = 0;
hgs
parents:
diff changeset
  1212
    
hgs
parents:
diff changeset
  1213
    disconnect(this, SIGNAL(testSignal(const QPointF&)), mTestWidget, SLOT(scrollPositionChangedSlot(const QPointF&)));
hgs
parents:
diff changeset
  1214
}
hgs
parents:
diff changeset
  1215
35
hgs
parents: 34
diff changeset
  1216
void TestListWidget::testScrollPositionTimerSlot()
hgs
parents: 34
diff changeset
  1217
{
hgs
parents: 34
diff changeset
  1218
    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollPositionTimerSlot()));
hgs
parents: 34
diff changeset
  1219
    emit testSignal();
hgs
parents: 34
diff changeset
  1220
    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollPositionTimerSlot()));
hgs
parents: 34
diff changeset
  1221
        
hgs
parents: 34
diff changeset
  1222
}
hgs
parents: 34
diff changeset
  1223
30
hgs
parents:
diff changeset
  1224
// end of file