mpengine/tsrc/unittest_mpengine/src/unittest_mpengine.cpp
author hgs
Tue, 24 Aug 2010 03:36:14 -0500
changeset 51 560ce2306a17
parent 47 4cc1412daed0
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
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: Unit test for mpengine
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <QSignalSpy>
hgs
parents:
diff changeset
    19
#include <EqualizerConstants.h>
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include "unittest_mpengine.h"
hgs
parents:
diff changeset
    22
#include "mpmediakeyhandler.h"
hgs
parents:
diff changeset
    23
#include "mpmpxcollectionviewdefs.h"
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#define private public
hgs
parents:
diff changeset
    26
#include "mpengine.h"
hgs
parents:
diff changeset
    27
#undef private
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// help to test private function 
hgs
parents:
diff changeset
    30
#include "../../src/mpengine.cpp"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
/*!
hgs
parents:
diff changeset
    33
 Make our test case a stand-alone executable that runs all the test functions.
hgs
parents:
diff changeset
    34
 */
hgs
parents:
diff changeset
    35
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    36
{
hgs
parents:
diff changeset
    37
    QApplication app(argc, argv);
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
    TestMpEngine tv;
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
    if ( argc > 1 ) {
hgs
parents:
diff changeset
    42
        return QTest::qExec( &tv, argc, argv);
hgs
parents:
diff changeset
    43
    }
hgs
parents:
diff changeset
    44
    else {
hgs
parents:
diff changeset
    45
        char *pass[3];
hgs
parents:
diff changeset
    46
        pass[0] = argv[0];
hgs
parents:
diff changeset
    47
        pass[1] = "-o";
hgs
parents:
diff changeset
    48
        pass[2] = "c:\\data\\unittest_mpengine.txt";
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
        return QTest::qExec(&tv, 3, pass);
hgs
parents:
diff changeset
    51
    }
hgs
parents:
diff changeset
    52
}
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
TestMpEngine::TestMpEngine()
hgs
parents:
diff changeset
    55
    : mTest(0)
hgs
parents:
diff changeset
    56
{
hgs
parents:
diff changeset
    57
}
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
TestMpEngine::~TestMpEngine()
hgs
parents:
diff changeset
    60
{
hgs
parents:
diff changeset
    61
    delete mTest;
hgs
parents:
diff changeset
    62
}
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
/*!
hgs
parents:
diff changeset
    65
 Called before the first testfunction is executed.
hgs
parents:
diff changeset
    66
 */
hgs
parents:
diff changeset
    67
void TestMpEngine::initTestCase()
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
 Called after the last testfunction was executed.
hgs
parents:
diff changeset
    73
 */
hgs
parents:
diff changeset
    74
void TestMpEngine::cleanupTestCase()
hgs
parents:
diff changeset
    75
{
hgs
parents:
diff changeset
    76
    MpEngineFactory::close();
hgs
parents:
diff changeset
    77
}
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
/*!
hgs
parents:
diff changeset
    80
 Called before each testfunction is executed.
hgs
parents:
diff changeset
    81
 */
hgs
parents:
diff changeset
    82
void TestMpEngine::init()
hgs
parents:
diff changeset
    83
{
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
}
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
/*!
hgs
parents:
diff changeset
    88
 Called after every testfunction.
hgs
parents:
diff changeset
    89
 */
hgs
parents:
diff changeset
    90
void TestMpEngine::cleanup()
hgs
parents:
diff changeset
    91
{
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
}
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
/*!
hgs
parents:
diff changeset
    96
 test initialize
hgs
parents:
diff changeset
    97
 */
hgs
parents:
diff changeset
    98
void TestMpEngine::testInitialize()
hgs
parents:
diff changeset
    99
{
hgs
parents:
diff changeset
   100
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   101
    QVERIFY( mTest->mSongData != 0 );
hgs
parents:
diff changeset
   102
    QVERIFY( mTest->mMpxHarvesterWrapper != 0 );
hgs
parents:
diff changeset
   103
    QVERIFY( mTest->mMpxCollectionWrapper != 0 );
hgs
parents:
diff changeset
   104
    QVERIFY( mTest->mEqualizerWrapper != 0 );
hgs
parents:
diff changeset
   105
    QVERIFY( mTest->mMpxPlaybackWrapper != 0 );
hgs
parents:
diff changeset
   106
    QVERIFY( mTest->mAudioEffectsWrapper != 0 );
hgs
parents:
diff changeset
   107
    
hgs
parents:
diff changeset
   108
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::Fetch );
hgs
parents:
diff changeset
   109
    QVERIFY( mTest->mMpxHarvesterWrapper != 0 );
hgs
parents:
diff changeset
   110
    QVERIFY( mTest->mMpxCollectionWrapper != 0 );
hgs
parents:
diff changeset
   111
    QVERIFY( mTest->mMpxPlaybackWrapper != 0 );
hgs
parents:
diff changeset
   112
    QVERIFY( mTest->mEqualizerWrapper == 0 );
hgs
parents:
diff changeset
   113
    QVERIFY( mTest->mAudioEffectsWrapper == 0 );
hgs
parents:
diff changeset
   114
    
hgs
parents:
diff changeset
   115
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::MediaBrowsing );
hgs
parents:
diff changeset
   116
    QVERIFY( mTest->mMpxCollectionWrapper != 0 );
hgs
parents:
diff changeset
   117
    QVERIFY( mTest->mMpxHarvesterWrapper == 0 );
hgs
parents:
diff changeset
   118
    QVERIFY( mTest->mMpxPlaybackWrapper == 0 );
hgs
parents:
diff changeset
   119
    QVERIFY( mTest->mEqualizerWrapper == 0 );
hgs
parents:
diff changeset
   120
    QVERIFY( mTest->mAudioEffectsWrapper == 0 );
hgs
parents:
diff changeset
   121
    
hgs
parents:
diff changeset
   122
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::Embedded );
hgs
parents:
diff changeset
   123
    QVERIFY( mTest->mMpxPlaybackWrapper != 0 );
hgs
parents:
diff changeset
   124
    QVERIFY( mTest->mSongData != 0 );
hgs
parents:
diff changeset
   125
}
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
/*!
hgs
parents:
diff changeset
   128
 test verifyUsbBlocking
hgs
parents:
diff changeset
   129
 */
hgs
parents:
diff changeset
   130
void TestMpEngine::testVerifyUsbBlocking() 
hgs
parents:
diff changeset
   131
{
hgs
parents:
diff changeset
   132
    bool result;
hgs
parents:
diff changeset
   133
    QSignalSpy spy( mTest, SIGNAL( unableToCotinueDueUSB() ) );
hgs
parents:
diff changeset
   134
    
hgs
parents:
diff changeset
   135
    mTest->mUsbBlockingState = MpEngine::USB_Connected;
hgs
parents:
diff changeset
   136
    result = mTest->verifyUsbBlocking( true );    
hgs
parents:
diff changeset
   137
    QVERIFY( result == true );
hgs
parents:
diff changeset
   138
    QVERIFY( spy.count() == 1 ); 
hgs
parents:
diff changeset
   139
    spy.clear();
hgs
parents:
diff changeset
   140
    
hgs
parents:
diff changeset
   141
    mTest->mUsbBlockingState = MpEngine::USB_Connected;
hgs
parents:
diff changeset
   142
    result = mTest->verifyUsbBlocking( false );
hgs
parents:
diff changeset
   143
    QVERIFY( result == true );
hgs
parents:
diff changeset
   144
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   145
    spy.clear();
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    mTest->mUsbBlockingState = MpEngine::USB_NotConnected;
hgs
parents:
diff changeset
   148
    result = mTest->verifyUsbBlocking( true );
hgs
parents:
diff changeset
   149
    QVERIFY( result == false );
hgs
parents:
diff changeset
   150
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   151
    spy.clear();
hgs
parents:
diff changeset
   152
    
hgs
parents:
diff changeset
   153
    mTest->mUsbBlockingState = MpEngine::USB_NotConnected;
hgs
parents:
diff changeset
   154
    result = mTest->verifyUsbBlocking( false );
hgs
parents:
diff changeset
   155
    QVERIFY( result == false );
hgs
parents:
diff changeset
   156
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   157
    spy.clear();
hgs
parents:
diff changeset
   158
    
hgs
parents:
diff changeset
   159
    mTest->mUsbBlockingState = MpEngine::USB_Synchronizing;
hgs
parents:
diff changeset
   160
    result = mTest->verifyUsbBlocking( true );
hgs
parents:
diff changeset
   161
    QVERIFY( result == false );
hgs
parents:
diff changeset
   162
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   163
    spy.clear();
hgs
parents:
diff changeset
   164
    
hgs
parents:
diff changeset
   165
    mTest->mUsbBlockingState = MpEngine::USB_Synchronizing;
hgs
parents:
diff changeset
   166
    result = mTest->verifyUsbBlocking( false );
hgs
parents:
diff changeset
   167
    QVERIFY( result == false );
hgs
parents:
diff changeset
   168
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   169
    spy.clear();    
hgs
parents:
diff changeset
   170
}
hgs
parents:
diff changeset
   171
hgs
parents:
diff changeset
   172
/*!
hgs
parents:
diff changeset
   173
 test songScanner
hgs
parents:
diff changeset
   174
 */
hgs
parents:
diff changeset
   175
void TestMpEngine::testSongScanner() 
hgs
parents:
diff changeset
   176
{
hgs
parents:
diff changeset
   177
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   178
    QCOMPARE( mTest->mSongScanner, mTest->songScanner() );
hgs
parents:
diff changeset
   179
}
hgs
parents:
diff changeset
   180
hgs
parents:
diff changeset
   181
/*!
hgs
parents:
diff changeset
   182
 test refreshLibrary
hgs
parents:
diff changeset
   183
 */
hgs
parents:
diff changeset
   184
void TestMpEngine::testRefreshLibrary() 
hgs
parents:
diff changeset
   185
{
hgs
parents:
diff changeset
   186
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   187
    QSignalSpy spy( mTest, SIGNAL( libraryAboutToUpdate() ) );
hgs
parents:
diff changeset
   188
    
hgs
parents:
diff changeset
   189
    mTest->mUsbBlockingState = MpEngine::USB_Connected;
hgs
parents:
diff changeset
   190
    QVERIFY( mTest->verifyUsbBlocking() == true );
hgs
parents:
diff changeset
   191
    mTest->refreshLibrary( true );
hgs
parents:
diff changeset
   192
    QVERIFY( mTest->mSongScanner == 0 );
hgs
parents:
diff changeset
   193
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   194
    
hgs
parents:
diff changeset
   195
    mTest->mUsbBlockingState = MpEngine::USB_NotConnected;
hgs
parents:
diff changeset
   196
    QVERIFY( mTest->verifyUsbBlocking() == false );
hgs
parents:
diff changeset
   197
    mTest->refreshLibrary( true );
hgs
parents:
diff changeset
   198
    QVERIFY( mTest->mSongScanner != 0 );
hgs
parents:
diff changeset
   199
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   200
    spy.clear();
hgs
parents:
diff changeset
   201
    
hgs
parents:
diff changeset
   202
    mTest->mUsbBlockingState = MpEngine::USB_Synchronizing;
hgs
parents:
diff changeset
   203
    QVERIFY( mTest->verifyUsbBlocking() == false );
hgs
parents:
diff changeset
   204
    mTest->refreshLibrary( true );
hgs
parents:
diff changeset
   205
    QVERIFY( mTest->mSongScanner != 0 );
hgs
parents:
diff changeset
   206
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   207
    spy.clear();
hgs
parents:
diff changeset
   208
}
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
/*!
hgs
parents:
diff changeset
   211
 test handleScanStarted 
hgs
parents:
diff changeset
   212
 */
hgs
parents:
diff changeset
   213
void TestMpEngine::testHandleScanStarted()
hgs
parents:
diff changeset
   214
{
hgs
parents:
diff changeset
   215
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   216
    mTest->handleScanStarted();
hgs
parents:
diff changeset
   217
    QVERIFY( mTest->mHandleMediaCommands == false );
hgs
parents:
diff changeset
   218
}
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
/*!
hgs
parents:
diff changeset
   221
 test handleScanEnded
hgs
parents:
diff changeset
   222
 */
hgs
parents:
diff changeset
   223
void TestMpEngine::testHandleScanEnded() 
hgs
parents:
diff changeset
   224
{
hgs
parents:
diff changeset
   225
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   226
    QSignalSpy spy( mTest, SIGNAL( libraryUpdated() ) );
hgs
parents:
diff changeset
   227
    
hgs
parents:
diff changeset
   228
    mTest->handleScanEnded( 0, 0 );
hgs
parents:
diff changeset
   229
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   230
    
hgs
parents:
diff changeset
   231
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   232
    spy.clear();    
hgs
parents:
diff changeset
   233
}
hgs
parents:
diff changeset
   234
hgs
parents:
diff changeset
   235
/*!
hgs
parents:
diff changeset
   236
 test handleDiskEvent
hgs
parents:
diff changeset
   237
 */
hgs
parents:
diff changeset
   238
void TestMpEngine::testHandleDiskEvent() 
hgs
parents:
diff changeset
   239
{
hgs
parents:
diff changeset
   240
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   241
    QSignalSpy spy( mTest, SIGNAL( libraryUpdated() ) );
hgs
parents:
diff changeset
   242
    QSignalSpy spyTwo( mTest, SIGNAL( libraryAboutToUpdate() ) );
hgs
parents:
diff changeset
   243
    
hgs
parents:
diff changeset
   244
    mTest->handleDiskEvent( DiskFormatStarted );
hgs
parents:
diff changeset
   245
    QVERIFY( mTest->mHandleMediaCommands == false );
hgs
parents:
diff changeset
   246
    
hgs
parents:
diff changeset
   247
    mTest->handleDiskEvent( DiskFormatEnded );
hgs
parents:
diff changeset
   248
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   249
    
hgs
parents:
diff changeset
   250
    mTest->mUsbBlockingState = MpEngine::USB_Synchronizing;
hgs
parents:
diff changeset
   251
    mTest->handleDiskEvent( DiskRemoved );
hgs
parents:
diff changeset
   252
    QVERIFY( spy.count() == 0 );
hgs
parents:
diff changeset
   253
    spy.clear();    
hgs
parents:
diff changeset
   254
    
hgs
parents:
diff changeset
   255
    mTest->mUsbBlockingState = MpEngine::USB_NotConnected;
hgs
parents:
diff changeset
   256
    mTest->handleDiskEvent( DiskRemoved );
hgs
parents:
diff changeset
   257
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   258
    spy.clear();   
hgs
parents:
diff changeset
   259
    
hgs
parents:
diff changeset
   260
    mTest->mUsbBlockingState = MpEngine::USB_Connected;
hgs
parents:
diff changeset
   261
    mTest->handleDiskEvent( DiskRemoved );
hgs
parents:
diff changeset
   262
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   263
    spy.clear();   
hgs
parents:
diff changeset
   264
    
hgs
parents:
diff changeset
   265
    mTest->mUsbBlockingState = MpEngine::USB_NotConnected;
hgs
parents:
diff changeset
   266
    mTest->handleDiskEvent( DiskInserted );
hgs
parents:
diff changeset
   267
    QVERIFY( mTest->verifyUsbBlocking() == false );
hgs
parents:
diff changeset
   268
    QVERIFY( spyTwo.count() == 1 );
hgs
parents:
diff changeset
   269
    spyTwo.clear();   
hgs
parents:
diff changeset
   270
    
hgs
parents:
diff changeset
   271
    mTest->mUsbBlockingState = MpEngine::USB_Connected;
hgs
parents:
diff changeset
   272
    mTest->handleDiskEvent( DiskInserted );
hgs
parents:
diff changeset
   273
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   274
    spy.clear();      
hgs
parents:
diff changeset
   275
}
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
/*!
hgs
parents:
diff changeset
   278
 test HandleUsbEvent
hgs
parents:
diff changeset
   279
 */
hgs
parents:
diff changeset
   280
void TestMpEngine::testHandleUsbEvent()
hgs
parents:
diff changeset
   281
{
hgs
parents:
diff changeset
   282
    // no need to test here 
hgs
parents:
diff changeset
   283
}
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
/*!
hgs
parents:
diff changeset
   286
 test handleUsbMassStorageStartEvent
hgs
parents:
diff changeset
   287
 */
hgs
parents:
diff changeset
   288
void TestMpEngine::testHandleUsbMassStorageStartEvent()
hgs
parents:
diff changeset
   289
{
hgs
parents:
diff changeset
   290
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   291
    QSignalSpy spy( mTest, SIGNAL( usbBlocked( bool ) ) );
hgs
parents:
diff changeset
   292
    QSignalSpy spyTwo( mTest, SIGNAL( usbSynchronizationStarted() ) );
hgs
parents:
diff changeset
   293
    
hgs
parents:
diff changeset
   294
    mTest->handleUsbMassStorageStartEvent();
hgs
parents:
diff changeset
   295
    QVERIFY( mTest->mHandleMediaCommands == false );
hgs
parents:
diff changeset
   296
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   297
    QList<QVariant> arguments = spy.takeFirst();
hgs
parents:
diff changeset
   298
    QVERIFY( arguments.at(0).toBool() == true ); 
hgs
parents:
diff changeset
   299
    
hgs
parents:
diff changeset
   300
    QVERIFY( spyTwo.count() == 1 );
hgs
parents:
diff changeset
   301
}
hgs
parents:
diff changeset
   302
hgs
parents:
diff changeset
   303
/*!
hgs
parents:
diff changeset
   304
 test handleUsbMassStorageEndEvent
hgs
parents:
diff changeset
   305
 */
hgs
parents:
diff changeset
   306
void TestMpEngine::testHandleUsbMassStorageEndEvent() 
hgs
parents:
diff changeset
   307
{
hgs
parents:
diff changeset
   308
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   309
    QSignalSpy spy( mTest, SIGNAL( usbBlocked( bool ) ) );
hgs
parents:
diff changeset
   310
    QSignalSpy spyTwo( mTest, SIGNAL( usbSynchronizationFinished() ) );
hgs
parents:
diff changeset
   311
    
hgs
parents:
diff changeset
   312
    mTest->handleUsbMassStorageEndEvent();
hgs
parents:
diff changeset
   313
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   314
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   315
    QList<QVariant> arguments = spy.takeFirst();
hgs
parents:
diff changeset
   316
    QVERIFY(arguments.at(0).toBool() == false ); 
hgs
parents:
diff changeset
   317
    
hgs
parents:
diff changeset
   318
    QVERIFY( spyTwo.count() == 1 );
hgs
parents:
diff changeset
   319
}
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
/*!
hgs
parents:
diff changeset
   322
 test handleUsbMtpStartEvent
hgs
parents:
diff changeset
   323
 */
hgs
parents:
diff changeset
   324
void TestMpEngine::testHandleUsbMtpStartEvent() 
hgs
parents:
diff changeset
   325
{
hgs
parents:
diff changeset
   326
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   327
    QSignalSpy spy( mTest, SIGNAL( usbBlocked( bool ) ) );
hgs
parents:
diff changeset
   328
    QSignalSpy spyTwo( mTest, SIGNAL( libraryAboutToUpdate() ) );
hgs
parents:
diff changeset
   329
    QSignalSpy spyThree( mTest, SIGNAL( usbSynchronizationStarted() ) );
hgs
parents:
diff changeset
   330
    
hgs
parents:
diff changeset
   331
    mTest->handleUsbMtpStartEvent();
hgs
parents:
diff changeset
   332
    QVERIFY( mTest->mHandleMediaCommands == false );
hgs
parents:
diff changeset
   333
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   334
    QList<QVariant> arguments = spy.takeFirst();
hgs
parents:
diff changeset
   335
    QVERIFY( arguments.at(0).toBool() == true ); 
hgs
parents:
diff changeset
   336
    QVERIFY( spyTwo.count() == 1 );
hgs
parents:
diff changeset
   337
    QVERIFY( spyThree.count() == 1 );
hgs
parents:
diff changeset
   338
}
hgs
parents:
diff changeset
   339
hgs
parents:
diff changeset
   340
/*!
hgs
parents:
diff changeset
   341
 test handleUsbMtpEndEvent
hgs
parents:
diff changeset
   342
 */
hgs
parents:
diff changeset
   343
void TestMpEngine::testHandleUsbMtpEndEvent() 
hgs
parents:
diff changeset
   344
{
hgs
parents:
diff changeset
   345
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   346
    QSignalSpy spy( mTest, SIGNAL( usbBlocked( bool ) ) );
hgs
parents:
diff changeset
   347
    QSignalSpy spyTwo( mTest, SIGNAL( usbSynchronizationFinished() ) );
hgs
parents:
diff changeset
   348
    QSignalSpy spyThree( mTest, SIGNAL( libraryUpdated() ) );
hgs
parents:
diff changeset
   349
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   350
    
hgs
parents:
diff changeset
   351
    mTest->mUsbBlockingState = MpEngine::USB_Synchronizing;
hgs
parents:
diff changeset
   352
    mTest->handleUsbMtpEndEvent();
hgs
parents:
diff changeset
   353
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   354
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   355
    arguments = spy.takeFirst();
hgs
parents:
diff changeset
   356
    QVERIFY( arguments.at(0).toBool() == false ); 
hgs
parents:
diff changeset
   357
    QVERIFY( spyTwo.count() == 1 );
hgs
parents:
diff changeset
   358
    QVERIFY( spyThree.count() == 1 );
hgs
parents:
diff changeset
   359
    spyTwo.clear();
hgs
parents:
diff changeset
   360
    spyThree.clear();
hgs
parents:
diff changeset
   361
    arguments.clear();
hgs
parents:
diff changeset
   362
    
hgs
parents:
diff changeset
   363
    mTest->mPreviousUsbState = MpEngine::USB_NotConnected;
hgs
parents:
diff changeset
   364
    mTest->handleUsbMtpEndEvent();
hgs
parents:
diff changeset
   365
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   366
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   367
    arguments = spy.takeFirst();
hgs
parents:
diff changeset
   368
    QVERIFY( arguments.at(0).toBool() == false ); 
hgs
parents:
diff changeset
   369
    QVERIFY( spyTwo.count() == 0 );
hgs
parents:
diff changeset
   370
    QVERIFY( spyThree.count() == 0 );
hgs
parents:
diff changeset
   371
    spyTwo.clear();
hgs
parents:
diff changeset
   372
    spyThree.clear();
hgs
parents:
diff changeset
   373
    arguments.clear();
hgs
parents:
diff changeset
   374
    
hgs
parents:
diff changeset
   375
    mTest->mPreviousUsbState = MpEngine::USB_Connected;
hgs
parents:
diff changeset
   376
    mTest->handleUsbMtpEndEvent();
hgs
parents:
diff changeset
   377
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   378
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   379
    arguments = spy.takeFirst();
hgs
parents:
diff changeset
   380
    QVERIFY( arguments.at(0).toBool() == false ); 
hgs
parents:
diff changeset
   381
    QVERIFY( spyTwo.count() == 0 );
hgs
parents:
diff changeset
   382
    QVERIFY( spyThree.count() == 0 );
hgs
parents:
diff changeset
   383
    spyTwo.clear();
hgs
parents:
diff changeset
   384
    spyThree.clear();
hgs
parents:
diff changeset
   385
    arguments.clear();
hgs
parents:
diff changeset
   386
}
hgs
parents:
diff changeset
   387
hgs
parents:
diff changeset
   388
/*!
hgs
parents:
diff changeset
   389
 test handleUsbMtpNotActive
hgs
parents:
diff changeset
   390
 */
hgs
parents:
diff changeset
   391
void TestMpEngine::testHandleUsbMtpNotActive() 
hgs
parents:
diff changeset
   392
{   
hgs
parents:
diff changeset
   393
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   394
    QSignalSpy spy( mTest, SIGNAL( usbBlocked( bool ) ) );
hgs
parents:
diff changeset
   395
    
hgs
parents:
diff changeset
   396
    mTest->handleUsbMtpNotActive();
hgs
parents:
diff changeset
   397
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   398
    QList<QVariant> arguments = spy.takeFirst();
hgs
parents:
diff changeset
   399
    QVERIFY( arguments.at(0).toBool() == true ); 
hgs
parents:
diff changeset
   400
}
hgs
parents:
diff changeset
   401
hgs
parents:
diff changeset
   402
/*!
hgs
parents:
diff changeset
   403
 test changeUsbBlockingState
hgs
parents:
diff changeset
   404
 */
hgs
parents:
diff changeset
   405
void TestMpEngine::testChangeUsbBlockingState()
hgs
parents:
diff changeset
   406
{
hgs
parents:
diff changeset
   407
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   408
    
hgs
parents:
diff changeset
   409
    MpEngine::UsbBlockingState cState = mTest->mUsbBlockingState;
hgs
parents:
diff changeset
   410
    mTest->changeUsbBlockingState( MpEngine::USB_Connected );
hgs
parents:
diff changeset
   411
    QCOMPARE( mTest->mPreviousUsbState, cState );
hgs
parents:
diff changeset
   412
    QCOMPARE( mTest->mUsbBlockingState, MpEngine::USB_Connected );
hgs
parents:
diff changeset
   413
}
hgs
parents:
diff changeset
   414
hgs
parents:
diff changeset
   415
/*!
hgs
parents:
diff changeset
   416
 test handleDeleteStarted
hgs
parents:
diff changeset
   417
 */
hgs
parents:
diff changeset
   418
void TestMpEngine::testHandleDeleteStarted() 
hgs
parents:
diff changeset
   419
{
hgs
parents:
diff changeset
   420
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   421
    qRegisterMetaType<QModelIndex>("TCollectionContext");
hgs
parents:
diff changeset
   422
    QSignalSpy spy( mTest, SIGNAL( deleteStarted( TCollectionContext, int ) ) );
hgs
parents:
diff changeset
   423
    
hgs
parents:
diff changeset
   424
    TCollectionContext context( ECollectionContextAllSongs );
hgs
parents:
diff changeset
   425
    mTest->handleDeleteStarted( context, 0 );
hgs
parents:
diff changeset
   426
    QVERIFY( mTest->mHandleMediaCommands == false );
hgs
parents:
diff changeset
   427
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   428
}
hgs
parents:
diff changeset
   429
hgs
parents:
diff changeset
   430
/*!
hgs
parents:
diff changeset
   431
 test handleDeleteEnded
hgs
parents:
diff changeset
   432
 */
hgs
parents:
diff changeset
   433
void TestMpEngine::testHandleDeleteEnded() 
hgs
parents:
diff changeset
   434
{
hgs
parents:
diff changeset
   435
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   436
    QSignalSpy spy( mTest, SIGNAL( songsDeleted( bool ) ) );
hgs
parents:
diff changeset
   437
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   438
    
hgs
parents:
diff changeset
   439
    mTest->handleDeleteEnded( true );
hgs
parents:
diff changeset
   440
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   441
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   442
    arguments = spy.takeFirst();
hgs
parents:
diff changeset
   443
    QVERIFY( arguments.at(0).toBool() == true ); 
hgs
parents:
diff changeset
   444
    spy.clear();
hgs
parents:
diff changeset
   445
    arguments.clear();
hgs
parents:
diff changeset
   446
    
hgs
parents:
diff changeset
   447
    mTest->handleDeleteEnded( false );
hgs
parents:
diff changeset
   448
    QVERIFY( mTest->mHandleMediaCommands == true );
hgs
parents:
diff changeset
   449
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   450
    arguments = spy.takeFirst();
hgs
parents:
diff changeset
   451
    QVERIFY( arguments.at(0).toBool() == false );
hgs
parents:
diff changeset
   452
    spy.clear();
hgs
parents:
diff changeset
   453
    arguments.clear();
hgs
parents:
diff changeset
   454
}
hgs
parents:
diff changeset
   455
hgs
parents:
diff changeset
   456
/*!
hgs
parents:
diff changeset
   457
 test playbackData
hgs
parents:
diff changeset
   458
 */
hgs
parents:
diff changeset
   459
void TestMpEngine::testPlaybackData() 
hgs
parents:
diff changeset
   460
{
hgs
parents:
diff changeset
   461
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   462
    QVERIFY( mTest->mMpxPlaybackWrapper->mPlaybackData == mTest->playbackData() );
hgs
parents:
diff changeset
   463
}
hgs
parents:
diff changeset
   464
hgs
parents:
diff changeset
   465
/*!
hgs
parents:
diff changeset
   466
 test songData
hgs
parents:
diff changeset
   467
 */
hgs
parents:
diff changeset
   468
void TestMpEngine::testSongData() 
hgs
parents:
diff changeset
   469
{
hgs
parents:
diff changeset
   470
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   471
    QVERIFY( mTest->mSongData == mTest->songData() );
hgs
parents:
diff changeset
   472
}
hgs
parents:
diff changeset
   473
hgs
parents:
diff changeset
   474
/*!
hgs
parents:
diff changeset
   475
 test balance
hgs
parents:
diff changeset
   476
 */
hgs
parents:
diff changeset
   477
void TestMpEngine::testBalance() 
hgs
parents:
diff changeset
   478
{
hgs
parents:
diff changeset
   479
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   480
    QVERIFY( mTest->mAudioEffectsWrapper->mBalance == mTest->balance() );
hgs
parents:
diff changeset
   481
}
hgs
parents:
diff changeset
   482
hgs
parents:
diff changeset
   483
/*!
hgs
parents:
diff changeset
   484
 test loudness
hgs
parents:
diff changeset
   485
 */
hgs
parents:
diff changeset
   486
void TestMpEngine::testLoudness()
hgs
parents:
diff changeset
   487
{
hgs
parents:
diff changeset
   488
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   489
    QVERIFY( mTest->mAudioEffectsWrapper->mLoudness == mTest->loudness() );
hgs
parents:
diff changeset
   490
}
hgs
parents:
diff changeset
   491
hgs
parents:
diff changeset
   492
/*!
hgs
parents:
diff changeset
   493
 test setBalance
hgs
parents:
diff changeset
   494
 */
hgs
parents:
diff changeset
   495
void TestMpEngine::testSetBalance()
hgs
parents:
diff changeset
   496
{
hgs
parents:
diff changeset
   497
    // nothing to test here
hgs
parents:
diff changeset
   498
}
hgs
parents:
diff changeset
   499
hgs
parents:
diff changeset
   500
/*!
hgs
parents:
diff changeset
   501
 test setLoudness
hgs
parents:
diff changeset
   502
 */
hgs
parents:
diff changeset
   503
void TestMpEngine::testSetLoudness()
hgs
parents:
diff changeset
   504
{
hgs
parents:
diff changeset
   505
    // nothing to test here
hgs
parents:
diff changeset
   506
}
hgs
parents:
diff changeset
   507
hgs
parents:
diff changeset
   508
/*!
hgs
parents:
diff changeset
   509
 test applyPreset
hgs
parents:
diff changeset
   510
 */
hgs
parents:
diff changeset
   511
void TestMpEngine::testApplyPreset()
hgs
parents:
diff changeset
   512
{
hgs
parents:
diff changeset
   513
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   514
    mTest->mCurrentPresetIndex = 2;
hgs
parents:
diff changeset
   515
    
hgs
parents:
diff changeset
   516
    mTest->applyPreset( 4 );
hgs
parents:
diff changeset
   517
    QCOMPARE( mTest->mCurrentPresetIndex, 4 );
hgs
parents:
diff changeset
   518
}
hgs
parents:
diff changeset
   519
hgs
parents:
diff changeset
   520
/*!
hgs
parents:
diff changeset
   521
 test disableEqualizer
hgs
parents:
diff changeset
   522
 */
hgs
parents:
diff changeset
   523
void TestMpEngine::testDisableEqualizer()
hgs
parents:
diff changeset
   524
{
hgs
parents:
diff changeset
   525
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   526
    mTest->disableEqualizer();
hgs
parents:
diff changeset
   527
    
51
hgs
parents: 47
diff changeset
   528
    QCOMPARE( mTest->mCurrentPresetIndex, 0 );
47
hgs
parents:
diff changeset
   529
}
hgs
parents:
diff changeset
   530
hgs
parents:
diff changeset
   531
/*!
hgs
parents:
diff changeset
   532
 test activePreset
hgs
parents:
diff changeset
   533
 */
hgs
parents:
diff changeset
   534
void TestMpEngine::testActivePreset()
hgs
parents:
diff changeset
   535
{
hgs
parents:
diff changeset
   536
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   537
    
hgs
parents:
diff changeset
   538
    QCOMPARE( mTest->mCurrentPresetIndex, mTest->activePreset() );
hgs
parents:
diff changeset
   539
}
hgs
parents:
diff changeset
   540
hgs
parents:
diff changeset
   541
/*!
hgs
parents:
diff changeset
   542
 test presetNames
hgs
parents:
diff changeset
   543
 */
hgs
parents:
diff changeset
   544
void TestMpEngine::testPresetNames() 
hgs
parents:
diff changeset
   545
{
hgs
parents:
diff changeset
   546
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   547
    
hgs
parents:
diff changeset
   548
    QCOMPARE( mTest->mEqualizerWrapper->mList, mTest->presetNames() );
hgs
parents:
diff changeset
   549
}
hgs
parents:
diff changeset
   550
hgs
parents:
diff changeset
   551
/*!
hgs
parents:
diff changeset
   552
 test handleEqualizerReady
hgs
parents:
diff changeset
   553
 */
hgs
parents:
diff changeset
   554
void TestMpEngine::testHandleEqualizerReady() 
hgs
parents:
diff changeset
   555
{
hgs
parents:
diff changeset
   556
    mTest = MpEngineFactory::createIsolatedEngine( MpEngine::StandAlone );
hgs
parents:
diff changeset
   557
    QSignalSpy spy( mTest, SIGNAL( equalizerReady() ) );
hgs
parents:
diff changeset
   558
    
hgs
parents:
diff changeset
   559
    mTest->handleEqualizerReady();
51
hgs
parents: 47
diff changeset
   560
    QCOMPARE( mTest->mCurrentPresetIndex, 0 );
47
hgs
parents:
diff changeset
   561
    QVERIFY( spy.count() == 1 );
hgs
parents:
diff changeset
   562
}
hgs
parents:
diff changeset
   563
hgs
parents:
diff changeset
   564
hgs
parents:
diff changeset
   565
// End of file