diff -r a5692c68d772 -r 593f946f4fec controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/ut_categorymodelutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/controlpanelui/src/cpcategorymodel/tsrc/ut_categorymodelutility/src/ut_categorymodelutility.cpp Wed Sep 29 10:09:58 2010 +0800 @@ -0,0 +1,220 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0"" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* test application for qt cpcategorymodel functions. +*/ + +#include "ut_categorymodelutility.h" +#include "cptestpluginentryitem.h" +#include +#include "cpcategorysettingformitemdata.h" +#include "cpcategorysettingformmodel.h" +#include "cppluginconfig.h" +#include "cpcategorymodelutility.h" +#include +//#include +#include +#include +//#include +//#include + + +//the class for test +#include "cpcategorymodelutility.h" +/*! + \class TestCpCategoryModelUtility \n + \brief class name: TestCpCategoryModelUtility \n + type of test case: unit test \n + test cases' number totally: 7 \n + */ + +void TestCpCategoryModelUtility::initTestCase() +{ + // initialize public test data here + +} + +/*! + Test Case Description: \n + 1. Fucntion Name: \n    + static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData, + const QString &displayName, + const QString &description) \n + 2. Case Descrition: \n    + Test the function when setting itemData as 0. \n + 3. Input Parameters:\n    + <1> itemData = 0, QString(), QString() \n + 4. Expected result: \n    + <1> bSetResult = false \n + */ +void TestCpCategoryModelUtility::testSetEntryItemReturnFalse() +{ + bool bSetResult = CpCategoryModelUtility::setEntryItemContentIfEmpty(0, QString(), QString()); + QVERIFY(bSetResult == false); +} + +/*! + Test Case Description: \n + 1. Fucntion Name: \n    + static bool setEntryItemContentIfEmpty(CpSettingFormItemData *itemData, + const QString &displayName, + const QString &description) \n + 2. Case Descrition: \n    + setEntryItemContentIfEmpty \n + 3. Input Parameters:\n    + new a subclass from CpSettingFormEntryItemData firstly. \n    + <1> itemData = new CpTestPluginEntryItemData(CpItemDataHelper, QString(XX), QString(XX),HbIcon(QString(XX))), \n    + newText = QString(XX), \n    + newDes = QString(XX),\n    + newIconName = QString(XX).\n    + <2> itemData = new CpTestPluginEntryItemData(CpItemDataHelper, QString(),QString(), HbIcon())\n    + newText = QString(XX),\n    + newDes = QString(XX) \n + 4. Expected result: \n    + <1> bSetResult = true,\n    + <2> bSetResult = true, \n + */ +void TestCpCategoryModelUtility::testSetEntryItemContent() +{ + CpItemDataHelper *pHelper = new CpItemDataHelper(); + QString textNotEmpty = "TextNotEmpty"; + QString description = "descriptionNotEmpty"; + QString iconName = "iconNameNotEmpty"; + HbIcon icon = HbIcon(iconName); + CpTestPluginEntryItemData *itemData1 = new CpTestPluginEntryItemData(*pHelper, textNotEmpty, description,icon); + QString newText = "newSetText"; + QString newDes = "newSetdescription"; + bool bSetResult1 = CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData1, newText, newDes); + QVERIFY(bSetResult1 == true); + // verify the text, description and icon name cannot be set when they are not empty. + QVERIFY( itemData1->text() == textNotEmpty ); + QVERIFY( itemData1->description() == description ); + QVERIFY( itemData1->iconName() == iconName ); + delete itemData1; + + CpTestPluginEntryItemData *itemData2 = new CpTestPluginEntryItemData(*pHelper, QString(), QString(),HbIcon()); + bool bSetResult2 = CpCategoryModelUtility::setEntryItemContentIfEmpty(itemData2, newText, newDes); + QVERIFY(bSetResult2 == true); + // verify the text, description and icon name are set as default when they are empty. + QVERIFY(itemData2->text() == newText); + QVERIFY( itemData2->description() == newDes ); + QString temp = itemData2->iconName(); + QVERIFY( itemData2->iconName() == DEFAULT_ICON_LISTENTRYITEM ); + delete itemData2; + delete pHelper; +} + +/*! + Test Case Description: \n    + 1. Fucntion Name: drives()\n + 2. Case Descrition: \n    + Verify that it can get all physical drives of the devices \n + 3. Input Parameters: none \n + 4. Expected result: dirs.count() != 0 \n + */ +void TestCpCategoryModelUtility::testDrives() +{ + QStringList dirs = CpCategoryModelUtility::drives(); + // verify the drives "C:, D:, Z:" are contained in the string list. + QVERIFY( dirs.contains( "C:", Qt::CaseSensitive ) ); + QVERIFY( dirs.contains( "D:", Qt::CaseSensitive ) ); + QVERIFY( dirs.contains( "Z:", Qt::CaseSensitive ) ); +} + +/*! + Test Case Description: \n + 1. Fucntion Name: configFileDirectories() \n + 2. Case Descrition: \n + Verify that it can get all config directories of the device \n + 3. Input Parameters: none \n + 4. Expected result: dirs.count() != 0 \n + */ +void TestCpCategoryModelUtility::testPluginDirectories() +{ + QStringList dirs = CpCategoryModelUtility::pluginDirectories(); + qDebug() << dirs; + // Verify the right plugin directory path is returned. + QVERIFY( dirs.contains( QString( "C:/resource/qt/plugins/controlpanel" ) + QDir::separator(), Qt::CaseSensitive ) ); +} + +/*! + Test Case Description: \n + 1. Fucntion Name: configFileDirectories() \n + 2. Case Descrition: Verify that it can get all config directories of the device. \n + 3. Input Parameters: none \n + 4. Expected result: dirs.count() != 0 \n + */ +void TestCpCategoryModelUtility::testConfigFileDirectories() +{ + QStringList dirs = CpCategoryModelUtility::configFileDirectories(); + qDebug() << dirs; + // Verify the right config file directory path is returned. + QVERIFY( dirs.contains( QString( "C:/resource/qt/plugins/controlpanel/config" ) + QDir::separator(), Qt::CaseSensitive ) ); +} + +/*! + Test Case Description: \n    + 1. Fucntion Name: buildConfigPluginItems()\n    + 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 + 3. Input Parameters:\n    + <1> parent = HbDataFormModelItem(), configFile = QString(XX), pHelper = new CpItemDataHelper(), startPosition = -10\n    + <2> parent = HbDataFormModelItem(), configFile = QString(), pHelper = new CpItemDataHelper(), startPosition = 1\n + + 4. Expected result: \n    + <1> parent->childCount() == 2 \n + <2> parent->childCount() == 2 \n + */ +void TestCpCategoryModelUtility::testBuildConfigPluginItems() +{ +// HbDataFormModelItem *parent = new HbDataFormModelItem(); +// QString configFile = "configfiletestformodelutility.cpcfg"; +// int startPosition = 1; +// +// CpItemDataHelper helper; +// CpCategoryModelUtility::buildConfigPluginItems(parent, configFile, helper, startPosition); +// int childCount = parent->childCount(); +// // the configfiletestformodelutility.cpcfg contains two control panel plugins. +// QVERIFY( parent->childCount() == 2 ); +// +// CpCategoryModelUtility::buildConfigPluginItems(parent, configFile, helper, -10); +// QVERIFY( parent->childCount() == 2 ); +// +// delete parent; +} + +/*! + Test Case Description: \n + 1. Fucntion Name: CreateCpPluginItemData() \n + 2. Case Descrition: \n + + 3. Input Parameters: \n + + 4. Expected result: \n + + */ +void TestCpCategoryModelUtility::testCreateCpPluginItemData() +{ + // +} + +/*! + Descrition of what you will do in this function + */ +void TestCpCategoryModelUtility::cleanupTestCase() +{ + // release all test data + QCoreApplication::processEvents(); +} + +QTEST_MAIN(TestCpCategoryModelUtility)