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