23 #include "hsmenuitemmodel.h" |
24 #include "hsmenuitemmodel.h" |
24 #include "hsmenuserviceutils.h" |
25 #include "hsmenuserviceutils.h" |
25 #include "t_hsmenuserviceprovider.h" |
26 #include "t_hsmenuserviceprovider.h" |
26 #include "hsiconsidleloader.h" |
27 #include "hsiconsidleloader.h" |
27 |
28 |
|
29 |
|
30 // --------------------------------------------------------------------------- |
|
31 // |
|
32 // --------------------------------------------------------------------------- |
|
33 // |
28 void MenuServiceTest::HsMenuItemModel_construction() |
34 void MenuServiceTest::HsMenuItemModel_construction() |
29 { |
35 { |
30 QScopedPointer<QObject> parent(new QObject); |
36 QScopedPointer<QObject> parent(new QObject); |
31 CaQuery query; |
37 CaQuery query; |
32 query.mQueryId = "__HsMenuItemModel_construction_CaQuery"; |
38 query.mQueryId = "__HsMenuItemModel_construction_CaQuery"; |
34 QCOMPARE(model.mCaItemModelQuery.mQueryId, query.mQueryId); |
40 QCOMPARE(model.mCaItemModelQuery.mQueryId, query.mQueryId); |
35 QCOMPARE(model.QObject::parent(), parent.data()); |
41 QCOMPARE(model.QObject::parent(), parent.data()); |
36 QVERIFY(model.getIconSize().isValid()); |
42 QVERIFY(model.getIconSize().isValid()); |
37 } |
43 } |
38 |
44 |
|
45 // --------------------------------------------------------------------------- |
|
46 // |
|
47 // --------------------------------------------------------------------------- |
|
48 // |
39 void MenuServiceTest::HsMenuItemModel_setSort() |
49 void MenuServiceTest::HsMenuItemModel_setSort() |
40 { |
50 { |
41 HsMenuItemModel model(CaQuery(), this); |
51 HsMenuItemModel model(CaQuery(), this); |
42 |
52 |
43 { |
53 { |
54 QCOMPARE(model.mSetSortAttribute, HsMenuServiceUtils::sortBy(sortAttribute)); |
64 QCOMPARE(model.mSetSortAttribute, HsMenuServiceUtils::sortBy(sortAttribute)); |
55 QCOMPARE(model.mSetSortOrder, HsMenuServiceUtils::sortOrder(sortAttribute)); |
65 QCOMPARE(model.mSetSortOrder, HsMenuServiceUtils::sortOrder(sortAttribute)); |
56 } |
66 } |
57 } |
67 } |
58 |
68 |
|
69 // --------------------------------------------------------------------------- |
|
70 // |
|
71 // --------------------------------------------------------------------------- |
|
72 // |
59 void MenuServiceTest::HsMenuItemModel_getData() |
73 void MenuServiceTest::HsMenuItemModel_getData() |
60 { |
74 { |
61 HsMenuItemModel model(CaQuery(), this); |
75 HsMenuItemModel model(CaQuery(), this); |
62 |
76 |
63 Qt::ItemDataRole role = Qt::DecorationRole; |
77 Qt::ItemDataRole role = Qt::DecorationRole; |
64 const QModelIndex index = model.index(0, 0); |
78 const QModelIndex index = model.index(0, 0); |
65 const QVariant expectedDecoration(QString("entryText")); |
79 const QVariant expectedDecoration = QVariant(HbIcon(Hs::newIconId)); |
66 QList<QVariant> expectedResult; |
|
67 expectedResult << expectedDecoration; |
|
68 expectedResult << HbIcon(Hs::newIconId); |
|
69 |
80 |
70 model.mRootResult = index; |
81 model.mRootResult = index; |
71 model.mEntryResult->mFlagsResult = 0; |
82 model.mEntryResult->mFlagsResult = 0; |
72 model.mEntryResult->mEntryTypeNameResult = Hs::collectionDownloadedTypeName; |
83 model.mEntryResult->mEntryTypeNameResult = Hs::collectionDownloadedTypeName; |
73 model.setSecondLineVisibility(true); |
84 model.setSecondLineVisibility(true); |
74 model.mDataResult = QVariant(expectedDecoration); |
85 model.mDataResult = expectedDecoration; |
75 |
86 |
76 QList<QVariant> actualResult = model.data(index, role).toList(); |
87 QList<QVariant> actualResult = model.data(index, role).toList(); |
77 |
88 |
78 QCOMPARE(actualResult.at(0).toString(), |
89 QCOMPARE(model.mDataIndex,index); |
79 expectedDecoration.toString()); |
90 QCOMPARE(model.mDataRole,(int)role); |
80 QCOMPARE(actualResult.at(1).value<HbIcon>().iconName(), |
91 QCOMPARE(actualResult.empty(),false); |
|
92 QCOMPARE(actualResult.at(0).value<HbIcon>().iconName(), |
81 QString(Hs::newIconId)); |
93 QString(Hs::newIconId)); |
82 |
94 |
83 QCOMPARE(model.data(index), model.mDataResult); |
95 QCOMPARE(model.data(index), model.mDataResult); |
84 } |
96 } |
85 |
97 |
86 |
98 // --------------------------------------------------------------------------- |
|
99 // |
|
100 // --------------------------------------------------------------------------- |
|
101 // |
87 void MenuServiceTest::HsMenuItemModel_newIconNeeded() |
102 void MenuServiceTest::HsMenuItemModel_newIconNeeded() |
88 { |
103 { |
89 HsMenuItemModel model(CaQuery(), this); |
104 HsMenuItemModel model(CaQuery(), this); |
90 |
105 |
91 const QModelIndex index = model.index(0, 0); |
106 const QModelIndex index = model.index(0, 0); |
109 QVERIFY((model.entry(index)->entryTypeName() != Hs::collectionDownloadedTypeName ) && |
124 QVERIFY((model.entry(index)->entryTypeName() != Hs::collectionDownloadedTypeName ) && |
110 !model.newIconNeeded(index)); |
125 !model.newIconNeeded(index)); |
111 |
126 |
112 } |
127 } |
113 |
128 |
114 |
129 // --------------------------------------------------------------------------- |
|
130 // |
|
131 // --------------------------------------------------------------------------- |
|
132 // |
115 void MenuServiceTest::HsMenuItemModel_uninstallChange() |
133 void MenuServiceTest::HsMenuItemModel_uninstallChange() |
116 { |
134 { |
117 HsMenuItemModel model(CaQuery(), this); |
135 HsMenuItemModel model(CaQuery(), this); |
118 const QModelIndex index = model.index(0, 0); |
136 const QModelIndex index = model.index(0, 0); |
119 model.mRootResult = index; |
137 model.mRootResult = index; |
130 model.uninstallChange(1, 20); |
148 model.uninstallChange(1, 20); |
131 QCOMPARE(model.mEntryResult->attribute( |
149 QCOMPARE(model.mEntryResult->attribute( |
132 QString("uninstall_progress")), QString("20")); |
150 QString("uninstall_progress")), QString("20")); |
133 } |
151 } |
134 |
152 |
|
153 // --------------------------------------------------------------------------- |
|
154 // |
|
155 // --------------------------------------------------------------------------- |
|
156 // |
135 void MenuServiceTest::HsMenuCollectionsItemModel_construction() |
157 void MenuServiceTest::HsMenuCollectionsItemModel_construction() |
136 { |
158 { |
137 QScopedPointer<QObject> parent(new QObject); |
159 QScopedPointer<QObject> parent(new QObject); |
138 CaQuery query; |
160 CaQuery query; |
139 query.mQueryId = "__HsMenuCollectionItemModel_construction_CaQuery"; |
161 query.mQueryId = "__HsMenuCollectionItemModel_construction_CaQuery"; |
141 QCOMPARE(model.mCaItemModelQuery.mQueryId, query.mQueryId); |
163 QCOMPARE(model.mCaItemModelQuery.mQueryId, query.mQueryId); |
142 QCOMPARE(model.QObject::parent(), parent.data()); |
164 QCOMPARE(model.QObject::parent(), parent.data()); |
143 QVERIFY(model.getIconSize().isValid()); |
165 QVERIFY(model.getIconSize().isValid()); |
144 } |
166 } |
145 |
167 |
146 |
168 // --------------------------------------------------------------------------- |
147 |
169 // |
|
170 // --------------------------------------------------------------------------- |
|
171 // |
148 void MenuServiceTest::HsMenuCollectionsItemModel_getData() |
172 void MenuServiceTest::HsMenuCollectionsItemModel_getData() |
149 { |
173 { |
150 HsMenuCollectionsItemModel model(CaQuery(), this); |
174 HsMenuCollectionsItemModel model(CaQuery(), this); |
151 |
175 |
152 const QModelIndex index = model.index(0, 0); |
176 const QModelIndex index = model.index(0, 0); |
173 QCOMPARE(model.data(index, role), expectedData); |
197 QCOMPARE(model.data(index, role), expectedData); |
174 |
198 |
175 model.setSecondLineVisibility(false); |
199 model.setSecondLineVisibility(false); |
176 QCOMPARE(model.data(index), expectedData); |
200 QCOMPARE(model.data(index), expectedData); |
177 } |
201 } |
178 // --------------------------------------------------------------------------- |
202 |
179 // --------------------------------------------------------------------------- |
203 // --------------------------------------------------------------------------- |
|
204 // |
|
205 // --------------------------------------------------------------------------- |
|
206 // |
180 void MenuServiceTest::HsMenuCollectionsItemModel_getSecondLine() |
207 void MenuServiceTest::HsMenuCollectionsItemModel_getSecondLine() |
181 { |
208 { |
182 HsMenuCollectionsItemModel model(CaQuery(), this); |
209 HsMenuCollectionsItemModel model(CaQuery(), this); |
183 Qt::ItemDataRole role = Qt::DisplayRole; |
210 Qt::ItemDataRole role = Qt::DisplayRole; |
184 model.setSecondLineVisibility(true); |
211 model.setSecondLineVisibility(true); |
241 HsMenuItemModel model(CaQuery(), this); |
268 HsMenuItemModel model(CaQuery(), this); |
242 |
269 |
243 // set up mock data |
270 // set up mock data |
244 Qt::ItemDataRole role = Qt::DecorationRole; |
271 Qt::ItemDataRole role = Qt::DecorationRole; |
245 const QModelIndex index = model.index(0, 0); |
272 const QModelIndex index = model.index(0, 0); |
246 const QVariant expectedDecoration(QString("entryText")); |
273 const QVariant expectedDecoration = QVariant(HbIcon(Hs::newIconId)); |
247 QList<QVariant> expectedResult; |
|
248 expectedResult << expectedDecoration; |
|
249 expectedResult << HbIcon(Hs::newIconId); |
|
250 model.mRootResult = index; |
274 model.mRootResult = index; |
251 model.mEntryResult->mFlagsResult = 0; |
275 model.mEntryResult->mFlagsResult = 0; |
252 model.mEntryResult->mEntryTypeNameResult = Hs::collectionDownloadedTypeName; |
276 model.mEntryResult->mEntryTypeNameResult = Hs::collectionDownloadedTypeName; |
253 model.setSecondLineVisibility(true); |
277 model.setSecondLineVisibility(true); |
254 model.mDataResult = QVariant(expectedDecoration); |
278 model.mDataResult = QVariant(expectedDecoration); |
255 model.mRowCountResult = 1; // i.e. how many rows the mock model pretends to have |
279 model.mRowCountResult = 1; // i.e. how many rows the mock model pretends to have |
256 QList<QVariant> actualResult = model.data(index, role).toList(); |
280 QList<QVariant> actualResult = model.data(index, role).toList(); |
257 model.mEntryResult->mMakeIconResult = HbIcon(Hs::newIconId); |
281 model.mEntryResult->mMakeIconResult = HbIcon(Hs::newIconId); |
258 |
282 |
259 // verify mock setup |
283 // verify mock setup |
260 QCOMPARE(actualResult.at(0).toString(), |
284 QCOMPARE(model.mDataIndex,index); |
261 expectedDecoration.toString()); |
285 QCOMPARE(model.mDataRole,(int)role); |
262 QCOMPARE(actualResult.at(1).value<HbIcon>().iconName(), |
286 QCOMPARE(actualResult.empty(),false); |
|
287 QCOMPARE(actualResult.at(0).value<HbIcon>().iconName(), |
263 QString(Hs::newIconId)); |
288 QString(Hs::newIconId)); |
264 QCOMPARE(model.data(index), model.mDataResult); |
289 QCOMPARE(model.data(index), model.mDataResult); |
265 |
290 |
266 // invoke icon preloader construction |
291 // invoke icon preloader construction |
267 model.preloadIcons(); |
292 model.preloadIcons(); |
287 HsMenuItemModel model(CaQuery(), this); |
312 HsMenuItemModel model(CaQuery(), this); |
288 |
313 |
289 // set up mock data |
314 // set up mock data |
290 Qt::ItemDataRole role = Qt::DecorationRole; |
315 Qt::ItemDataRole role = Qt::DecorationRole; |
291 const QModelIndex index = model.index(0, 0); |
316 const QModelIndex index = model.index(0, 0); |
292 const QVariant expectedDecoration(QString("entryText")); |
317 const QVariant expectedDecoration = QVariant(HbIcon(Hs::newIconId)); |
293 QList<QVariant> expectedResult; |
|
294 expectedResult << expectedDecoration; |
|
295 expectedResult << HbIcon(Hs::newIconId); |
|
296 model.mRootResult = index; |
318 model.mRootResult = index; |
297 model.mEntryResult->mFlagsResult = 0; |
319 model.mEntryResult->mFlagsResult = 0; |
298 model.mEntryResult->mEntryTypeNameResult = Hs::collectionDownloadedTypeName; |
320 model.mEntryResult->mEntryTypeNameResult = Hs::collectionDownloadedTypeName; |
299 model.setSecondLineVisibility(true); |
321 model.setSecondLineVisibility(true); |
300 model.mDataResult = QVariant(expectedDecoration); |
322 model.mDataResult = QVariant(expectedDecoration); |
301 model.mRowCountResult = 1; // i.e. how many rows the mock model pretends to have |
323 model.mRowCountResult = 1; // i.e. how many rows the mock model pretends to have |
302 QList<QVariant> actualResult = model.data(index, role).toList(); |
324 QList<QVariant> actualResult = model.data(index, role).toList(); |
303 model.mEntryResult->mMakeIconResult = HbIcon(Hs::newIconId); |
325 model.mEntryResult->mMakeIconResult = HbIcon(Hs::newIconId); |
304 |
326 |
305 QCOMPARE(actualResult.at(0).toString(), |
327 QCOMPARE(model.mDataIndex,index); |
306 expectedDecoration.toString()); |
328 QCOMPARE(model.mDataRole,(int)role); |
307 QCOMPARE(actualResult.at(1).value<HbIcon>().iconName(), |
329 QCOMPARE(actualResult.empty(),false); |
|
330 QCOMPARE(actualResult.at(0).value<HbIcon>().iconName(), |
308 QString(Hs::newIconId)); |
331 QString(Hs::newIconId)); |
309 |
332 |
310 QCOMPARE(model.data(index), model.mDataResult); |
333 QCOMPARE(model.data(index), model.mDataResult); |
311 |
334 |
312 // test |
335 // test |