mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/src/unittest_mpequalizerwidget.cpp
changeset 29 8192e5b5c935
parent 25 3ec52facab4d
child 32 c163ef0b758d
equal deleted inserted replaced
25:3ec52facab4d 29:8192e5b5c935
     1 /**
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #include <QMetaType>
    18 #include <QMetaType>
    19 #include <QtGui>
    19 #include <QtGui>
    20 #include <hbapplication.h>
       
    21 #include <hbmainwindow.h>
       
    22 #include <hbradiobuttonlist.h>
    20 #include <hbradiobuttonlist.h>
    23 
    21 #include <QTranslator>
    24 #include "stub/inc/mpequalizerwrapper.h"
    22 #include <QLocale>
       
    23 
    25 #include "unittest_mpequalizerwidget.h"
    24 #include "unittest_mpequalizerwidget.h"
    26 
    25 
    27 // Do this so we can access all member variables.
    26 // Do this so we can access all member variables.
    28 #define private public
    27 #define private public
    29 #include "mpequalizerwidget.h"
    28 #include "mpequalizerwidget.h"
    37 /*!
    36 /*!
    38  Make our test case a stand-alone executable that runs all the test functions.
    37  Make our test case a stand-alone executable that runs all the test functions.
    39  */
    38  */
    40 int main(int argc, char *argv[])
    39 int main(int argc, char *argv[])
    41 {
    40 {
    42     HbApplication app(argc, argv);
    41     QApplication app(argc, argv);
    43     HbMainWindow window;
       
    44 
       
    45     TestMpEqualizerWidget tv;
    42     TestMpEqualizerWidget tv;
    46 
    43 
    47     char *pass[3];
    44     if ( argc > 1 ) {
    48     pass[0] = argv[0];
    45         return QTest::qExec( &tv, argc, argv);
    49     pass[1] = "-o";
    46     }
    50     pass[2] = "c:\\data\\unittest_mpequalizerwidget.txt";
    47     else {
    51 
    48         char *pass[3];
    52     int res = QTest::qExec(&tv, 3, pass);
    49         pass[0] = argv[0];
    53 
    50         pass[1] = "-o";
    54     return res;
    51         pass[2] = "c:\\data\\unittest_mpequalizerwidget.txt";
       
    52 
       
    53         return QTest::qExec(&tv, 3, pass);
       
    54     }
    55 }
    55 }
    56 
    56 
    57 TestMpEqualizerWidget::TestMpEqualizerWidget()
    57 TestMpEqualizerWidget::TestMpEqualizerWidget()
    58     : mTest(0)
    58     : mTest(0),
       
    59       mMpTranslator(0)
    59 {
    60 {
    60 }
    61 }
    61 
    62 
    62 TestMpEqualizerWidget::~TestMpEqualizerWidget()
    63 TestMpEqualizerWidget::~TestMpEqualizerWidget()
    63 {
    64 {
    64     delete mTest;
    65     delete mTest;
       
    66     delete mMpTranslator;
    65 }
    67 }
    66 
    68 
    67 /*!
    69 /*!
    68  Called before the first testfunction is executed.
    70  Called before the first testfunction is executed.
    69  */
    71  */
    70 void TestMpEqualizerWidget::initTestCase()
    72 void TestMpEqualizerWidget::initTestCase()
    71 {
    73 {
    72    
    74     QString lang = QLocale::system().name();
       
    75     QString path = QString("z:/resource/qt/translations/");
       
    76     bool translatorLoaded = false;
       
    77 
       
    78     mMpTranslator = new QTranslator(this);
       
    79     translatorLoaded = mMpTranslator->load(path + "musicplayer_" + lang);
       
    80     if ( translatorLoaded ) {
       
    81         qApp->installTranslator(mMpTranslator);
       
    82     }
    73 }   
    83 }   
    74 
    84 
    75 /*!
    85 /*!
    76  Called after the last testfunction was executed.
    86  Called after the last testfunction was executed.
    77  */
    87  */
    82 /*!
    92 /*!
    83  Called before each testfunction is executed.
    93  Called before each testfunction is executed.
    84  */
    94  */
    85 void TestMpEqualizerWidget::init()
    95 void TestMpEqualizerWidget::init()
    86 {
    96 {
       
    97     MpEngineFactory::createSharedEngine();
    87     mTest = new MpEqualizerWidget();
    98     mTest = new MpEqualizerWidget();
    88 }
    99 }
    89 
   100 
    90 /*!
   101 /*!
    91  Called after every testfunction.
   102  Called after every testfunction.
    92  */
   103  */
    93 void TestMpEqualizerWidget::cleanup()
   104 void TestMpEqualizerWidget::cleanup()
    94 {
   105 {
    95     delete mTest;
   106     delete mTest;
    96     mTest = 0;
   107     mTest = 0;
       
   108     MpEngineFactory::close();
    97 }
   109 }
    98 
   110 
    99 /*!
   111 /*!
   100  Tests constructor.
   112  Tests constructor.
   101  */
   113  */
   102 void TestMpEqualizerWidget::testInitialize()
   114 void TestMpEqualizerWidget::testInitialize()
   103 {
   115 {
   104     QVERIFY(mTest->mEqualizerWrapper != 0 );    
   116     QVERIFY(mTest->mMpEngine != 0 );    
   105 }
   117 }
   106 
   118 
   107 /*!
   119 /*!
   108  Tests testPrepare.
   120  Tests testPrepare.
   109  */
   121  */
   110 void TestMpEqualizerWidget::testPrepareDialog()
   122 void TestMpEqualizerWidget::testPrepareDialog()
   111 {
   123 {
   112     //With Equalizer not ready
       
   113     mTest->prepareDialog();
   124     mTest->prepareDialog();
   114     QVERIFY(mTest->mOriginalPreset == -1 );    
   125     QVERIFY(mTest->mOriginalPreset == -1 );    
   115     QVERIFY(mTest->timeout() == HbDialog::NoTimeout);
   126     QVERIFY(mTest->timeout() == HbDialog::NoTimeout);
   116     QVERIFY(mTest->dismissPolicy() == HbDialog::NoDismiss);
   127     QVERIFY(mTest->dismissPolicy() == HbDialog::NoDismiss);
   117     QVERIFY(mTest->frameType() == HbPopup::Strong);
   128     QVERIFY(mTest->frameType() == HbPopup::Strong);
   118     QVERIFY(mTest->headingWidget() != 0);
   129     QVERIFY(mTest->headingWidget() != 0);
   119     QVERIFY(mTest->actions().count() != 0);
   130     QVERIFY(mTest->actions().count() != 0);
   120     QVERIFY(mTest->contentWidget() == 0);
       
   121     
       
   122     
       
   123     //With Equalizer ready
       
   124     cleanup();
       
   125     init();
       
   126     mTest->equalizerReady();
       
   127     mTest->prepareDialog();
       
   128     QVERIFY(mTest->mPresetsList != 0);
   131     QVERIFY(mTest->mPresetsList != 0);
   129     QCOMPARE(qobject_cast<HbRadioButtonList*>(mTest->contentWidget()), mTest->mPresetsList);
   132     QCOMPARE(qobject_cast<HbRadioButtonList*>(mTest->contentWidget()), mTest->mPresetsList);
   130     QVERIFY(mTest->mPresetsList->selected() == 0);
   133     QVERIFY(mTest->mPresetsList->selected() == 0);
   131 }
   134 }
   132 
   135 
   133 /*!
   136 /*!
   134  Tests equalizerReady.
       
   135  */
       
   136 void TestMpEqualizerWidget::testEqualizerReady()
       
   137 {
       
   138     mTest->equalizerReady();
       
   139     
       
   140     QVERIFY(mTest->mEqualizerReady);
       
   141 }
       
   142 
       
   143 /*!
       
   144  Tests presetSelected.
   137  Tests presetSelected.
   145  */
   138  */
   146 void TestMpEqualizerWidget::testPresetSelected()
   139 void TestMpEqualizerWidget::testPresetSelected()
   147 {
   140 {
   148     //Off preset must call DisableEqualizer
   141     //Off preset must call DisableEqualizer
   149     mTest->presetSelected(0);
   142     mTest->presetSelected(0);
   150     QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1);
   143     QVERIFY(mTest->mMpEngine->mDisableEquqlizerCount == 1);
   151 
   144 
   152     //Any other preset must be applied
   145     //Any other preset must be applied
   153     mTest->presetSelected(3);
   146     mTest->presetSelected(3);
   154     QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1);
   147     QVERIFY(mTest->mMpEngine->mApplyPresetCount == 1);
   155 }
   148 }
   156 
   149 
   157 /*!
   150 /*!
   158  Tests cancelSelected.
   151  Tests cancelSelected.
   159  */
   152  */
   160 void TestMpEqualizerWidget::testCancelSelected()
   153 void TestMpEqualizerWidget::testCancelSelected()
   161 {
   154 {
   162     mTest->equalizerReady();
       
   163     mTest->prepareDialog();
   155     mTest->prepareDialog();
   164     
   156     
   165     //Cancel, when Current preset selected != Original Preset
   157     //Cancel, when Current preset selected != Original Preset
   166     
   158     
   167     //When Original Preset == -1 "Off"
   159     //When Original Preset == -1 "Off"
   168     mTest->mEqualizerWrapper->mActivePreset = 4;
   160     mTest->mMpEngine->mActivePreset = 4;
   169     mTest->mOriginalPreset = -1;
   161     mTest->mOriginalPreset = -1;
   170     mTest->cancelSelected(true);
   162     mTest->cancelSelected(true);
   171     QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1);
   163     QVERIFY(mTest->mMpEngine->mDisableEquqlizerCount == 1);
   172     QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);
   164     QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset);
   173     
   165     
   174     //When Original Preset != -1 "Any other different than Off"
   166     //When Original Preset != -1 "Any other different than Off"
   175     mTest->mEqualizerWrapper->mActivePreset = 4;
   167     mTest->mMpEngine->mActivePreset = 4;
   176     mTest->mOriginalPreset = 2;
   168     mTest->mOriginalPreset = 2;
   177     mTest->cancelSelected(true);
   169     mTest->cancelSelected(true);
   178     QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1);
   170     QVERIFY(mTest->mMpEngine->mApplyPresetCount == 1);
   179     QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);
   171     QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset);
   180         
   172         
   181     //Cancel, when Current preset selected == Original Preset
   173     //Cancel, when Current preset selected == Original Preset
   182     mTest->mEqualizerWrapper->mActivePreset = 3;
   174     mTest->mMpEngine->mActivePreset = 3;
   183     mTest->mOriginalPreset = 3;
   175     mTest->mOriginalPreset = 3;
   184     mTest->cancelSelected(true);
   176     mTest->cancelSelected(true);
   185     QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1);
   177     QVERIFY(mTest->mMpEngine->mApplyPresetCount == 1);
   186     QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1);
   178     QVERIFY(mTest->mMpEngine->mDisableEquqlizerCount == 1);
   187     QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);
   179     QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset);
   188 }
   180 }
   189 
   181 
   190 /*!
   182 /*!
   191  Tests okSelected.
   183  Tests okSelected.
   192  */
   184  */
   193 void TestMpEqualizerWidget::testOkSelected()
   185 void TestMpEqualizerWidget::testOkSelected()
   194 {
   186 {
   195     mTest->equalizerReady();
   187     mTest->mMpEngine->mActivePreset = 2;
   196     
       
   197     mTest->mEqualizerWrapper->mActivePreset = 2;
       
   198     mTest->mOriginalPreset = -1;
   188     mTest->mOriginalPreset = -1;
   199     mTest->okSelected(true);
   189     mTest->okSelected(true);
   200     QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);   
   190     QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset);   
       
   191 }
       
   192 
       
   193 /*!
       
   194  Tests getLogicalName.
       
   195  */
       
   196 void TestMpEqualizerWidget::testGetLogicalName()
       
   197 {
       
   198     QString logicalName;
       
   199     
       
   200     // test Bass Booster
       
   201     logicalName = mTest->getLogicalName( QString("Bass Booster") );
       
   202     QCOMPARE(logicalName, hbTrId("txt_mus_list_bass_booster"));
       
   203 
       
   204     // test Classic
       
   205     logicalName = mTest->getLogicalName( QString("Classic") );
       
   206     QCOMPARE(logicalName, hbTrId("txt_mus_list_classical"));
       
   207 
       
   208     // test Pop
       
   209     logicalName = mTest->getLogicalName( QString("Pop") );
       
   210     QCOMPARE(logicalName, hbTrId("txt_mus_list_pop"));
       
   211 
       
   212     // test Jazz
       
   213     logicalName = mTest->getLogicalName( QString("Jazz") );
       
   214     QCOMPARE(logicalName, hbTrId("txt_mus_list_jazz"));
       
   215 
       
   216     // test Rock
       
   217     logicalName = mTest->getLogicalName( QString("Rock") );
       
   218     QCOMPARE(logicalName, hbTrId("txt_mus_list_rock"));
   201 }
   219 }
   202 
   220 
   203 // End of file
   221 // End of file