--- a/videocollection/videocollectionwrapper/tsrc/testvideomodel_p/src/testvideomodel_p.cpp Thu Apr 01 23:13:36 2010 +0300
+++ b/videocollection/videocollectionwrapper/tsrc/testvideomodel_p/src/testvideomodel_p.cpp Thu Apr 01 23:22:15 2010 +0300
@@ -21,10 +21,12 @@
#include <mpxmedia.h>
#include <vcxmyvideosdefs.h>
#include <qabstractitemmodel.h>
+#include "testvideomodel_p.h"
+
#include "videocollectionutils.h"
#include "videothumbnaildata.h"
#include "videolistdatamodel.h"
-#include "testvideomodel_p.h"
+
#include "mediaobjectfactory.h"
#include "videocollectioncommon.h"
#include "videocollectionutils.h"
@@ -49,12 +51,19 @@
TestVideoModel_p tv;
- char *pass[3];
- pass[0] = argv[0];
- pass[1] = "-o";
- pass[2] = "c:\\data\\testvideomodel_p.txt";
-
- int res = QTest::qExec(&tv, 3, pass);
+ int res;
+ if(argc > 1)
+ {
+ res = QTest::qExec(&tv, argc, argv);
+ }
+ else
+ {
+ char *pass[3];
+ pass[0] = argv[0];
+ pass[1] = "-o";
+ pass[2] = "c:\\data\\testvideomodel_p.txt";
+ res = QTest::qExec(&tv, 3, pass);
+ }
return res;
}
@@ -63,8 +72,10 @@
// initTestCase
// -----------------------------------------------------------------------------
//
+
void TestVideoModel_p::initTestCase()
{
+ qRegisterMetaType<TMPXItemId>("TMPXItemId");
mTestObject = 0;
mMediaFactory = new MediaObjectFactory();
@@ -81,7 +92,7 @@
mTestObject = new VideoListDataModelPrivate(mStubModel);
QVERIFY(mTestObject);
VideoCollectionUtils::mPrepareLengthStringReturnValue = "test duration";
- VideoCollectionUtils::mPrepareSizeStringReturnValue = "test size";
+ VideoCollectionUtils::mPrepareSizeStringReturnValue = "test size";
}
// -----------------------------------------------------------------------------
@@ -111,6 +122,7 @@
// testInitTNFails
// -----------------------------------------------------------------------------
//
+
void TestVideoModel_p::testInitialize()
{
// Succeeds.
@@ -162,6 +174,7 @@
QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT - 1);
// no data
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataNone);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -206,6 +219,7 @@
// no data
expectedName = "";
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -274,6 +288,7 @@
QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT);
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -315,6 +330,7 @@
QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT - 1) == excepted);
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -353,6 +369,7 @@
QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT );
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -397,6 +414,7 @@
QCOMPARE(mTestObject->getVideoDateFromIndex(MEDIA_COUNT - 1), excepted);
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -466,6 +484,7 @@
QCOMPARE(map[MetaKeyFormat].toString(), gQTMediaFormatPrefix + "0");
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -488,9 +507,75 @@
}
// -----------------------------------------------------------------------------
+// testVideoMarkAndRestoreDeleted
+// -----------------------------------------------------------------------------
+//
+void TestVideoModel_p::testVideoMarkAndRestoreDeleted()
+{
+
+ QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
+ mMediaFactory->removeArray();
+ mMediaFactory->createMediaItems(MEDIA_COUNT);
+ emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
+
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ QList<TMPXItemId> idsToRestore;
+ // mark few items to be removed then restore them
+ // NOTE: since item marking decreases item count by one,
+ // we need to mark items starting from biggest index,
+ // otherwise we might end up to mark invalid items
+ QModelIndex index = mStubModel->index(MEDIA_COUNT-1, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+ index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+ index = mStubModel->index(0, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+
+ QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3) );
+
+ mTestObject->restoreRemoved(&idsToRestore);
+ QVERIFY(VideoListDataModel::mFirstInserted == MEDIA_COUNT - 3);
+ QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
+ QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
+
+ idsToRestore.clear();
+ mMediaFactory->removeArray();
+ mMediaFactory->createMediaItems(MEDIA_COUNT);
+ emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+
+ // mark few items to be removed then restore them
+ index = mStubModel->index(MEDIA_COUNT-1, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+ index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+ index = mStubModel->index(0, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+
+ QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3) );
+ mTestObject->restoreRemoved(&idsToRestore);
+ QVERIFY(VideoListDataModel::mFirstInserted == MEDIA_COUNT - 3);
+ QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
+
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ idsToRestore.clear();
+ index = mStubModel->index(MEDIA_COUNT, 0, QModelIndex());
+ idsToRestore.append(mTestObject->markVideoRemoved(index));
+ mTestObject->restoreRemoved(&idsToRestore);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
+
+ disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
+}
+
+// -----------------------------------------------------------------------------
// testGetFilePathFromIndex
// -----------------------------------------------------------------------------
//
+
void TestVideoModel_p::testGetFilePathFromIndex()
{
QString path = mTestObject->getFilePathFromIndex(0);
@@ -510,6 +595,7 @@
QCOMPARE(path, gQTMediaPathPrefix + "0");
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -543,6 +629,7 @@
QCOMPARE(path, gQTMediaPathPrefix + "0");
// data does not exist
+ mTestObject->mMediaData.clear();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
@@ -552,80 +639,6 @@
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
}
-// -----------------------------------------------------------------------------
-// testVideoStatus
-// -----------------------------------------------------------------------------
-//
-void TestVideoModel_p::testVideoStatus()
-{
- QModelIndexList indexList;
-
- indexList.append(mStubModel->index(0,0));
- // no videos
- mTestObject->markVideosRemoved(indexList);
- QVERIFY(mTestObject->getVideoStatusFromIndex(0) == 0);
- QVERIFY(mTestObject->getVideoStatusFromIndex(-1) == 0);
-
- mMediaFactory->removeArray();
- indexList.clear();
- QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
- mMediaFactory->createMediaItems(MEDIA_COUNT);
- emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
-
- // videos, invalid + correct indexes
- QList<TMPXItemId> markedIds;
- indexList.append(mStubModel->index(-1,0));
- indexList.append(mStubModel->index(0,0));
- indexList.append(mStubModel->index(MEDIA_COUNT/2,10));
- indexList.append(mStubModel->index(MEDIA_COUNT,0));
- markedIds = mTestObject->markVideosRemoved(indexList);
- QVERIFY(markedIds.count() == 2);
- QVERIFY(mTestObject->getVideoStatusFromIndex(-1) == 0);
- QVERIFY(mTestObject->getVideoStatusFromIndex(MEDIA_COUNT) == 0);
- QVERIFY(mTestObject->getVideoStatusFromIndex(0) == VideoCollectionCommon::StatusDeleted);
- QVERIFY(mTestObject->getVideoStatusFromIndex(MEDIA_COUNT/2) == VideoCollectionCommon::StatusDeleted);
- QVERIFY(mTestObject->getVideoStatusFromIndex(MEDIA_COUNT-1) == 0);
-
- // clear list (and items as well
- indexList.clear();
- QVERIFY(connect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(videoDeletedSlot(TMPXItemId))));
- emit signalDeleteVideo(TMPXItemId(0, 0));
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT/2, 0));
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT-1, 0));
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT, 0));
- QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3));
-
- // videos, invalid media ids
- indexList.append(mStubModel->index(-1,0));
- indexList.append(mStubModel->index(MEDIA_COUNT+1,0));
- mTestObject->markVideosRemoved(indexList);
- for(int i = 0; i < (MEDIA_COUNT - 2); ++i)
- {
- QVERIFY(mTestObject->getVideoStatusFromIndex(i) == 0);
- }
- QVERIFY(mTestObject->getVideoStatusFromIndex(-1) == 0);
- QVERIFY(mTestObject->getVideoStatusFromIndex(MEDIA_COUNT) == 0);
-
- // correct case after removal
- indexList.append(mStubModel->index(1,0));
- mTestObject->markVideosRemoved(indexList);
- QVERIFY(mTestObject->getVideoStatusFromIndex(1) == VideoCollectionCommon::StatusDeleted);
-
- // correct case, unmarked
- indexList.clear();
- indexList.append(mStubModel->index(1,0));
- indexList.append(mStubModel->index(2,0));
- indexList.append(mStubModel->index(3,0));
- markedIds = mTestObject->markVideosRemoved(indexList);
- QVERIFY(markedIds.count() == 3);
- mTestObject->unMarkVideosRemoved(markedIds);
- QVERIFY(mTestObject->getVideoStatusFromIndex(1) == 0);
- QVERIFY(mTestObject->getVideoStatusFromIndex(2) == 0);
- QVERIFY(mTestObject->getVideoStatusFromIndex(3) == 0);
-
- disconnect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(videoDeletedSlot(TMPXItemId)));
- disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
-}
// -----------------------------------------------------------------------------
// testThumbnailsFetchedSlot
@@ -696,10 +709,11 @@
QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
- QSignalSpy spyRowsAboutToInsert(mStubModel, SIGNAL(rowsAboutToBeInserted (const QModelIndex& , int, int)));
- QSignalSpy spyRowsInserted(mStubModel, SIGNAL(rowsInserted (const QModelIndex& , int, int)));
- QSignalSpy spyRowsAboutToRemove(mStubModel, SIGNAL(rowsAboutToBeRemoved (const QModelIndex& , int, int)));
- QSignalSpy spyRowsRemoved(mStubModel, SIGNAL(rowsRemoved (const QModelIndex& , int, int)));
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
+
QSignalSpy spyModelReady(mStubModel, SIGNAL(modelReady()));
mMediaFactory->removeArray();
@@ -707,65 +721,61 @@
// media-array does not exist
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsAboutToRemove.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(spyRowsInserted.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsInserted.at(0).at(2).toInt() == MEDIA_COUNT - 1);
+ QVERIFY(VideoListDataModel::mFirstInserted == 0);
+ QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mLastRemoved == -1);
QCOMPARE(spyModelReady.count(), 1);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
spyModelReady.clear();
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
QVERIFY(mTestObject->initialize() == 0);
// providing null videolist
emit signalNewVideoList(0);
- QVERIFY(spyRowsAboutToInsert.count() == 0);
- QVERIFY(spyRowsInserted.count() == 0);
- QVERIFY(spyRowsAboutToRemove.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mLastRemoved == -1);
QCOMPARE(spyModelReady.count(), 0);
-
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
// empty media-array
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(0);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsAboutToRemove.count() == 1);
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsInserted.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsInserted.at(0).at(2).toInt() == 0);
- QVERIFY(spyRowsRemoved.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsRemoved.at(0).at(2).toInt() == MEDIA_COUNT - 1);
+
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mLastRemoved == -1);
QCOMPARE(spyModelReady.count(), 1);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
spyModelReady.clear();
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
// media-array exits
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsAboutToRemove.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(spyRowsInserted.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsInserted.at(0).at(2).toInt() == MEDIA_COUNT - 1);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mLastRemoved == -1);
QCOMPARE(spyModelReady.count(), 1);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
spyModelReady.clear();
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
}
@@ -781,50 +791,55 @@
QVERIFY(connect(this, SIGNAL(signalAppendVideoList(CMPXMediaArray*)), mTestObject, SLOT(appendVideoListSlot(CMPXMediaArray*))));
QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
- QSignalSpy spyRowsAboutToInsert(mStubModel, SIGNAL(rowsAboutToBeInserted (const QModelIndex& , int, int)));
- QSignalSpy spyRowsInserted(mStubModel, SIGNAL(rowsInserted (const QModelIndex& , int, int)));
+ QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
+
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
// append null
- emit signalAppendVideoList(0);
- QVERIFY(spyRowsAboutToInsert.count() == 0);
- QVERIFY(spyRowsInserted.count() == 0);
+ emit signalAppendVideoList(0);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
QVERIFY(mTestObject->getVideoCount() == 0);
+ QVERIFY(spyModelChanged.count() == 0);
// append empty videolist
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(0);
emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 0);
- QVERIFY(spyRowsInserted.count() == 0);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
QVERIFY(mTestObject->getVideoCount() == 0);
+ QVERIFY(spyModelChanged.count() == 0);
// send 10 videos
mMediaFactory->createMediaItems(10);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
// append videolist containing less than existing
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(3);
emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 0);
- QVERIFY(spyRowsInserted.count() == 0);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
QVERIFY(mTestObject->getVideoCount() == 10);
+ QVERIFY(spyModelChanged.count() == 0);
// reset data
mTestObject->mMediaData.clear();
// append items with invalid ids:
- // signals emitted, but items are really not appended
+ // signals emitted (begin inserting is called), but items are really not appended
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(3, MediaDataNone);
- emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
+ emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
+ QVERIFY(VideoListDataModel::mFirstInserted == 0);
+ QVERIFY(VideoListDataModel::mLastInserted == 2);
QVERIFY(mTestObject->getVideoCount() == 0);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ QVERIFY(spyModelChanged.count() == 1);
+ spyModelChanged.clear();
// append items with iId2 == 1 && iId1 != KVcxMvcCategoryIdDownloads (==1) && iId1 != KVcxMvcCategoryIdCaptured (== 3)
mMediaFactory->removeArray();
@@ -832,37 +847,35 @@
TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(4, 1)));
TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(5, 1)));
emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsInserted.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsInserted.at(0).at(2).toInt() == 1);
+
+ QVERIFY(VideoListDataModel::mFirstInserted == 0);
+ QVERIFY(VideoListDataModel::mLastInserted == 1);
QVERIFY(mTestObject->getVideoCount() == 0);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ QVERIFY(spyModelChanged.count() == 1);
+ spyModelChanged.clear();
// append correct items
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(3);
emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsInserted.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsInserted.at(0).at(2).toInt() == 2);
+ QVERIFY(VideoListDataModel::mFirstInserted == 0);
+ QVERIFY(VideoListDataModel::mLastInserted == 2);
QVERIFY(mTestObject->getVideoCount() == 3);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ QVERIFY(spyModelChanged.count() == 1);
+ spyModelChanged.clear();
// append more to existing
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(10);
emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsInserted.at(0).at(1).toInt() == 3);
- QVERIFY(spyRowsInserted.at(0).at(2).toInt() == 9);
+
+ QVERIFY(VideoListDataModel::mFirstInserted == 3);
+ QVERIFY(VideoListDataModel::mLastInserted == 9);
+
QVERIFY(mTestObject->getVideoCount() == 10);
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ QVERIFY(spyModelChanged.count() == 1);
+ spyModelChanged.clear();
+
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
disconnect(this, SIGNAL(signalAppendVideoList(CMPXMediaArray*)), mTestObject, SLOT(appendVideoListSlot(CMPXMediaArray*)));
@@ -876,40 +889,57 @@
{
QVERIFY(mTestObject->initialize() == 0);
- QSignalSpy spyRowsAboutToInsert(mStubModel, SIGNAL(rowsAboutToBeInserted (const QModelIndex& , int, int)));
- QSignalSpy spyRowsInserted(mStubModel, SIGNAL(rowsInserted (const QModelIndex& , int, int)));
+ connect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*)));
+ connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
- QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
- QVERIFY(connect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*))));
+ QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+
CMPXMedia *media = mMediaFactory->getMedia(MEDIA_COUNT + 100);
- // no media array
+ // succeed insert
emit signalNewVideoAvailable(media);
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsAboutToInsert.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsAboutToInsert.at(0).at(2).toInt() == 0);
+ QVERIFY(VideoListDataModel::mFirstInserted == 0);
+ QVERIFY(VideoListDataModel::mLastInserted == 0);
+ QVERIFY(spyModelChanged.count() == 1);
QVERIFY(mTestObject->getVideoCount() == 1);
delete media;
media = 0;
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ spyModelChanged.clear();
// null pointer provided
emit signalNewVideoAvailable(media);
- QVERIFY(spyRowsAboutToInsert.count() == 0);
- QVERIFY(spyRowsInserted.count() == 0);
+ QVERIFY(spyModelChanged.count() == 0);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
QVERIFY(mTestObject->getVideoCount() == 1);
+ spyModelChanged.clear();
// invalid item
media = mMediaFactory->getMedia(MEDIA_COUNT + 100, MediaDataNone);
emit signalNewVideoAvailable(media);
- QVERIFY(spyRowsAboutToInsert.count() == 0);
- QVERIFY(spyRowsInserted.count() == 0);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
QVERIFY(mTestObject->getVideoCount() == 1);
+ QVERIFY(spyModelChanged.count() == 0);
delete media;
media = 0;
+ spyModelChanged.clear();
+
+ // item without name
+ media = mMediaFactory->getMedia(MEDIA_COUNT + 100, MediaDataId);
+ emit signalNewVideoAvailable(media);
+ QVERIFY(VideoListDataModel::mFirstInserted == -1);
+ QVERIFY(VideoListDataModel::mLastInserted == -1);
+ QVERIFY(mTestObject->getVideoCount() == 1);
+ QVERIFY(spyModelChanged.count() == 0);
+ delete media;
+ media = 0;
+ spyModelChanged.clear();
delete mTestObject;
mTestObject = new VideoListDataModelPrivate(mStubModel);
@@ -920,16 +950,16 @@
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- spyRowsAboutToInsert.clear();
- spyRowsInserted.clear();
+ VideoListDataModel::mFirstInserted = -1;
+ VideoListDataModel::mLastInserted = -1;
+ spyModelChanged.clear();
// succeed case
CMPXMedia *media3 = mMediaFactory->getMedia(MEDIA_COUNT + 103 );
emit signalNewVideoAvailable(media3);
- QVERIFY(spyRowsAboutToInsert.count() == 1);
- QVERIFY(spyRowsInserted.count() == 1);
- QVERIFY(spyRowsAboutToInsert.at(0).at(1).toInt() == mTestObject->getVideoCount() - 1);
- QVERIFY(spyRowsAboutToInsert.at(0).at(2).toInt() == mTestObject->getVideoCount() - 1);
+ QVERIFY(VideoListDataModel::mFirstInserted == mTestObject->getVideoCount() - 1);
+ QVERIFY(VideoListDataModel::mLastInserted == mTestObject->getVideoCount() - 1);
+ QVERIFY(spyModelChanged.count() == 1);
QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT + 1);
disconnect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*)));
@@ -942,245 +972,144 @@
//
void TestVideoModel_p::testVideoDeletedSlot()
{
+ mTestObject->initialize();
mMediaFactory->removeArray();
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
+ QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
- QVERIFY(connect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(videoDeletedSlot(TMPXItemId))));
- QSignalSpy spyRowsAboutToRemove(mStubModel, SIGNAL(rowsAboutToBeRemoved (const QModelIndex& , int, int)));
- QSignalSpy spyRowsRemoved(mStubModel, SIGNAL(rowsRemoved (const QModelIndex& , int, int)));
-
+ QVERIFY(connect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(itemDeletedSlot(TMPXItemId))));
+
// no videos
emit signalDeleteVideo(TMPXItemId(0,0));
- QVERIFY(spyRowsAboutToRemove.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
-
- QVERIFY(mTestObject->initialize() == 0);
- emit signalDeleteVideo(TMPXItemId(0,0));
- QVERIFY(spyRowsAboutToRemove.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
-
- mMediaFactory->createMediaItems(MEDIA_COUNT);
- emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
-
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
-
- // external delete - item not in delete -list
- emit signalDeleteVideo(TMPXItemId::InvalidId());
- QVERIFY(spyRowsAboutToRemove.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
-
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(spyModelChanged.count() == 0);
- VideoThumbnailData::resetRemoveCount();
- emit signalDeleteVideo(TMPXItemId(0,0));
- QVERIFY(spyRowsAboutToRemove.count() == 1);
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsRemoved.at(0).at(2).toInt() == 0);
-
- QVERIFY(VideoThumbnailData::getRemoveCount() == 1);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT -1);
-
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
+ // invalid id
+ emit signalDeleteVideo(TMPXItemId::InvalidId());
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(spyModelChanged.count() == 0);
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT-1, 0));
- QVERIFY(spyRowsAboutToRemove.count() == 1);
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.at(0).at(1).toInt() == MEDIA_COUNT-2);
- QVERIFY(spyRowsRemoved.at(0).at(2).toInt() == MEDIA_COUNT-2);
-
- QVERIFY(VideoThumbnailData::getRemoveCount() == 2);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT -2);
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
-
- // reset medias
- VideoThumbnailData::resetRemoveCount();
mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
+ spyModelChanged.clear();
+
+ // not marked as removed
+ emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT / 2,0));
+ QVERIFY(VideoListDataModel::mFirstRemoved == MEDIA_COUNT / 2);
+ QVERIFY(VideoListDataModel::mFirstRemoved == MEDIA_COUNT / 2);
+ QVERIFY(spyModelChanged.count() == 1);
+
+ VideoListDataModel::mFirstRemoved = -1;
+ VideoListDataModel::mLastRemoved = -1;
+ spyModelChanged.clear();
+
+ QModelIndex index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
+ TMPXItemId id = mTestObject->markVideoRemoved(index);
- QModelIndexList indexList;
- // internal delete - item in delete -list
- indexList.append(mStubModel->index(-1,0));
- mTestObject->markVideosRemoved(indexList);
- emit signalDeleteVideo(TMPXItemId::InvalidId());
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
-
- indexList.append(mStubModel->index(MEDIA_COUNT,0));
- mTestObject->markVideosRemoved(indexList);
- emit signalDeleteVideo(TMPXItemId::InvalidId());
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
-
- indexList.append(mStubModel->index(0,0));
- mTestObject->markVideosRemoved(indexList);
- emit signalDeleteVideo(TMPXItemId(0,0));
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.at(0).at(1).toInt() == 0);
- QVERIFY(spyRowsRemoved.at(0).at(2).toInt() == 0);
- QVERIFY(VideoThumbnailData::getRemoveCount() == 1);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT -1);
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
-
- indexList.append(mStubModel->index(MEDIA_COUNT-1,0));
- mTestObject->markVideosRemoved(indexList);
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT-1, 0));
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.at(0).at(1).toInt() == MEDIA_COUNT-2);
- QVERIFY(spyRowsRemoved.at(0).at(2).toInt() == MEDIA_COUNT-2);
- QVERIFY(VideoThumbnailData::getRemoveCount() == 2);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT -2);
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
+ // marked as removed
+ emit signalDeleteVideo(id);
+ // item already removed from container, no notifications
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(spyModelChanged.count() == 0);
+
+ // no thumbnail data (tested for coverity)
+ VideoThumbnailData *tmp = mTestObject->mVideoThumbnailData;
+ mTestObject->mVideoThumbnailData = 0;
- // reset medias
- VideoThumbnailData::resetRemoveCount();
- mMediaFactory->removeArray();
- mMediaFactory->createMediaItems(MEDIA_COUNT);
- emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
-
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
-
- // gotten index same as video count ( only possible in internal delete )
- mTestObject->mItemsUnderDeletion.insert(TMPXItemId(MEDIA_COUNT,0));
-
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT, 0));
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
+ index = mStubModel->index(mTestObject->getVideoCount() - 1, 0, QModelIndex());
+ id = mTestObject->markVideoRemoved(index);
+ emit signalDeleteVideo(id);
+ // item already removed from container, no notifications
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(VideoListDataModel::mFirstRemoved == -1);
+ QVERIFY(spyModelChanged.count() == 0);
- // gotten index larger than video count ( only possible in internal delete )
- mTestObject->mItemsUnderDeletion.insert(TMPXItemId(MEDIA_COUNT + 1, 0));
-
- emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT + 1,0));
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(spyRowsRemoved.count() == 0);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
-
-
- emit signalDeleteVideo(TMPXItemId(1,0));
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.count() == 1);
- QVERIFY(spyRowsRemoved.at(0).at(1).toInt() == 1);
- QVERIFY(spyRowsRemoved.at(0).at(2).toInt() == 1);
- QVERIFY(VideoThumbnailData::getRemoveCount() == 1);
- QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT - 1);
- spyRowsAboutToRemove.clear();
- spyRowsRemoved.clear();
-
- disconnect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(videoDeletedSlot(TMPXItemId)));
+ mTestObject->mVideoThumbnailData = tmp;
+
+ disconnect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(itemDeletedSlot(TMPXItemId)));
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
+
}
// -----------------------------------------------------------------------------
// testVideoDeleteCompletedSlot
// -----------------------------------------------------------------------------
//
+
void TestVideoModel_p::testVideoDeleteCompletedSlot()
{
- mMediaFactory->removeArray();
-
QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
QVERIFY(connect(this, SIGNAL(signalDeleteCompleted(int, QList<TMPXItemId>*)), mTestObject, SLOT(videoDeleteCompletedSlot(int, QList<TMPXItemId>*))));
- QSignalSpy spysignal(mTestObject, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)));
-
- // null list provided
- emit signalDeleteCompleted(0, 0);
- QVERIFY(spysignal.count() == 0);
-
+
+ mMediaFactory->removeArray();
mMediaFactory->createMediaItems(MEDIA_COUNT);
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
- QModelIndexList indexList;
- indexList.append(mStubModel->index(0,0));
- indexList.append(mStubModel->index(MEDIA_COUNT/2,0));
- indexList.append(mStubModel->index(MEDIA_COUNT-1,0));
- mTestObject->markVideosRemoved(indexList);
+ QSignalSpy spysignal(mStubModel, SIGNAL(modelChanged()));
+ VideoListDataModel::mStatus = -1;
+ VideoListDataModel::mStatusData = QVariant();
+
+ QList<TMPXItemId> idList;
+
+ // null list
emit signalDeleteCompleted(0, 0);
QVERIFY(spysignal.count() == 0);
- QVERIFY(VideoCollectionWrapper::mLatestStatusCode == -1);
- QVERIFY(!VideoCollectionWrapper::mLatestAdditional.isValid());
+ QVERIFY(VideoListDataModel::mStatus == -1);
+ QVERIFY(!VideoListDataModel::mStatusData.isValid());
-
- // provided list contains nothing and we have none deleted
- QList<TMPXItemId> testIds;
- emit signalDeleteCompleted(0, &testIds);
- QVERIFY(spysignal.count() == 0);
- QVERIFY(VideoCollectionWrapper::mLatestStatusCode == -1);
- QVERIFY(!VideoCollectionWrapper::mLatestAdditional.isValid());
-
- // provided list contains nothing and all provided count is more than one
- // (No status code sent from completely succeed delete)
- emit signalDeleteCompleted(5, &testIds);
- QVERIFY(spysignal.count() == 0);
- QVERIFY(VideoCollectionWrapper::mLatestStatusCode == -1);
- QVERIFY(!VideoCollectionWrapper::mLatestAdditional.isValid());
-
- VideoCollectionWrapper::mLatestStatusCode = -1;
- VideoCollectionWrapper::mLatestAdditional = QVariant();
+ // empty list
+ emit signalDeleteCompleted(0, &idList);
+ int count =spysignal.count();
+ QVERIFY(spysignal.count() == 1);
+ QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusDeleteSucceed);
+ QVERIFY(!VideoListDataModel::mStatusData.isValid());
+ VideoListDataModel::mStatus = -1;
+ VideoListDataModel::mStatusData = QVariant();
+ spysignal.clear();
- // provided list does not contain ids that are marked
- // (No status code sent from completely succeed delete)
- testIds.append(TMPXItemId(1, 0));
- testIds.append(TMPXItemId(MEDIA_COUNT - 2,0));
- emit signalDeleteCompleted(2, &testIds);
- QVERIFY(spysignal.count() == 0);
- QVERIFY(VideoCollectionWrapper::mLatestStatusCode == -1);
- QVERIFY(!VideoCollectionWrapper::mLatestAdditional.isValid());
-
- VideoCollectionWrapper::mLatestStatusCode = -1;
- VideoCollectionWrapper::mLatestAdditional = QVariant();
-
- // provided list contains partly items that are marked
- testIds.append(TMPXItemId(MEDIA_COUNT/2, 0));
- emit signalDeleteCompleted(3, &testIds);
+ // one failed (no item)
+ idList.append(TMPXItemId(0,0));
+ emit signalDeleteCompleted(0, &idList);
QVERIFY(spysignal.count() == 1);
+ QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusSingleDeleteFail);
+ QVERIFY(VideoListDataModel::mStatusData.isValid());
+
+ VideoListDataModel::mStatus = -1;
+ VideoListDataModel::mStatusData = QVariant();
spysignal.clear();
- QVERIFY(VideoCollectionWrapper::mLatestStatusCode == VideoCollectionCommon::statusSingleDeleteFail);
- QVERIFY(VideoCollectionWrapper::mLatestAdditional.isValid());
- QVERIFY(VideoCollectionWrapper::mLatestAdditional.toString().count() > 0);
-
- VideoCollectionWrapper::mLatestStatusCode = -1;
- VideoCollectionWrapper::mLatestAdditional = QVariant();
-
- // provided list contains all marked items
- testIds.clear();
- testIds.append(TMPXItemId(0,0));
- testIds.append(TMPXItemId(MEDIA_COUNT - 1, 0));
- emit signalDeleteCompleted(MEDIA_COUNT, &testIds);
- QVERIFY(spysignal.count() == 2);
- QVERIFY(VideoCollectionWrapper::mLatestStatusCode == VideoCollectionCommon::statusMultipleDeleteFail);
- QVERIFY(VideoCollectionWrapper::mLatestAdditional.isValid());
- QVERIFY(VideoCollectionWrapper::mLatestAdditional.toInt() == testIds.count());
-
+
+ idList.append(TMPXItemId(1,0));
+ // multiple failed
+ emit signalDeleteCompleted(0, &idList);
+ QVERIFY(spysignal.count() == 1);
+ QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusMultipleDeleteFail);
+ QVERIFY(VideoListDataModel::mStatusData.isValid());
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
disconnect(this, SIGNAL(signalDeleteCompleted(int, QList<TMPXItemId>*)), mTestObject, SLOT(videoDeleteCompletedSlot(int, QList<TMPXItemId>*)));
+
}
// -----------------------------------------------------------------------------
// testVideoDetailsCompletedSlot
// -----------------------------------------------------------------------------
//
+
void TestVideoModel_p::testVideoDetailsCompletedSlot()
{
mMediaFactory->removeArray();
QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
QVERIFY(connect(this, SIGNAL(signalVideoDetailsCompleted(TMPXItemId)), mTestObject, SLOT(videoDetailsCompletedSlot(TMPXItemId))));
- QSignalSpy spysignal(mTestObject, SIGNAL(videoDetailsReady(int)));
+ QSignalSpy spysignal(mTestObject, SIGNAL(videoDetailsReady(TMPXItemId)));
// no videos
emit signalVideoDetailsCompleted(TMPXItemId(0,0));
@@ -1192,7 +1121,7 @@
// invalid id
emit signalVideoDetailsCompleted(TMPXItemId::InvalidId());
QVERIFY(spysignal.count() == 0);
- emit signalVideoDetailsCompleted(MEDIA_COUNT);
+ emit signalVideoDetailsCompleted(TMPXItemId(MEDIA_COUNT,0));
QVERIFY(spysignal.count() == 0);
// correct ids
@@ -1202,7 +1131,6 @@
spysignal.clear();
emit signalVideoDetailsCompleted(TMPXItemId(MEDIA_COUNT - 1,0));
QVERIFY(spysignal.count() == 1);
- QVERIFY(spysignal.value(0).at(0).toInt() == MEDIA_COUNT - 1);
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
disconnect(this, SIGNAL(signalVideoDetailsCompleted(TMPXItemId)), mTestObject, SLOT(videoDetailsCompletedSlot(TMPXItemId)));
@@ -1221,7 +1149,7 @@
mMediaFactory->removeArray();
mMediaFactory->createCollectionItems();
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
-
+ int count = mTestObject->getVideoCount();
QVERIFY( mTestObject->getVideoCount() == 2);
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
@@ -1240,11 +1168,11 @@
QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));
mMediaFactory->createCollectionItems();
emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
-
+ QVERIFY( mTestObject->getVideoCount() == 2);
QVERIFY(mTestObject->getMediaIdFromIndex(-1) == TMPXItemId::InvalidId());
-
+ TMPXItemId id = mTestObject->getMediaIdFromIndex(0);
QVERIFY(mTestObject->getMediaIdFromIndex(0) == TMPXItemId(KVcxMvcCategoryIdDownloads, 1));
-
+ id = mTestObject->getMediaIdFromIndex(1);
QVERIFY(mTestObject->getMediaIdFromIndex(1) == TMPXItemId(KVcxMvcCategoryIdCaptured, 1));
disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));