49 |
74 |
50 return res; |
75 return res; |
51 } |
76 } |
52 |
77 |
53 // --------------------------------------------------------------------------- |
78 // --------------------------------------------------------------------------- |
|
79 // global qHash function required fo creating hash values for TMPXItemId -keys |
|
80 // --------------------------------------------------------------------------- |
|
81 inline uint qHash(TMPXItemId key) |
|
82 { |
|
83 QPair<uint, uint> keyPair(key.iId1, key.iId2); |
|
84 |
|
85 return qHash(keyPair); |
|
86 } |
|
87 |
|
88 // --------------------------------------------------------------------------- |
|
89 // setRowCount |
|
90 // --------------------------------------------------------------------------- |
|
91 // |
|
92 void TestVideoListSelectionDialog::setRowCount(int count, int type, VideoListDataModel *model) |
|
93 { |
|
94 if (!model) |
|
95 { |
|
96 VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance(); |
|
97 VideoSortFilterProxyModel *model = wrapper.getModel(type); |
|
98 QVERIFY(model); |
|
99 |
|
100 VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel()); |
|
101 QVERIFY(sourceModel); |
|
102 |
|
103 VideoListDataModelData::setRowCount(*sourceModel, count); |
|
104 } |
|
105 else |
|
106 { |
|
107 VideoListDataModelData::setRowCount(*model, count); |
|
108 } |
|
109 } |
|
110 |
|
111 // --------------------------------------------------------------------------- |
|
112 // initTestCase |
|
113 // --------------------------------------------------------------------------- |
|
114 // |
|
115 void TestVideoListSelectionDialog::initTestCase() |
|
116 { |
|
117 mTestHelper = new VideoListSelectionDialogTesterHelper(); |
|
118 } |
|
119 |
|
120 // --------------------------------------------------------------------------- |
|
121 // cleanupTestCase |
|
122 // --------------------------------------------------------------------------- |
|
123 // |
|
124 void TestVideoListSelectionDialog::cleanupTestCase() |
|
125 { |
|
126 delete mTestHelper; |
|
127 } |
|
128 |
|
129 // --------------------------------------------------------------------------- |
54 // init |
130 // init |
55 // --------------------------------------------------------------------------- |
131 // --------------------------------------------------------------------------- |
56 // |
132 // |
57 void TestVideoListSelectionDialog::init() |
133 void TestVideoListSelectionDialog::init() |
58 { |
134 { |
59 } |
135 mTestObject = 0; |
60 |
136 mModel = 0; |
|
137 mTestUiLoader = 0; |
|
138 mTestWidget = 0; |
|
139 |
|
140 mInitOk = false; |
|
141 |
|
142 mTestUiLoader = new VideoCollectionUiLoader(); |
|
143 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
144 mModel = VideoCollectionWrapper::instance().getModel(VideoCollectionWrapper::EGeneric); |
|
145 |
|
146 mTestHelper->mTestable = mTestObject; |
|
147 QVERIFY(mTestHelper->connectSignals()); |
|
148 |
|
149 mInitOk = true; |
|
150 } |
|
151 |
61 // --------------------------------------------------------------------------- |
152 // --------------------------------------------------------------------------- |
62 // cleanup |
153 // cleanup |
63 // --------------------------------------------------------------------------- |
154 // --------------------------------------------------------------------------- |
64 // |
155 // |
65 void TestVideoListSelectionDialog::cleanup() |
156 void TestVideoListSelectionDialog::cleanup() |
66 { |
157 { |
67 } |
158 mTestHelper->disconnectSignals(); |
|
159 |
|
160 delete mTestObject; |
|
161 mTestObject = 0; |
|
162 |
|
163 delete mTestUiLoader; |
|
164 mTestUiLoader = 0; |
|
165 |
|
166 mSourceModel = 0; |
|
167 |
|
168 mModel = 0; |
|
169 |
|
170 |
|
171 } |
|
172 |
|
173 // --------------------------------------------------------------------------- |
|
174 // testConstructDestruct |
|
175 // --------------------------------------------------------------------------- |
|
176 // |
|
177 void TestVideoListSelectionDialog::testConstructDestruct() |
|
178 { |
|
179 QVERIFY(mInitOk == true); |
|
180 |
|
181 QVERIFY(mTestObject != 0); |
|
182 QVERIFY(mTestObject->mModel != 0); |
|
183 QVERIFY(mModel != 0); |
|
184 |
|
185 delete mTestObject; |
|
186 mTestObject = 0; |
|
187 |
|
188 // Getting model fails |
|
189 VideoCollectionWrapperData::mGetModelFails = true; |
|
190 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
191 QVERIFY(mTestObject->mModel == 0); |
|
192 QVERIFY(mTestObject->mListWidget == 0); |
|
193 |
|
194 delete mTestObject; |
|
195 mTestObject = 0; |
|
196 |
|
197 // List widget initialize fails |
|
198 VideoCollectionWrapperData::mGetModelFails = false; |
|
199 VideoListWidgetData::mInitializeReturnValue = -1; |
|
200 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
201 QVERIFY(mTestObject->mModel != 0); |
|
202 QVERIFY(mTestObject->mListWidget == 0); |
|
203 } |
|
204 |
|
205 // --------------------------------------------------------------------------- |
|
206 // testSetupContent |
|
207 // --------------------------------------------------------------------------- |
|
208 // |
|
209 void TestVideoListSelectionDialog::testSetupContent() |
|
210 { |
|
211 VideoCollectionWrapperData::reset(); |
|
212 VideoListWidgetData::reset(); |
|
213 |
|
214 QVERIFY(mInitOk == true); |
|
215 QVERIFY(mModel != 0); |
|
216 |
|
217 TMPXItemId mpxId; |
|
218 |
|
219 // invalid type provided, object's internal data will not change |
|
220 mTestObject->mTypeOfSelection = VideoListSelectionDialog::EDeleteVideos; |
|
221 mTestObject->setupContent(-1, mpxId); |
|
222 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
223 mTestObject->setupContent(600, mpxId); |
|
224 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
225 |
|
226 // No data. type EDeleteVideos. Default mpx item |
|
227 setRowCount(0); |
|
228 mpxId = TMPXItemId(); |
|
229 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
230 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
231 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
232 QCOMPARE(mTestObject->mSelectedVideos.count(), 1); |
|
233 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
234 QVERIFY(mTestObject->mModel != 0); |
|
235 QVERIFY(mTestObject->mListWidget != 0); |
|
236 QVERIFY(mTestObject->mListContainer != 0); |
|
237 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
238 QVERIFY(mTestObject->mHeading != 0); |
|
239 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
240 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
241 QVERIFY(mTestObject->mItemCount != 0); |
|
242 QVERIFY(mTestObject->mCheckBox != 0); |
|
243 QVERIFY(mTestObject->primaryAction() != 0); |
|
244 QVERIFY(mTestObject->secondaryAction() != 0); |
|
245 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
246 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
247 |
|
248 VideoSortFilterProxyModelData::reset(); |
|
249 |
|
250 // second setup (for coverity) |
|
251 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
252 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
253 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
254 QCOMPARE(mTestObject->mSelectedVideos.count(), 1); |
|
255 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
256 QVERIFY(mTestObject->mModel != 0); |
|
257 QVERIFY(mTestObject->mListWidget != 0); |
|
258 QVERIFY(mTestObject->mListContainer != 0); |
|
259 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
260 QVERIFY(mTestObject->mHeading != 0); |
|
261 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
262 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
263 QVERIFY(mTestObject->mItemCount != 0); |
|
264 QVERIFY(mTestObject->mCheckBox != 0); |
|
265 QVERIFY(mTestObject->primaryAction() != 0); |
|
266 QVERIFY(mTestObject->secondaryAction() != 0); |
|
267 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
268 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
269 |
|
270 delete mTestObject; |
|
271 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
272 VideoSortFilterProxyModelData::reset(); |
|
273 |
|
274 // No data. type ESelectCollection. Default mpx item |
|
275 setRowCount(0); |
|
276 mpxId = TMPXItemId(); |
|
277 mTestObject->setupContent(VideoListSelectionDialog::ESelectCollection, mpxId); |
|
278 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ESelectCollection); |
|
279 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
280 QCOMPARE(mTestObject->mSelectedVideos.count(), 1); |
|
281 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
282 QVERIFY(mTestObject->mModel != 0); |
|
283 QVERIFY(mTestObject->mListWidget != 0); |
|
284 QVERIFY(mTestObject->mListContainer != 0); |
|
285 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
286 QVERIFY(mTestObject->mHeading != 0); |
|
287 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
288 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == false); |
|
289 QVERIFY(mTestObject->mItemCount != 0); |
|
290 QVERIFY(mTestObject->mCheckBox != 0); |
|
291 QVERIFY(mTestObject->primaryAction() != 0); |
|
292 QVERIFY(mTestObject->secondaryAction() != 0); |
|
293 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
294 QVERIFY(!VideoSortFilterProxyModelData::mGenericFilterValue); |
|
295 |
|
296 delete mTestObject; |
|
297 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
298 VideoSortFilterProxyModelData::reset(); |
|
299 |
|
300 // No data. type EAddToCollection:. Default mpx item |
|
301 setRowCount(0); |
|
302 mpxId = TMPXItemId(); |
|
303 mTestObject->setupContent(VideoListSelectionDialog::EAddToCollection, mpxId); |
|
304 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
305 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
306 QCOMPARE(mTestObject->mSelectedVideos.count(), 1); |
|
307 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
308 QVERIFY(mTestObject->mModel != 0); |
|
309 QVERIFY(mTestObject->mListWidget != 0); |
|
310 QVERIFY(mTestObject->mListContainer != 0); |
|
311 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
312 QVERIFY(mTestObject->mHeading != 0); |
|
313 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
314 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
315 QVERIFY(mTestObject->mItemCount != 0); |
|
316 QVERIFY(mTestObject->mCheckBox != 0); |
|
317 QVERIFY(mTestObject->primaryAction() != 0); |
|
318 QVERIFY(mTestObject->secondaryAction() != 0); |
|
319 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
320 QVERIFY(!VideoSortFilterProxyModelData::mGenericFilterValue); |
|
321 |
|
322 delete mTestObject; |
|
323 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
324 VideoSortFilterProxyModelData::reset(); |
|
325 |
|
326 // No data. type ERemoveFromCollection:. Default mpx item |
|
327 setRowCount(0); |
|
328 mpxId = TMPXItemId(); |
|
329 mTestObject->setupContent(VideoListSelectionDialog::ERemoveFromCollection, mpxId); |
|
330 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ERemoveFromCollection); |
|
331 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
332 QCOMPARE(mTestObject->mSelectedVideos.count(), 1); |
|
333 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
334 QVERIFY(mTestObject->mModel != 0); |
|
335 QVERIFY(mTestObject->mListWidget != 0); |
|
336 QVERIFY(mTestObject->mListContainer != 0); |
|
337 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
338 QVERIFY(mTestObject->mHeading != 0); |
|
339 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
340 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
341 QVERIFY(mTestObject->mItemCount != 0); |
|
342 QVERIFY(mTestObject->mCheckBox != 0); |
|
343 QVERIFY(mTestObject->primaryAction() != 0); |
|
344 QVERIFY(mTestObject->secondaryAction() != 0); |
|
345 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
346 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
347 |
|
348 delete mTestObject; |
|
349 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
350 VideoSortFilterProxyModelData::reset(); |
|
351 |
|
352 // Some data, mpx item type is album |
|
353 setRowCount(10); |
|
354 mpxId = TMPXItemId(0, KVcxMvcMediaTypeAlbum); |
|
355 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
356 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
357 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
358 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
359 QVERIFY(mTestObject->mSelectedAlbumId == mpxId); |
|
360 QVERIFY(mTestObject->mModel != 0); |
|
361 QVERIFY(mTestObject->mListWidget != 0); |
|
362 QVERIFY(mTestObject->mListContainer != 0); |
|
363 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
364 QVERIFY(mTestObject->mHeading != 0); |
|
365 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
366 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
367 QVERIFY(mTestObject->mItemCount != 0); |
|
368 QVERIFY(mTestObject->mCheckBox != 0); |
|
369 QVERIFY(mTestObject->primaryAction() != 0); |
|
370 QVERIFY(mTestObject->secondaryAction() != 0); |
|
371 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
372 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
373 |
|
374 delete mTestObject; |
|
375 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
376 VideoSortFilterProxyModelData::reset(); |
|
377 |
|
378 // Some data, mpx item type is invalid: category |
|
379 mpxId = TMPXItemId(0, KVcxMvcMediaTypeCategory); |
|
380 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
381 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
382 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
383 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
384 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
385 QVERIFY(mTestObject->mModel != 0); |
|
386 QVERIFY(mTestObject->mListWidget != 0); |
|
387 QVERIFY(mTestObject->mListContainer != 0); |
|
388 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
389 QVERIFY(mTestObject->mHeading != 0); |
|
390 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
391 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
392 QVERIFY(mTestObject->mItemCount != 0); |
|
393 QVERIFY(mTestObject->mCheckBox != 0); |
|
394 QVERIFY(mTestObject->primaryAction() != 0); |
|
395 QVERIFY(mTestObject->secondaryAction() != 0); |
|
396 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
397 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
398 |
|
399 delete mTestObject; |
|
400 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
401 VideoSortFilterProxyModelData::reset(); |
|
402 |
|
403 // Some data, mpx item type is invalid id |
|
404 mpxId = TMPXItemId::InvalidId(); |
|
405 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
406 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
407 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
408 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
409 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
410 QVERIFY(mTestObject->mModel != 0); |
|
411 QVERIFY(mTestObject->mListWidget != 0); |
|
412 QVERIFY(mTestObject->mListContainer != 0); |
|
413 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
414 QVERIFY(mTestObject->mHeading != 0); |
|
415 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
416 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
417 QVERIFY(mTestObject->mItemCount != 0); |
|
418 QVERIFY(mTestObject->mCheckBox != 0); |
|
419 QVERIFY(mTestObject->primaryAction() != 0); |
|
420 QVERIFY(mTestObject->secondaryAction() != 0); |
|
421 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
422 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
423 |
|
424 VideoSortFilterProxyModelData::reset(); |
|
425 // some data, second initialization without widget and model, for coverity |
|
426 delete mTestObject->mListWidget; |
|
427 mTestObject->mListWidget = 0; |
|
428 mTestObject->mModel = 0; |
|
429 mTestObject->mListContainer = 0; |
|
430 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
431 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
432 QCOMPARE(mTestObject->mSelection.count(), 0); |
|
433 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
434 QVERIFY(mTestObject->mSelectedAlbumId == TMPXItemId::InvalidId()); |
|
435 QVERIFY(mTestObject->mModel != 0); |
|
436 QVERIFY(mTestObject->mListWidget != 0); |
|
437 QVERIFY(mTestObject->mListContainer != 0); |
|
438 QVERIFY(mTestObject->mListContainer->mCurrentWidget == mTestObject->mListWidget); |
|
439 QVERIFY(mTestObject->mHeading != 0); |
|
440 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
441 QVERIFY(mTestObject->mCheckboxContainer->isVisible() == true); |
|
442 QVERIFY(mTestObject->mItemCount != 0); |
|
443 QVERIFY(mTestObject->mCheckBox != 0); |
|
444 QVERIFY(mTestObject->primaryAction() != 0); |
|
445 QVERIFY(mTestObject->secondaryAction() != 0); |
|
446 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterId == mpxId); |
|
447 QVERIFY(VideoSortFilterProxyModelData::mGenericFilterValue); |
|
448 } |
|
449 |
|
450 // --------------------------------------------------------------------------- |
|
451 // testSetupInitFailures |
|
452 // --------------------------------------------------------------------------- |
|
453 // |
|
454 void TestVideoListSelectionDialog::testSetupInitFailures() |
|
455 { |
|
456 TMPXItemId mpxId; |
|
457 |
|
458 // initDialog fails because model get fails. |
|
459 QVERIFY(mTestObject->mModel != 0); |
|
460 VideoSortFilterProxyModel *backup = mTestObject->mModel; |
|
461 VideoListWidget *backupWidget = mTestObject->mListWidget; |
|
462 mTestObject->mModel = 0; |
|
463 mTestObject->mListWidget = 0; |
|
464 VideoCollectionWrapperData::mGetModelFails = true; |
|
465 mpxId = TMPXItemId(0, KVcxMvcMediaTypeVideo); |
|
466 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
467 VideoCollectionWrapperData::mGetModelFails = false; |
|
468 QVERIFY(mTestObject->mModel == 0); |
|
469 QVERIFY(mTestObject->mListWidget == 0); |
|
470 QVERIFY(mTestObject->mListContainer == 0); |
|
471 QVERIFY(mTestObject->mHeading == 0); |
|
472 QVERIFY(mTestObject->mCheckboxContainer == 0); |
|
473 QVERIFY(mTestObject->mItemCount == 0); |
|
474 QVERIFY(mTestObject->mCheckBox == 0); |
|
475 mTestObject->mModel = backup; backup = 0; |
|
476 mTestObject->mListWidget = backupWidget; backupWidget = 0; |
|
477 |
|
478 delete mTestObject; |
|
479 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
480 |
|
481 // initDialog fails because mListWidget::initialize |
|
482 QVERIFY(mTestObject->mModel != 0); |
|
483 VideoListWidgetData::mInitializeReturnValue = -1; |
|
484 backupWidget = mTestObject->mListWidget; |
|
485 mTestObject->mListWidget = 0; |
|
486 mpxId = TMPXItemId(0, KVcxMvcMediaTypeVideo); |
|
487 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
488 QVERIFY(mTestObject->mModel != 0); |
|
489 QVERIFY(mTestObject->mListWidget == 0); |
|
490 QVERIFY(mTestObject->mListContainer == 0); |
|
491 QVERIFY(mTestObject->mHeading == 0); |
|
492 QVERIFY(mTestObject->mCheckboxContainer == 0); |
|
493 QVERIFY(mTestObject->mItemCount == 0); |
|
494 QVERIFY(mTestObject->mCheckBox == 0); |
|
495 VideoListWidgetData::mInitializeReturnValue = 0; |
|
496 |
|
497 delete mTestObject; |
|
498 mTestObject = new VideoListSelectionDialog(mTestUiLoader); |
|
499 |
|
500 // initdialog fails because DOCML_NAME_LIST_CONTAINER finding fails |
|
501 VideoCollectionUiLoaderData::mFindFailure = false; |
|
502 VideoCollectionUiLoaderData::mFindFailureNameList.clear(); |
|
503 VideoCollectionUiLoaderData::mFindFailureNameList.append(DOCML_NAME_LIST_CONTAINER); |
|
504 mpxId = TMPXItemId(0, KVcxMvcMediaTypeVideo); |
|
505 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
506 QVERIFY(mTestObject->mModel != 0); |
|
507 QVERIFY(mTestObject->mListWidget != 0); |
|
508 QVERIFY(mTestObject->mListContainer == 0); |
|
509 QVERIFY(mTestObject->mHeading != 0); |
|
510 QVERIFY(mTestObject->mCheckboxContainer != 0); |
|
511 QVERIFY(mTestObject->mItemCount != 0); |
|
512 QVERIFY(mTestObject->mCheckBox != 0); |
|
513 VideoCollectionUiLoaderData::mFindFailureNameList.clear(); |
|
514 } |
|
515 |
|
516 // --------------------------------------------------------------------------- |
|
517 // testExec |
|
518 // --------------------------------------------------------------------------- |
|
519 // |
|
520 void TestVideoListSelectionDialog::testExec() |
|
521 { |
|
522 // there's not much to test in exec -method, basically these |
|
523 // are for coberity only |
|
524 // we're using EDeleteVideos type and make sure correct |
|
525 // status exists in view utils after exec |
|
526 TMPXItemId mpxId = TMPXItemId(0, KVcxMvcMediaTypeVideo); |
|
527 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
528 |
|
529 HbDialog::execReturnPrimary = true; |
|
530 |
|
531 VideoCollectionViewUtilsData::mLastError = -1; |
|
532 |
|
533 // empty model row count |
|
534 setRowCount(0); |
|
535 mTestObject->exec(); |
|
536 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusDeleteInProgress); |
|
537 VideoCollectionViewUtilsData::mLastError = -1; |
|
538 |
|
539 // model contains data |
|
540 setRowCount(10); |
|
541 mTestObject->exec(); |
|
542 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusDeleteInProgress); |
|
543 |
|
544 // just to make sure finishedSlot is called with correct params |
|
545 VideoCollectionViewUtilsData::mLastError = -1; |
|
546 HbDialog::execReturnPrimary = false; |
|
547 mTestObject->exec(); |
|
548 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
549 } |
|
550 |
|
551 // --------------------------------------------------------------------------- |
|
552 // testFinishedSlot |
|
553 // --------------------------------------------------------------------------- |
|
554 // |
|
555 void TestVideoListSelectionDialog::testFinishedSlot() |
|
556 { |
|
557 // finished slot tested throught exec -method |
|
558 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
559 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
560 |
|
561 TMPXItemId mpxId = TMPXItemId(1, KVcxMvcMediaTypeAlbum); |
|
562 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
563 // finished with secondary action |
|
564 VideoCollectionViewUtilsData::mLastError = -1; |
|
565 HbDialog::execReturnPrimary = false; |
|
566 VideoSortFilterProxyModelData::reset(); |
|
567 mTestObject->exec(); |
|
568 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
569 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
570 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
571 |
|
572 HbDialog::execReturnPrimary = true; |
|
573 |
|
574 //////////// |
|
575 // mTypeOfSelection == ESelectCollection |
|
576 // mSelectedAlbumId != TMPXItemId::InvalidId()) |
|
577 VideoCollectionViewUtilsData::mLastError = -1; |
|
578 mTestObject->setupContent(VideoListSelectionDialog::ESelectCollection, mpxId); |
|
579 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
580 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
581 VideoSortFilterProxyModelData::reset(); |
|
582 VideoSortFilterProxyModelData::mAddItemsInAlbumReturnValue = 0; |
|
583 mTestObject->exec(); |
|
584 // type of selection has changed |
|
585 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
586 // videos added into collection |
|
587 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusVideosAddedToCollection); |
|
588 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == mpxId); |
|
589 QVERIFY(VideoSortFilterProxyModelData::mItemIds.count() == 2); |
|
590 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == TMPXItemId(1,0)); |
|
591 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(1) == TMPXItemId(2,0)); |
|
592 |
|
593 |
|
594 VideoCollectionViewUtilsData::mLastError = -1; |
|
595 // mSelectedAlbumId == TMPXItemId::InvalidId()) |
|
596 mpxId = TMPXItemId::InvalidId(); |
|
597 // queryNewAlbumSelected does not set selected |
|
598 HbInputDialog::mGetTextFails = true; |
|
599 mTestObject->setupContent(VideoListSelectionDialog::ESelectCollection, mpxId); |
|
600 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
601 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
602 VideoSortFilterProxyModelData::reset(); |
|
603 VideoSortFilterProxyModelData::mNewAlbumId = TMPXItemId::InvalidId(); |
|
604 mTestObject->exec(); |
|
605 // type of selection does not change |
|
606 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ESelectCollection); |
|
607 // since there's no selected videos, status code does not change |
|
608 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
609 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
610 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
611 |
|
612 // queryNewAlbumSelected sets selected |
|
613 HbInputDialog::mGetTextFails = false; |
|
614 mTestObject->setupContent(VideoListSelectionDialog::ESelectCollection, mpxId); |
|
615 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
616 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
617 VideoSortFilterProxyModelData::reset(); |
|
618 VideoSortFilterProxyModelData::mNewAlbumId = TMPXItemId(1,2); |
|
619 mTestObject->exec(); |
|
620 // type of selection has changed |
|
621 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
622 // videos added into collection |
|
623 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusVideosAddedToCollection); |
|
624 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == VideoSortFilterProxyModelData::mNewAlbumId); |
|
625 QVERIFY(VideoSortFilterProxyModelData::mItemIds.count() == 2); |
|
626 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == TMPXItemId(1,0)); |
|
627 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(1) == TMPXItemId(2,0)); |
|
628 |
|
629 //////////// |
|
630 // mTypeOfSelection == EAddToCollection |
|
631 VideoCollectionViewUtilsData::mLastError = -1; |
|
632 // selected album id == invalid |
|
633 mTestObject->setupContent(VideoListSelectionDialog::EAddToCollection, TMPXItemId::InvalidId()); |
|
634 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
635 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
636 VideoSortFilterProxyModelData::reset(); |
|
637 mTestObject->exec(); |
|
638 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
639 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
640 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
641 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
642 |
|
643 // no selected videos |
|
644 mpxId = TMPXItemId(1, KVcxMvcMediaTypeAlbum); |
|
645 mTestObject->setupContent(VideoListSelectionDialog::EAddToCollection, mpxId); |
|
646 VideoSortFilterProxyModelData::reset(); |
|
647 mTestObject->exec(); |
|
648 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
649 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
650 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
651 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
652 |
|
653 // selected album exist, selected videos exists, add items fails |
|
654 mTestObject->setupContent(VideoListSelectionDialog::EAddToCollection, mpxId); |
|
655 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
656 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
657 VideoSortFilterProxyModelData::reset(); |
|
658 VideoSortFilterProxyModelData::mAddItemsInAlbumReturnValue = -1; |
|
659 mTestObject->exec(); |
|
660 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
661 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
662 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
663 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
664 |
|
665 // selected album exist, selected videos exists, add items succeeds |
|
666 mTestObject->setupContent(VideoListSelectionDialog::EAddToCollection, mpxId); |
|
667 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
668 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
669 VideoSortFilterProxyModelData::reset(); |
|
670 VideoSortFilterProxyModelData::mAddItemsInAlbumReturnValue = 0; |
|
671 mTestObject->exec(); |
|
672 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
673 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusVideosAddedToCollection); |
|
674 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == mpxId); |
|
675 QVERIFY(VideoSortFilterProxyModelData::mItemIds.count() == 2); |
|
676 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == TMPXItemId(1,0)); |
|
677 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(1) == TMPXItemId(2,0)); |
|
678 |
|
679 VideoCollectionViewUtilsData::mLastError = -1; |
|
680 // selected album exist, selected videos exists, name for selected album exist |
|
681 // (using ESelectCollection type to fetch albumname) |
|
682 HbInputDialog::mGetTextFails = false; |
|
683 mTestObject->setupContent(VideoListSelectionDialog::ESelectCollection, mpxId); |
|
684 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
685 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
686 VideoSortFilterProxyModelData::reset(); |
|
687 VideoSortFilterProxyModelData::mNewAlbumId = TMPXItemId(1,2); |
|
688 mTestObject->exec(); |
|
689 // type of selection has changed |
|
690 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EAddToCollection); |
|
691 // videos added into collection |
|
692 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusVideosAddedToCollection); |
|
693 |
|
694 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == mpxId); |
|
695 QVERIFY(VideoSortFilterProxyModelData::mItemIds.count() == 2); |
|
696 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == TMPXItemId(1,0)); |
|
697 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(1) == TMPXItemId(2,0)); |
|
698 |
|
699 ///// |
|
700 // mTypeOfSelection == ERemoveFromCollection |
|
701 VideoCollectionViewUtilsData::mLastError = -1; |
|
702 // selected album id == invalid |
|
703 mTestObject->setupContent(VideoListSelectionDialog::ERemoveFromCollection, TMPXItemId::InvalidId()); |
|
704 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
705 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
706 VideoSortFilterProxyModelData::reset(); |
|
707 mTestObject->exec(); |
|
708 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ERemoveFromCollection); |
|
709 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
710 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
711 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
712 |
|
713 // no selected videos |
|
714 mpxId = TMPXItemId(1, KVcxMvcMediaTypeAlbum); |
|
715 mTestObject->setupContent(VideoListSelectionDialog::ERemoveFromCollection, mpxId); |
|
716 VideoSortFilterProxyModelData::reset(); |
|
717 mTestObject->exec(); |
|
718 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ERemoveFromCollection); |
|
719 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
720 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
721 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
722 |
|
723 // selected videos exists, removeitemsFromAlbum fails |
|
724 mTestObject->setupContent(VideoListSelectionDialog::ERemoveFromCollection, mpxId); |
|
725 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
726 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
727 VideoSortFilterProxyModelData::reset(); |
|
728 VideoSortFilterProxyModelData::mRemoveItemsFromAlbumReturnValue = -1; |
|
729 mTestObject->exec(); |
|
730 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ERemoveFromCollection); |
|
731 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
732 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId()); |
|
733 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
734 |
|
735 mTestObject->setupContent(VideoListSelectionDialog::ERemoveFromCollection, mpxId); |
|
736 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
737 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
738 VideoSortFilterProxyModelData::reset(); |
|
739 VideoSortFilterProxyModelData::mRemoveItemsFromAlbumReturnValue = 0; |
|
740 mTestObject->exec(); |
|
741 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::ERemoveFromCollection); |
|
742 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusVideosRemovedFromCollection); |
|
743 QVERIFY(VideoSortFilterProxyModelData::mLastItemId == mpxId); |
|
744 QVERIFY(VideoSortFilterProxyModelData::mItemIds.count() == 2); |
|
745 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == TMPXItemId(1,0)); |
|
746 QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(1) == TMPXItemId(2,0)); |
|
747 |
|
748 ///// |
|
749 // mTypeOfSelection == EDeleteVideos |
|
750 VideoCollectionViewUtilsData::mLastError = -1; |
|
751 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
752 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
753 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
754 VideoSortFilterProxyModelData::reset(); |
|
755 mTestObject->exec(); |
|
756 QVERIFY(mTestObject->mTypeOfSelection == VideoListSelectionDialog::EDeleteVideos); |
|
757 QVERIFY(VideoCollectionViewUtilsData::mLastError == VideoCollectionCommon::statusDeleteInProgress); |
|
758 |
|
759 // invalid type |
|
760 mTestObject->mTypeOfSelection = 500; |
|
761 VideoCollectionViewUtilsData::mLastError = -1; |
|
762 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
763 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
764 VideoSortFilterProxyModelData::reset(); |
|
765 mTestObject->exec(); |
|
766 QVERIFY(mTestObject->mTypeOfSelection == 500); |
|
767 QVERIFY(VideoCollectionViewUtilsData::mLastError == -1); |
|
768 QVERIFY(!VideoSortFilterProxyModelData::mItemIds.count()); |
|
769 |
|
770 } |
|
771 |
|
772 void TestVideoListSelectionDialog::testMarkAllStateChangedSlot() |
|
773 { |
|
774 VideoCollectionWrapperData::reset(); |
|
775 VideoListWidgetData::reset(); |
|
776 VideoSortFilterProxyModelData::reset(); |
|
777 |
|
778 mTestHelper->mTestable = mTestObject; |
|
779 mTestHelper->connectSignals(); |
|
780 |
|
781 HbListView::mAllSelectedStatus = -1; |
|
782 |
|
783 // forced check |
|
784 mTestObject->mForcedCheck = true; |
|
785 mTestHelper->emitMarkAllStateChanged(Qt::Checked); |
|
786 mTestObject->mForcedCheck = false; |
|
787 QVERIFY(HbListView::mAllSelectedStatus == -1); |
|
788 |
|
789 // checked |
|
790 mTestHelper->emitMarkAllStateChanged(Qt::Checked); |
|
791 QVERIFY(HbListView::mAllSelectedStatus == 1); |
|
792 HbListView::mAllSelectedStatus = -1; |
|
793 |
|
794 // unchecked |
|
795 mTestHelper->emitMarkAllStateChanged(Qt::Unchecked); |
|
796 QVERIFY(HbListView::mAllSelectedStatus == 0); |
|
797 |
|
798 HbListView::mAllSelectedStatus = -1; |
|
799 |
|
800 mTestHelper->disconnectSignals(); |
|
801 |
|
802 } |
|
803 |
|
804 void TestVideoListSelectionDialog::testSelectionChangedSlot() |
|
805 { |
|
806 QItemSelection selected; |
|
807 QItemSelection deselected; |
|
808 |
|
809 mTestHelper->mTestable = mTestObject; |
|
810 mTestHelper->connectSignals(); |
|
811 |
|
812 mTestObject->mSelection.clear(); |
|
813 |
|
814 // no primary action |
|
815 mTestHelper->emitSelectionChangedSlot(selected, deselected); |
|
816 QVERIFY(!mTestObject->mSelection.count()); |
|
817 |
|
818 TMPXItemId mpxId = TMPXItemId::InvalidId(); |
|
819 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, TMPXItemId(1,1)); |
|
820 |
|
821 setRowCount(10); |
|
822 |
|
823 // select item |
|
824 mTestObject->primaryAction()->mDisable = true; |
|
825 QModelIndex index = mModel->index(0, 0); |
|
826 QItemSelectionRange range(mModel->index(0, 0)); |
|
827 selected.append(range); |
|
828 mTestHelper->emitSelectionChangedSlot(selected, deselected); |
|
829 QVERIFY(mTestObject->mSelection.count() == 1); |
|
830 QVERIFY(mTestObject->primaryAction()->mDisable == false); |
|
831 |
|
832 // deselect item |
|
833 selected.clear(); |
|
834 deselected.append(range); |
|
835 mTestHelper->emitSelectionChangedSlot(selected, deselected); |
|
836 QVERIFY(mTestObject->mSelection.count() == 0); |
|
837 QVERIFY(mTestObject->primaryAction()->mDisable == true); |
|
838 |
|
839 mTestHelper->disconnectSignals(); |
|
840 |
|
841 } |
|
842 |
|
843 void TestVideoListSelectionDialog::testSingleItemSelectedSlot() |
|
844 { |
|
845 mTestHelper->mTestable = mTestObject; |
|
846 mTestHelper->connectSignals(); |
|
847 |
|
848 setRowCount(10); |
|
849 TMPXItemId mpxId = TMPXItemId::InvalidId(); |
|
850 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
851 |
|
852 mTestObject->mTypeOfSelection = VideoListSelectionDialog::ESelectCollection; |
|
853 mTestHelper->emitSingleItemSelectedSlot(mModel->index(0, 0)); |
|
854 |
|
855 mTestObject->mTypeOfSelection = VideoListSelectionDialog::ESelectCollection; |
|
856 QModelIndex invalidIndex; |
|
857 mTestHelper->emitSingleItemSelectedSlot(invalidIndex); |
|
858 |
|
859 mTestObject->mTypeOfSelection = VideoListSelectionDialog::EDeleteVideos; |
|
860 mTestHelper->emitSingleItemSelectedSlot(mModel->index(0, 0)); |
|
861 |
|
862 mTestHelper->disconnectSignals(); |
|
863 } |
|
864 |
|
865 void TestVideoListSelectionDialog::testModelReadySlot() |
|
866 { |
|
867 |
|
868 mTestHelper->mTestable = mTestObject; |
|
869 mTestHelper->connectSignals(); |
|
870 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, TMPXItemId(1,2)); |
|
871 |
|
872 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
873 |
|
874 // type of selection != ESelectCollection |
|
875 mTestHelper->emitModelReadySlot(); |
|
876 QVERIFY(mTestObject->primaryAction()->mTriggeredCount == 0); |
|
877 |
|
878 mTestObject->setupContent(VideoListSelectionDialog::ESelectCollection, TMPXItemId(1,2)); |
|
879 // no items in model |
|
880 setRowCount(0); |
|
881 mTestHelper->emitModelReadySlot(); |
|
882 QVERIFY(mTestObject->primaryAction()->mTriggeredCount == 1); |
|
883 |
|
884 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
885 setRowCount(10); |
|
886 // type of selection is ESelectCollection and there are items in model |
|
887 mTestHelper->emitModelReadySlot(); |
|
888 QVERIFY(mTestObject->primaryAction()->mTriggeredCount == 0); |
|
889 |
|
890 mTestHelper->disconnectSignals(); |
|
891 } |
|
892 |
|
893 void TestVideoListSelectionDialog::testUpdateCounterSlot() |
|
894 { |
|
895 mTestHelper->mTestable = mTestObject; |
|
896 mTestHelper->connectSignals(); |
|
897 |
|
898 TMPXItemId mpxId = TMPXItemId::InvalidId(); |
|
899 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
900 |
|
901 // itemCount is null |
|
902 HbLabel *labelBackup = mTestObject->mItemCount; |
|
903 mTestObject->mCheckBox->setChecked(true); |
|
904 mTestObject->mItemCount = 0; |
|
905 mTestHelper->emitUpdateCounterSlot(); |
|
906 mTestObject->mItemCount = labelBackup; |
|
907 QVERIFY(mTestObject->mCheckBox->mChecked == true); |
|
908 |
|
909 // no items in model |
|
910 setRowCount(0); |
|
911 mTestObject->mCheckBox->setChecked(true); |
|
912 mTestHelper->emitUpdateCounterSlot(); |
|
913 QVERIFY(mTestObject->mCheckBox->mChecked == false); |
|
914 |
|
915 // all selected. |
|
916 setRowCount(1); |
|
917 mTestObject->mCheckBox->setChecked(false); |
|
918 QItemSelection selected; |
|
919 QItemSelectionRange range(mTestObject->mModel->index(0, 0)); |
|
920 selected.append(range); |
|
921 mTestObject->mSelection.merge(selected, QItemSelectionModel::Select); |
|
922 mTestHelper->emitUpdateCounterSlot(); |
|
923 QVERIFY(mTestObject->mCheckBox->mChecked == true); |
|
924 |
|
925 // not all selected |
|
926 setRowCount(10); |
|
927 mTestObject->mCheckBox->setChecked(true); |
|
928 selected.clear(); |
|
929 range = QItemSelectionRange(mModel->index(0, 0)); |
|
930 selected.append(range); |
|
931 mTestObject->mSelection.clear(); |
|
932 mTestObject->mSelection.merge(selected, QItemSelectionModel::Select); |
|
933 mTestHelper->emitUpdateCounterSlot(); |
|
934 QVERIFY(mTestObject->mCheckBox->mChecked == false); |
|
935 |
|
936 mTestHelper->disconnectSignals(); |
|
937 } |
|
938 |
|
939 void TestVideoListSelectionDialog::testPrimaryActionTriggeredSlot() |
|
940 { |
|
941 mTestHelper->mTestable = mTestObject; |
|
942 mTestHelper->connectSignals(); |
|
943 |
|
944 TMPXItemId mpxId = TMPXItemId::InvalidId(); |
|
945 mTestObject->setupContent(VideoListSelectionDialog::EDeleteVideos, mpxId); |
|
946 |
|
947 // nothing selected, album id invalid, selection type != EAddToCollection |
|
948 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
949 mTestObject->secondaryAction()->mTriggeredCount = 0; |
|
950 mTestObject->mTypeOfSelection = VideoListSelectionDialog::EDeleteVideos; |
|
951 mTestHelper->emitPrimaryActionTriggeredSlot(); |
|
952 QCOMPARE(mTestObject->primaryAction()->mTriggeredCount, 0); |
|
953 QCOMPARE(mTestObject->secondaryAction()->mTriggeredCount, 0); |
|
954 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
955 |
|
956 // nothing selected, album id invalid, selection type EAddToCollection |
|
957 mTestObject->mSelectedAlbumId = TMPXItemId::InvalidId(); |
|
958 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
959 mTestObject->secondaryAction()->mTriggeredCount = 0; |
|
960 mTestObject->mTypeOfSelection = VideoListSelectionDialog::EAddToCollection; |
|
961 mTestHelper->emitPrimaryActionTriggeredSlot(); |
|
962 QCOMPARE(mTestObject->primaryAction()->mTriggeredCount, 0); |
|
963 QCOMPARE(mTestObject->secondaryAction()->mTriggeredCount, 0); |
|
964 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
965 |
|
966 // nothing selected, album id invalid, selection type ESelectCollection |
|
967 mTestObject->mSelectedAlbumId = TMPXItemId::InvalidId(); |
|
968 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
969 mTestObject->secondaryAction()->mTriggeredCount = 0; |
|
970 mTestObject->mTypeOfSelection = VideoListSelectionDialog::ESelectCollection; |
|
971 mTestHelper->emitPrimaryActionTriggeredSlot(); |
|
972 QCOMPARE(mTestObject->primaryAction()->mTriggeredCount, 0); |
|
973 QCOMPARE(mTestObject->secondaryAction()->mTriggeredCount, 0); |
|
974 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
975 |
|
976 // nothing selected, album id invalid, selection type invalid |
|
977 mTestObject->mSelectedAlbumId = TMPXItemId::InvalidId(); |
|
978 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
979 mTestObject->secondaryAction()->mTriggeredCount = 0; |
|
980 mTestObject->mTypeOfSelection = 555; |
|
981 mTestHelper->emitPrimaryActionTriggeredSlot(); |
|
982 QCOMPARE(mTestObject->primaryAction()->mTriggeredCount, 0); |
|
983 QCOMPARE(mTestObject->secondaryAction()->mTriggeredCount, 0); |
|
984 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
985 |
|
986 // nothing selected, album id ok |
|
987 mTestObject->mSelectedAlbumId = TMPXItemId(0, KVcxMvcMediaTypeAlbum); |
|
988 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
989 mTestObject->secondaryAction()->mTriggeredCount = 0; |
|
990 mTestObject->mTypeOfSelection = VideoListSelectionDialog::ESelectCollection; |
|
991 mTestHelper->emitPrimaryActionTriggeredSlot(); |
|
992 QCOMPARE(mTestObject->primaryAction()->mTriggeredCount, 1); |
|
993 QCOMPARE(mTestObject->secondaryAction()->mTriggeredCount, 0); |
|
994 QCOMPARE(mTestObject->mSelectedVideos.count(), 0); |
|
995 |
|
996 setRowCount(10); |
|
997 VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0,0)); |
|
998 VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2)); |
|
999 |
|
1000 // videos selected, other one's type is not video |
|
1001 QItemSelection selected; |
|
1002 QItemSelectionRange range(mTestObject->mModel->index(0, 0), mTestObject->mModel->index(1, 0)); |
|
1003 selected.append(range); |
|
1004 mTestObject->mSelection.merge(selected, QItemSelectionModel::Select); |
|
1005 mTestObject->primaryAction()->mTriggeredCount = 0; |
|
1006 mTestObject->secondaryAction()->mTriggeredCount = 0; |
|
1007 mTestObject->mTypeOfSelection = VideoListSelectionDialog::EAddToCollection; |
|
1008 mTestObject->mSelectedVideos.clear(); |
|
1009 mTestHelper->emitPrimaryActionTriggeredSlot(); |
|
1010 QCOMPARE(mTestObject->primaryAction()->mTriggeredCount, 1); |
|
1011 QCOMPARE(mTestObject->mSelectedVideos.count(), 1); |
|
1012 |
|
1013 mTestHelper->disconnectSignals(); |
|
1014 } |
|
1015 |
|
1016 void TestVideoListSelectionDialog::testGetSelectedName() |
|
1017 { |
|
1018 mTestHelper->mTestable = mTestObject; |
|
1019 mTestHelper->connectSignals(); |
|
1020 |
|
1021 mTestObject->setupContent(VideoListSelectionDialog::ERemoveFromCollection, TMPXItemId::InvalidId()); |
|
1022 |
|
1023 mTestObject->mSelectedVideos.insert(TMPXItemId(1,0)); |
|
1024 mTestObject->mSelectedVideos.insert(TMPXItemId(2,0)); |
|
1025 |
|
1026 VideoCollectionViewUtilsData::mLastStatusAdditional = QVariant(); |
|
1027 // mSelectedAlbumId is video |
|
1028 mTestObject->mSelectedAlbumId = TMPXItemId(1,0); |
|
1029 mTestHelper->emitFinishedSlot(mTestObject->primaryAction()); |
|
1030 QVERIFY(VideoCollectionViewUtilsData::mLastStatusAdditional.isValid()); |
|
1031 QVERIFY(!VideoCollectionViewUtilsData::mLastStatusAdditional.toString().length()); |
|
1032 |
|
1033 mTestObject->mSelectedAlbumId = TMPXItemId(1,2); |
|
1034 // fetching collections model unsucceeds |
|
1035 VideoCollectionWrapperData::mGetModelFails = true; |
|
1036 mTestHelper->emitFinishedSlot(mTestObject->primaryAction()); |
|
1037 QVERIFY(VideoCollectionViewUtilsData::mLastStatusAdditional.isValid()); |
|
1038 QVERIFY(!VideoCollectionViewUtilsData::mLastStatusAdditional.toString().length()); |
|
1039 VideoCollectionWrapperData::mGetModelFails = false; |
|
1040 |
|
1041 // invalid index for selected album |
|
1042 mTestHelper->emitFinishedSlot(mTestObject->primaryAction()); |
|
1043 QVERIFY(VideoCollectionViewUtilsData::mLastStatusAdditional.isValid()); |
|
1044 QVERIFY(!VideoCollectionViewUtilsData::mLastStatusAdditional.toString().length()); |
|
1045 |
|
1046 // succeed case: |
|
1047 // need to add album ib into selected list, because stub proxy overwrites |
|
1048 // VideoSortFilterProxyModelData::mItemIds at removeitems removeItemsFromAlbum -method |
|
1049 // and we need valid index for id |
|
1050 QStringList testnameList; |
|
1051 testnameList.append("testname"); |
|
1052 VideoListDataModelData::mData[Qt::DisplayRole] = testnameList; |
|
1053 mTestObject->mSelectedVideos.insert(TMPXItemId(1,2)); |
|
1054 mTestHelper->emitFinishedSlot(mTestObject->primaryAction()); |
|
1055 QVERIFY(VideoCollectionViewUtilsData::mLastStatusAdditional.isValid()); |
|
1056 QVERIFY(VideoCollectionViewUtilsData::mLastStatusAdditional.toString().length() > 0); |
|
1057 QVERIFY(VideoCollectionViewUtilsData::mLastStatusAdditional.toString() == "testname"); |
|
1058 |
|
1059 mTestHelper->disconnectSignals(); |
|
1060 } |
|
1061 |
68 |
1062 |
69 // end of file |
1063 // end of file |