controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/ut_categorymodelutility.cpp
author hgs
Tue, 24 Aug 2010 10:56:32 +0800
changeset 33 0cfa53de576f
child 41 ab0490982943
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
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:  
hgs
parents:
diff changeset
    15
*        test application for qt cpcategorymodel functions.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "ut_categorymodelutility.h"
hgs
parents:
diff changeset
    19
#include "cptestpluginentryitem.h"
hgs
parents:
diff changeset
    20
#include <cpsettingformentryitemData.h>
hgs
parents:
diff changeset
    21
#include "cpcategorysettingformitemdata.h"
hgs
parents:
diff changeset
    22
#include "cpcategorysettingformmodel.h"
hgs
parents:
diff changeset
    23
#include "cppluginconfig.h"
hgs
parents:
diff changeset
    24
#include "cpcategorymodelutility.h"
hgs
parents:
diff changeset
    25
#include <QtTest/QtTest>
hgs
parents:
diff changeset
    26
//#include <cpplaceholderitemdata.h>
hgs
parents:
diff changeset
    27
#include <cppluginconfigreader.h>
hgs
parents:
diff changeset
    28
#include <cpitemdatahelper.h>
hgs
parents:
diff changeset
    29
//#include <cpbasepath.h>
hgs
parents:
diff changeset
    30
//#include <cpevent.h>
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
//the class for test
hgs
parents:
diff changeset
    34
#include "cpcategorymodelutility.h"
hgs
parents:
diff changeset
    35
/*!
hgs
parents:
diff changeset
    36
      \class TestCpCategoryModelUtility \n
hgs
parents:
diff changeset
    37
      \brief class name: TestCpCategoryModelUtility \n  
hgs
parents:
diff changeset
    38
      type of test case: unit test \n
hgs
parents:
diff changeset
    39
      test cases' number totally: 7 \n
hgs
parents:
diff changeset
    40
 */
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
void TestCpCategoryModelUtility::initTestCase()
hgs
parents:
diff changeset
    43
{
hgs
parents:
diff changeset
    44
    // initialize public test data here
hgs
parents:
diff changeset
    45
    
hgs
parents:
diff changeset
    46
}
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
/*!
hgs
parents:
diff changeset
    49
     Test Case Description: \n
hgs
parents:
diff changeset
    50
     1. Fucntion Name: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    51
         static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData, 
hgs
parents:
diff changeset
    52
                                                const QString &displayName,
hgs
parents:
diff changeset
    53
                                                const QString &description) \n
hgs
parents:
diff changeset
    54
     2. Case Descrition: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    55
         Test the function when setting itemData as 0. \n
hgs
parents:
diff changeset
    56
     3. Input Parameters:\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    57
         <1> itemData = 0, QString(), QString() \n              
hgs
parents:
diff changeset
    58
     4. Expected result:  \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    59
         <1> bSetResult = false \n         
hgs
parents:
diff changeset
    60
 */
hgs
parents:
diff changeset
    61
void TestCpCategoryModelUtility::testSetEntryItemReturnFalse()
hgs
parents:
diff changeset
    62
{
hgs
parents:
diff changeset
    63
    bool bSetResult = CpCategoryModelUtility::setEntryItemContentIfEmpty(0, QString(), QString());
hgs
parents:
diff changeset
    64
    QVERIFY(bSetResult == false);
hgs
parents:
diff changeset
    65
}
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
/*!
hgs
parents:
diff changeset
    68
     Test Case Description: \n
hgs
parents:
diff changeset
    69
     1. Fucntion Name: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    70
         static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData, 
hgs
parents:
diff changeset
    71
                                                const QString &displayName,
hgs
parents:
diff changeset
    72
                                                const QString &description) \n
hgs
parents:
diff changeset
    73
     2. Case Descrition: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    74
         setEntryItemContentIfEmpty \n
hgs
parents:
diff changeset
    75
     3. Input Parameters:\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    76
         new a subclass from CpSettingFormEntryItemData firstly. \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    77
         <1> itemData = new CpTestPluginEntryItemData(CpItemDataHelper, QString(XX), QString(XX),HbIcon(QString(XX))), \n &nbsp;&nbsp; 
hgs
parents:
diff changeset
    78
             newText = QString(XX), \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    79
             newDes = QString(XX),\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    80
             newIconName = QString(XX).\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    81
         <2> itemData = new CpTestPluginEntryItemData(CpItemDataHelper, QString(),QString(), HbIcon())\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    82
             newText = QString(XX),\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    83
             newDes = QString(XX) \n 
hgs
parents:
diff changeset
    84
     4. Expected result:  \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    85
         <1> bSetResult = true,\n &nbsp;&nbsp; 
hgs
parents:
diff changeset
    86
         <2> bSetResult = true,   \n
hgs
parents:
diff changeset
    87
 */
hgs
parents:
diff changeset
    88
void TestCpCategoryModelUtility::testSetEntryItemContent()
hgs
parents:
diff changeset
    89
{
hgs
parents:
diff changeset
    90
    CpItemDataHelper *pHelper = new CpItemDataHelper();
hgs
parents:
diff changeset
    91
    QString textNotEmpty = "TextNotEmpty";
hgs
parents:
diff changeset
    92
    QString description = "descriptionNotEmpty";
hgs
parents:
diff changeset
    93
    QString iconName = "iconNameNotEmpty";
hgs
parents:
diff changeset
    94
    HbIcon icon = HbIcon(iconName);
hgs
parents:
diff changeset
    95
    CpTestPluginEntryItemData *itemData1 = new CpTestPluginEntryItemData(*pHelper, textNotEmpty, description,icon);
hgs
parents:
diff changeset
    96
    QString newText = "newSetText";
hgs
parents:
diff changeset
    97
    QString newDes = "newSetdescription";
hgs
parents:
diff changeset
    98
    bool bSetResult1 = CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData1, newText, newDes);
hgs
parents:
diff changeset
    99
    QVERIFY(bSetResult1 == true);
hgs
parents:
diff changeset
   100
    // verify the text, description and icon name cannot be set when they are not empty.
hgs
parents:
diff changeset
   101
    QVERIFY( itemData1->text() == textNotEmpty );
hgs
parents:
diff changeset
   102
    QVERIFY( itemData1->description() == description );
hgs
parents:
diff changeset
   103
    QVERIFY( itemData1->iconName() == iconName );
hgs
parents:
diff changeset
   104
    delete itemData1;
hgs
parents:
diff changeset
   105
    
hgs
parents:
diff changeset
   106
    CpTestPluginEntryItemData *itemData2 = new CpTestPluginEntryItemData(*pHelper, QString(), QString(),HbIcon());
hgs
parents:
diff changeset
   107
    bool bSetResult2 = CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData2, newText, newDes);
hgs
parents:
diff changeset
   108
    QVERIFY(bSetResult2 == true);
hgs
parents:
diff changeset
   109
    // verify the text, description and icon name are set as default when they are empty.
hgs
parents:
diff changeset
   110
    QVERIFY(itemData2->text() == newText);    
hgs
parents:
diff changeset
   111
    QVERIFY( itemData2->description() == newDes );
hgs
parents:
diff changeset
   112
    QString temp = itemData2->iconName();
hgs
parents:
diff changeset
   113
    QString newIconName = QLatin1String(":/icon/qgn_prop_set_default_sub.svg");
hgs
parents:
diff changeset
   114
    QVERIFY( itemData2->iconName() == newIconName );
hgs
parents:
diff changeset
   115
    delete itemData2;
hgs
parents:
diff changeset
   116
    delete pHelper;  
hgs
parents:
diff changeset
   117
}
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
/*!
hgs
parents:
diff changeset
   120
     Test Case Description: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
   121
     1. Fucntion Name: drives()\n
hgs
parents:
diff changeset
   122
     2. Case Descrition: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
   123
         Verify that it can get all physical drives of the devices \n
hgs
parents:
diff changeset
   124
     3. Input Parameters: none \n
hgs
parents:
diff changeset
   125
     4. Expected result:  dirs.count() != 0 \n
hgs
parents:
diff changeset
   126
 */
hgs
parents:
diff changeset
   127
void TestCpCategoryModelUtility::testDrives()
hgs
parents:
diff changeset
   128
{
hgs
parents:
diff changeset
   129
    QStringList dirs = CpCategoryModelUtility::drives(); 
hgs
parents:
diff changeset
   130
    // verify the drives "C:, D:, Z:" are contained in the string list.
hgs
parents:
diff changeset
   131
    QVERIFY( dirs.contains( "C:", Qt::CaseSensitive ) );
hgs
parents:
diff changeset
   132
    QVERIFY( dirs.contains( "D:", Qt::CaseSensitive ) );
hgs
parents:
diff changeset
   133
    QVERIFY( dirs.contains( "Z:", Qt::CaseSensitive ) );
hgs
parents:
diff changeset
   134
}
hgs
parents:
diff changeset
   135
hgs
parents:
diff changeset
   136
/*!
hgs
parents:
diff changeset
   137
     Test Case Description:  \n
hgs
parents:
diff changeset
   138
     1. Fucntion Name: configFileDirectories() \n
hgs
parents:
diff changeset
   139
     2. Case Descrition:  \n
hgs
parents:
diff changeset
   140
         Verify that it can get all config directories of the device \n
hgs
parents:
diff changeset
   141
     3. Input Parameters: none \n
hgs
parents:
diff changeset
   142
     4. Expected result:  dirs.count() != 0 \n
hgs
parents:
diff changeset
   143
 */
hgs
parents:
diff changeset
   144
void TestCpCategoryModelUtility::testPluginDirectories()
hgs
parents:
diff changeset
   145
{
hgs
parents:
diff changeset
   146
    QStringList dirs = CpCategoryModelUtility::pluginDirectories();
hgs
parents:
diff changeset
   147
    qDebug() << dirs;
hgs
parents:
diff changeset
   148
    // Verify the right plugin directory path is returned.
hgs
parents:
diff changeset
   149
    QVERIFY( dirs.contains( QString( "C:/resource/qt/plugins/controlpanel" ) + QDir::separator(), Qt::CaseSensitive ) );
hgs
parents:
diff changeset
   150
}
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
/*!
hgs
parents:
diff changeset
   153
     Test Case Description:  \n
hgs
parents:
diff changeset
   154
     1. Fucntion Name: configFileDirectories() \n
hgs
parents:
diff changeset
   155
     2. Case Descrition: Verify that it can get all config directories of the device. \n
hgs
parents:
diff changeset
   156
     3. Input Parameters: none \n
hgs
parents:
diff changeset
   157
     4. Expected result:  dirs.count() != 0 \n
hgs
parents:
diff changeset
   158
 */
hgs
parents:
diff changeset
   159
void TestCpCategoryModelUtility::testConfigFileDirectories()
hgs
parents:
diff changeset
   160
{
hgs
parents:
diff changeset
   161
    QStringList dirs = CpCategoryModelUtility::configFileDirectories();
hgs
parents:
diff changeset
   162
    qDebug() << dirs;
hgs
parents:
diff changeset
   163
    // Verify the right config file directory path is returned.
hgs
parents:
diff changeset
   164
    QVERIFY( dirs.contains( QString( "C:/resource/qt/plugins/controlpanel/config" ) + QDir::separator(), Qt::CaseSensitive ) );
hgs
parents:
diff changeset
   165
}
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
/*!
hgs
parents:
diff changeset
   168
     Test Case Description:  \n &nbsp;&nbsp;
hgs
parents:
diff changeset
   169
     1. Fucntion Name: buildConfigPluginItems()\n &nbsp;&nbsp;
hgs
parents:
diff changeset
   170
     2. Case Descrition: Verify that it can load the plugins via the plugin config file and create item data of the corresponding plugin succesfully.\n          
hgs
parents:
diff changeset
   171
     3. Input Parameters:\n &nbsp;&nbsp;
hgs
parents:
diff changeset
   172
        <1> parent = HbDataFormModelItem(), configFile = QString(XX), pHelper = new CpItemDataHelper(), startPosition = -10\n &nbsp;&nbsp;
hgs
parents:
diff changeset
   173
        <2> parent = HbDataFormModelItem(), configFile = QString(), pHelper = new CpItemDataHelper(), startPosition = 1\n
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
     4. Expected result:  \n &nbsp;&nbsp;
hgs
parents:
diff changeset
   176
        <1> parent->childCount() == 2 \n 
hgs
parents:
diff changeset
   177
        <2> parent->childCount() == 2 \n 
hgs
parents:
diff changeset
   178
 */
hgs
parents:
diff changeset
   179
void TestCpCategoryModelUtility::testBuildConfigPluginItems()
hgs
parents:
diff changeset
   180
{
hgs
parents:
diff changeset
   181
//    HbDataFormModelItem *parent = new HbDataFormModelItem();
hgs
parents:
diff changeset
   182
//    QString configFile = "configfiletestformodelutility.cpcfg";
hgs
parents:
diff changeset
   183
//    int startPosition = 1;
hgs
parents:
diff changeset
   184
//    
hgs
parents:
diff changeset
   185
//    CpItemDataHelper helper;
hgs
parents:
diff changeset
   186
//    CpCategoryModelUtility::buildConfigPluginItems(parent, configFile, helper, startPosition);
hgs
parents:
diff changeset
   187
//    int childCount = parent->childCount();
hgs
parents:
diff changeset
   188
//    // the configfiletestformodelutility.cpcfg contains two control panel plugins.
hgs
parents:
diff changeset
   189
//    QVERIFY( parent->childCount() == 2 );
hgs
parents:
diff changeset
   190
//    
hgs
parents:
diff changeset
   191
//    CpCategoryModelUtility::buildConfigPluginItems(parent, configFile, helper, -10);
hgs
parents:
diff changeset
   192
//    QVERIFY( parent->childCount() == 2 );
hgs
parents:
diff changeset
   193
//
hgs
parents:
diff changeset
   194
//    delete parent;
hgs
parents:
diff changeset
   195
}
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
/*!
hgs
parents:
diff changeset
   198
     Test Case Description: \n
hgs
parents:
diff changeset
   199
     1. Fucntion Name: CreateCpPluginItemData() \n
hgs
parents:
diff changeset
   200
     2. Case Descrition: \n
hgs
parents:
diff changeset
   201
         
hgs
parents:
diff changeset
   202
     3. Input Parameters: \n
hgs
parents:
diff changeset
   203
         
hgs
parents:
diff changeset
   204
     4. Expected result:  \n
hgs
parents:
diff changeset
   205
         
hgs
parents:
diff changeset
   206
 */
hgs
parents:
diff changeset
   207
void TestCpCategoryModelUtility::testCreateCpPluginItemData()
hgs
parents:
diff changeset
   208
{
hgs
parents:
diff changeset
   209
    // 
hgs
parents:
diff changeset
   210
}
hgs
parents:
diff changeset
   211
hgs
parents:
diff changeset
   212
/*!
hgs
parents:
diff changeset
   213
    Descrition of what you will do in this function
hgs
parents:
diff changeset
   214
 */
hgs
parents:
diff changeset
   215
void TestCpCategoryModelUtility::cleanupTestCase()
hgs
parents:
diff changeset
   216
{
hgs
parents:
diff changeset
   217
    // release all test data
hgs
parents:
diff changeset
   218
    QCoreApplication::processEvents();
hgs
parents:
diff changeset
   219
}
hgs
parents:
diff changeset
   220
hgs
parents:
diff changeset
   221
QTEST_MAIN(TestCpCategoryModelUtility)