diff -r 463f1934e292 -r c348b9772569 hgcacheproxymodel/tsrc/unit/test_hgcacheproxydatamodel.cpp --- a/hgcacheproxymodel/tsrc/unit/test_hgcacheproxydatamodel.cpp Fri Jun 11 16:25:05 2010 +0100 +++ b/hgcacheproxymodel/tsrc/unit/test_hgcacheproxydatamodel.cpp Thu Jul 22 16:36:56 2010 +0100 @@ -13,7 +13,7 @@ * * Description: * -* Version : %version: 5 % +* Version : %version: 10 % */ #include #include @@ -25,6 +25,11 @@ #include "dataproviderhelper.h" #include "cacheproxyhelper.h" #include +#include +#include +#include +#include + // ======== MEMBER FUNCTIONS ======== void TestCacheProxy::testQAbstractItemModel(QAbstractItemModel* model, int rows, int columns) @@ -84,10 +89,7 @@ QVERIFY(idx.isValid() == false); QVERIFY(model->columnCount() == columns); QVERIFY(model->rowCount() == rows); - -// QVERIFY(model->hasChildren() == false); -// QVERIFY(model->headerData(0, Qt::Horizontal).isValid == false); - + } void TestCacheProxy::initTestCase() @@ -155,10 +157,22 @@ totalsize = 100; bufferSize = 200; bmh = new BMHelper(totalsize); - bm = new HgBufferManager(bmh, bufferSize, 40, -20, totalsize); + bm = new HgBufferManager(bmh, bufferSize, 40, 2*bufferSize, totalsize); + bufferSize = 300; + bm->resizeCache(bufferSize, 20); + bm->setPosition(5); + QVERIFY(bmh->isIntergal(bufferSize)); + bm->setPosition(5000); + QVERIFY(bmh->isIntergal(bufferSize)); delete bmh; delete bm; + bmh = new BMHelper(totalsize); + bm = new HgBufferManager(bmh, bufferSize, 40, -10, totalsize); + delete bmh; + delete bm; + + totalsize = 1000; bufferSize = 100; bmh = new BMHelper(totalsize); @@ -294,111 +308,168 @@ int bufferSize = 100; bmh = new BMHelper(totalsize); bm = new HgBufferManager(bmh, bufferSize, 40, 0, totalsize); - totalsize--; - bmh->itemCountChanged(0, true, totalsize); - bm->itemCountChanged(0, true, totalsize); + bm->aboutToRemoveItem(0); + bmh->remove(0); + bm->removedItem(0); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize--; - bmh->itemCountChanged(150, true, totalsize); - bm->itemCountChanged(150, true, totalsize); + bm->aboutToRemoveItem(150); + bmh->remove(150); + bm->removedItem(150); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize--; bm->setPosition(100); - bmh->itemCountChanged(150, true, totalsize); - bm->itemCountChanged(150, true, totalsize); + bm->aboutToRemoveItem(150); + bmh->remove(150); + bm->removedItem(150); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize--; bm->setPosition(891); - bmh->itemCountChanged(150, true, totalsize); - bm->itemCountChanged(150, true, totalsize); + bm->aboutToRemoveItem(150); + bmh->remove(150); + bm->removedItem(150); QVERIFY(bmh->isIntergal(bufferSize)); - totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); + + bm->setPosition(0); + bm->aboutToRemoveItem(150); + bmh->remove(150); + bm->removedItem(150); + QVERIFY(bmh->isIntergal(bufferSize)); + totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); + bm->setPosition(900); - bmh->itemCountChanged(890, true, totalsize); - bm->itemCountChanged(890, true, totalsize); + bm->aboutToRemoveItem(890); + bmh->remove(890); + bm->removedItem(890); QVERIFY(bmh->isIntergal(bufferSize)); - totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); + bm->setPosition(totalsize); - bmh->itemCountChanged(totalsize, true, totalsize); - bm->itemCountChanged(totalsize, true, totalsize); + bm->aboutToRemoveItem(totalsize); + bmh->remove(totalsize); + bm->removedItem(totalsize); QVERIFY(bmh->isIntergal(bufferSize)); +// totalsize--;//no item remove since totalsize is outside + QCOMPARE(bmh->totalSize(), totalsize); + bm->setPosition(totalsize); + bm->aboutToRemoveItem(totalsize-1); + bmh->remove(totalsize-1); + bm->removedItem(totalsize-1); + QVERIFY(bmh->isIntergal(bufferSize)); totalsize--; + QCOMPARE(bmh->totalSize(), totalsize); + bm->setPosition(totalsize+200); - bmh->itemCountChanged(totalsize+200, true, totalsize); - bm->itemCountChanged(totalsize+200, true, totalsize); + bm->aboutToRemoveItem(totalsize+200); + bmh->remove(totalsize+200); + bm->removedItem(totalsize+200); QVERIFY(bmh->isIntergal(bufferSize)); +// totalsize--; //no item remove since totalsize+200 is outside + QCOMPARE(bmh->totalSize(), totalsize); + + bm->aboutToRemoveItem(-20); + bmh->remove(-20); + bm->removedItem(-20); + QVERIFY(bmh->isIntergal(bufferSize)); +// totalsize--; //no item remove since totalsize+200 is outside + QCOMPARE(bmh->totalSize(), totalsize); - totalsize= totalsize - 10; - bm->setPosition(0); - bmh->itemCountChanged(0, true, totalsize); - bm->itemCountChanged(0, true, totalsize); + bm->aboutToRemoveItem(totalsize+10); + bmh->remove(totalsize+10); + bm->removedItem(totalsize+10); QVERIFY(bmh->isIntergal(bufferSize)); +// totalsize--; //no item remove since totalsize+200 is outside + QCOMPARE(bmh->totalSize(), totalsize); + - totalsize= totalsize - 10; - bm->setPosition(totalsize); - bmh->itemCountChanged(totalsize, true, totalsize); - bm->itemCountChanged(totalsize, true, totalsize); - QVERIFY(bmh->isIntergal(bufferSize)); + bm->resetBuffer(0, 10); + bmh->resizeCache(10); + bm->aboutToRemoveItem(1); + bmh->remove(1); + bm->removedItem(1); + QCOMPARE(bmh->totalSize(), 9); + + bmh->resizeCache(totalsize); + bm->resetBuffer(0, totalsize); - totalsize= totalsize - 10; - bm->setPosition(totalsize/2); - bmh->itemCountChanged(totalsize/2, true, totalsize); - bm->itemCountChanged(totalsize/2, true, totalsize); - QVERIFY(bmh->isIntergal(bufferSize)); + //insert - totalsize++; bm->setPosition(0); - bmh->itemCountChanged(0, false, totalsize); - bm->itemCountChanged(0, false, totalsize); + bm->aboutToInsertItem(0); + bmh->insert(0); + bm->insertedItem(0); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize++; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize++; - bmh->itemCountChanged(50, false, totalsize); - bm->itemCountChanged(50, false, totalsize); + bm->aboutToInsertItem(50); + bmh->insert(50); + bm->insertedItem(50); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize++; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize++; bm->setPosition(100); - bmh->itemCountChanged(80, false, totalsize); - bm->itemCountChanged(80, false, totalsize); + bm->aboutToInsertItem(80); + bmh->insert(80); + bm->insertedItem(80); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize++; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize++; bm->setPosition(500); - bmh->itemCountChanged(480, false, totalsize); - bm->itemCountChanged(480, false, totalsize); + bm->aboutToInsertItem(80); + bmh->insert(80); + bm->insertedItem(80); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize++; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize++; - bm->setPosition(totalsize-20); - bmh->itemCountChanged(totalsize, false, totalsize); - bm->itemCountChanged(totalsize, false, totalsize); + bm->setPosition(500); + bm->aboutToInsertItem(480); + bmh->insert(480); + bm->insertedItem(480); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize++; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize=totalsize+10; bm->setPosition(totalsize-20); - bmh->itemCountChanged(totalsize, false, totalsize); - bm->itemCountChanged(totalsize, false, totalsize); + bm->aboutToInsertItem(totalsize); + bmh->insert(totalsize); + bm->insertedItem(totalsize); QVERIFY(bmh->isIntergal(bufferSize)); + totalsize++; + QCOMPARE(bmh->totalSize(), totalsize); - totalsize=totalsize+10; - bm->setPosition(20); - bmh->itemCountChanged(totalsize, false, totalsize); - bm->itemCountChanged(totalsize, false, totalsize); + bm->setPosition(totalsize-20); + bm->aboutToInsertItem(totalsize+20); + bmh->insert(totalsize+20); + bm->insertedItem(totalsize+20); QVERIFY(bmh->isIntergal(bufferSize)); +// totalsize++; //no insert + QCOMPARE(bmh->totalSize(), totalsize); - totalsize=totalsize+10; - bm->setPosition(totalsize/2-20); - bmh->itemCountChanged(totalsize, false, totalsize); - bm->itemCountChanged(totalsize, false, totalsize); - QVERIFY(bmh->isIntergal(bufferSize)); + bm->setPosition(2*totalsize); + bm->aboutToInsertItem(2*totalsize); + bmh->insert(2*totalsize); + bm->insertedItem(2*totalsize); + QVERIFY(bmh->isIntergal(bufferSize)); +// totalsize++; //no insert + QCOMPARE(bmh->totalSize(), totalsize); + + } void TestCacheProxy::testBM_ResizeCache() @@ -577,6 +648,23 @@ res = dph->data(idx, Qt::DecorationRole); QVERIFY(res == dph->defaultIcon()); + dph->testClearItem(2, false); + updates = dph->getSignalDataUpdated(); + QVERIFY(updates.count() == 1); //1 update + QVERIFY(updates[0].first == 2); //for 2 + QVERIFY(updates[0].second == 2); //for 2 + QVERIFY(dph->itemData(idx).count() == 0 ); //for 2 + + QVERIFY(dph->itemData( dph->testCreateIndex(999999, 0)).count() == 0 ); + + dph->testClearItem(2, true); + updates = dph->getSignalDataUpdated(); + QVERIFY(updates.count() == 0); //no updates + + dph->testClearItem(-10, true); + updates = dph->getSignalDataUpdated(); + QVERIFY(updates.count() == 0); //no updates + idx = dph->index(3, 0); res = dph->data(idx, Qt::DecorationRole); QVERIFY(res == dph->defaultIcon()); @@ -623,11 +711,13 @@ dph->testUpdate(0, &list, false); //update shouldn't change - no item dph->testUpdate(-1, &list, true); //update shouldn't change - no item + dph->testUpdate(-1, s, Qt::DisplayRole, true); //update shouldn't change - no item + dph->testUpdateIcon(-1, s); dph->testUpdate(120000, &list, false); //update shouldn't change - no item res = dph->data(idx, Qt::DisplayRole); QVERIFY(res.isValid() == false); QVERIFY(dph->getObserverDataUpdated().count() == 0); - + dph->testNewItem(&list, false); QList< QPair< int, int > > resList = dph->getSignalRowsAboutToBeInserted(); QVERIFY(resList.count() == 1); @@ -637,6 +727,13 @@ QVERIFY(resList.count() == 1); QVERIFY(resList[0].first == 0); //for item 0 QVERIFY(resList[0].second == 0); //for item 0 + + dph->testUpdateIcon(0, s, false); + dph->testUpdateIcon(0, s, true); + res = dph->data(idx, Qt::DecorationRole); + QCOMPARE(res.isValid(), true); + QVERIFY(res == s); + QCOMPARE(dph->getSignalDataUpdated().count(), 1); QVERIFY(dph->rowCount() == 1); @@ -743,22 +840,34 @@ dph->getSignalRowsInserted(); dph->getSignalRowsRemoved(); - dph->testInsertItem(-10, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with -10 puts it at begining + dph->testInsertItem(0, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with 0 puts at begining resList = dph->getSignalRowsInserted(); - QVERIFY(resList.count() == 1); + QVERIFY(resList.count() == 1); QVERIFY(resList[0].first == 0); QVERIFY(resList[0].second == 0); + + dph->getSignalRowsInserted(); + dph->getSignalRowsRemoved(); + dph->testInsertItem(-10, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with -10 not adds to collection + resList = dph->getSignalRowsInserted(); + QVERIFY(resList.count() == 0); dph->testRemoveItem(-10); resList = dph->getSignalRowsRemoved(); QVERIFY(resList.count() == 0); - + dph->getSignalRowsInserted(); dph->getSignalRowsRemoved(); - dph->testInsertItem(100000, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with beyond range puts it at end + dph->testInsertItem(dph->rowCount(), QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert at dph->rowCount() puts at end resList = dph->getSignalRowsInserted(); QVERIFY(resList.count() == 1); QVERIFY(resList[0].first == dph->rowCount()-1); - QVERIFY(resList[0].second == dph->rowCount()-1); + QVERIFY(resList[0].second == dph->rowCount()-1); + + dph->getSignalRowsInserted(); + dph->getSignalRowsRemoved(); + dph->testInsertItem(100000, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with beyond range not adds to collection + resList = dph->getSignalRowsInserted(); + QVERIFY(resList.count() == 0); dph->testRemoveItem(100000); resList = dph->getSignalRowsRemoved(); QVERIFY(resList.count() == 0); @@ -769,10 +878,13 @@ QCOMPARE(it.contains(Qt::DisplayRole), true); QVariant r2 = it[Qt::DisplayRole]; QCOMPARE(r2.isValid(), true); + + idx = dph->index(-10,0); + it = dph->itemData(idx); + res = dph->data(idx, Qt::DisplayRole); - QCOMPARE(res.isValid(), true); - QCOMPARE(res.toString(), r2.toString()); - + QCOMPARE(res.isValid(), false); + } void TestCacheProxy::testDP_QPixmapPool() @@ -819,6 +931,60 @@ dph->resizeQPixmapPool(1); res = dph->testCreateIcon(10, pix); QVERIFY(res.isValid() == false); + + dph->resizeQPixmapPool(110); + for ( int i = 0; i < 100; i ++) + dph->testCreateIcon(i, pix); + + for ( int i = 20; i < 40; i ++) + dph->testReleasePixmap(i); + + dph->resizeQPixmapPool(50); + dph->testReleasePixmap(5); + + dph->resizeQPixmapPool(1); + dph->testReleasePixmap(0); + dph->testReleasePixmap(2); + dph->testReleasePixmap(1); + dph->resizeQPixmapPool(10); + + + +} + +void TestCacheProxy::testDP_IconMode() +{ + dph = new DataProviderHelper(100); + QCOMPARE( dph->testIconMode(), HgDataProviderModel::HgDataProviderIconHbIcon); + dph->resizeQPixmapPool(10); + QPixmap pix; + QVariant res = dph->testCreateIcon(0, pix); + QVERIFY(res.isValid() == true); + QVERIFY(res.canConvert()); + + dph->testChangeIconMode(HgDataProviderModel::HgDataProviderIconHbIcon); + res = dph->testCreateIcon(0, pix); + QVERIFY(res.isValid() == true); + QVERIFY(res.canConvert()); + + dph->testChangeIconMode(HgDataProviderModel::HgDataProviderIconQIcon); + res = dph->testCreateIcon(0, pix); + QVERIFY(res.isValid() == true); + QVERIFY(res.canConvert()); + + dph->testChangeIconMode(HgDataProviderModel::HgDataProviderIconQImage); + res = dph->testCreateIcon(0, pix); + QVERIFY(res.isValid() == true); + QVERIFY(res.canConvert()); + + dph->testChangeIconMode(HgDataProviderModel::HgDataProviderIconQPixmap); + res = dph->testCreateIcon(0, pix); + QVERIFY(res.isValid() == true); + QVERIFY(res.canConvert()); + + dph->testChangeIconMode( (HgDataProviderModel::HgDataProviderIconMode)10 ); + res = dph->testCreateIcon(0, pix); + QVERIFY(res.isValid() == false); } void TestCacheProxy::testCP_QAbstractItemModel() @@ -838,13 +1004,80 @@ cp->setDataProvider(dph); QVERIFY(cp->DataProvider() == dph); + + QList< QPair< QVariant, int > > list; + QString s = "NEWITEM"; + list.append( QPair< QVariant, int >(s, Qt::DisplayRole) ); + dph->testNewItem(&list, false); + + dph->testRemoveItems(0, 1);//should remove item + + QModelIndex idx = cp->index(0,0); + QCOMPARE(cp->hasChildren(idx), true); + QSize s1 = cp->span(idx); + QSize s2 = cp->span(cp->index(1, 0)); + QVERIFY(s1 == s2); + cp->submit(); + cp->revert(); + Qt::ItemFlags f1 = cp->flags(idx); + Qt::ItemFlags f2 = cp->flags(cp->index(1, 0)); + QVERIFY(f1 == f2); + + QVariant res = cp->headerData(0, Qt::Horizontal, Qt::DecorationRole); + QCOMPARE(res.isValid(), false); + //default implementation ignores that + cp->setHeaderData(0, Qt::Horizontal, QString("headerdata"), Qt::DecorationRole); + res = cp->headerData(0, Qt::Horizontal, Qt::DecorationRole); + QCOMPARE(res.isValid(), false); + + QStringList li = cp->mimeTypes(); + QCOMPARE(li.count(), 1); + + QModelIndexList li2; + li2<< idx; + QMimeData* md1 = cp->mimeData(li2); + QVERIFY(md1 != NULL); + QCOMPARE(cp->dropMimeData(NULL, Qt::MoveAction, 10, 0, QModelIndex() ), false); + QCOMPARE(cp->supportedDragActions(), Qt::CopyAction); + + QCOMPARE(cp->canFetchMore(idx), false); + cp->fetchMore(idx); + + QModelIndex idx2 = cp->buddy(idx); + QCOMPARE(idx2.row(), idx.row()); + QCOMPARE(idx2.column(), idx.column()); + + li2 = cp->match(idx, Qt::DisplayRole, QString("ITEM"), 1000, Qt::MatchContains); + QCOMPARE(li2.count(), dph->getCount()); + + + + cp->setDataProvider(NULL); + QVERIFY(cp->DataProvider() == NULL); + idx = cp->index(100,0); + res = dph->data(idx, Qt::DisplayRole); + QCOMPARE(res.isValid(), false); + + QCOMPARE(cp->insertRows(0, 10), false); //default implementation returns false + QCOMPARE(cp->removeRows(0, 10), false);//default implementation returns false + + QCOMPARE(cp->insertRow(0), false); //default implementation returns false + QCOMPARE(cp->removeRow(0), false);//default implementation returns false + + QCOMPARE(cp->insertColumns(0, 10), false); //default implementation returns false + QCOMPARE(cp->removeColumns(0, 10), false);//default implementation returns false + + QCOMPARE(cp->insertColumn(0), false); //default implementation returns false + QCOMPARE(cp->removeColumn(0), false);//default implementation returns false + + } void TestCacheProxy::testCP_SignalsForward() { cp = new HgCacheProxyModel(); cph = new CacheProxyHelper(cp); - dph = new DataProviderHelper(200); + dph = new DataProviderHelper(200); cp->setDataProvider(dph, 50, 20); QList< QPair< int, int > > resList = cph->getSignalDataChanged(); @@ -884,8 +1117,69 @@ QVERIFY(cph->getSignalModelAboutToBeReset() == true); QVERIFY(cph->getSignalModelReset() == true); QVERIFY(cp->columnCount() == 1); - QVERIFY(cp->rowCount() == 1000); + QVERIFY(cp->rowCount() == 1000); + + cph->getSignalDataChanged(); + dph->testEmitDataChanged(dph->index(0,0), dph->index(10,0)); + resList = cph->getSignalDataChanged(); + QCOMPARE(resList.count(), 1); + QCOMPARE(resList[0].first, 0); + QCOMPARE(resList[0].second, 10); + + cph->getSignalColumnsAboutToBeInserted(); + cph->getSignalColumnsInserted(); + dph->testEmitColumnsInsert(dph->index(0,0),0, 10); + resList = cph->getSignalColumnsAboutToBeInserted(); + QCOMPARE(resList.count(), 1); + QCOMPARE(resList[0].first, 0); + QCOMPARE(resList[0].second, 10); + resList = cph->getSignalColumnsInserted(); + QCOMPARE(resList.count(), 1); + QCOMPARE(resList[0].first, 0); + QCOMPARE(resList[0].second, 10); + cph->getSignalColumnsAboutToBeRemoved(); + cph->getSignalColumnsRemoved(); + dph->testEmitColumnsRemove(dph->index(0,0),0, 10); + resList = cph->getSignalColumnsAboutToBeRemoved(); + QCOMPARE(resList.count(), 1); + QCOMPARE(resList[0].first, 0); + QCOMPARE(resList[0].second, 10); + resList = cph->getSignalColumnsRemoved(); + QCOMPARE(resList.count(), 1); + QCOMPARE(resList[0].first, 0); + QCOMPARE(resList[0].second, 10); + +// cph->getSignalColumnsAboutToBeMoved(); +// cph->getSignalColumnsMoved(); +// QCOMPARE(dph->testEmitColumnsAboutToBeMoved(0, 10), false); +// resList = cph->getSignalColumnsAboutToBeMoved(); +// QCOMPARE(resList.count(), 0); + +// dph->testEmitColumnsMoved(0, 10); +// resList = cph->getSignalColumnsMoved(); +// QCOMPARE(resList.count(), 0); + + +// cph->getSignalRowsAboutToBeMoved(); +// cph->getSignalRowsMoved(); +// QCOMPARE(dph->testEmitRowsAboutToBeMoved(0, 10), false); +// resList = cph->getSignalRowsAboutToBeMoved(); +// QCOMPARE(resList.count(), 0); + +// dph->testEmitRowsMoved(0, 10); +// resList = cph->getSignalRowsMoved(); +// QCOMPARE(resList.count(), 0); + + + cph->getSignalHeaderDataChanged(); + dph->testEmitHeaderDataChanged(Qt::Horizontal, 0, 0); + resList = cph->getSignalHeaderDataChanged(); + QCOMPARE(resList.count(), 1); + QCOMPARE(resList[0].first, 0); + QCOMPARE(resList[0].second, 0); + + } void TestCacheProxy::testCP_ResizeCache() @@ -893,6 +1187,7 @@ cp = new HgCacheProxyModel(); cph = new CacheProxyHelper(cp); dph = new DataProviderHelper(200); + cp->resizeCache(100, 20); cp->setDataProvider(dph, 50, 20); dph->getLastRelease(); dph->getLastRequest(); @@ -971,8 +1266,30 @@ res = cp->data(idx, v); QCOMPARE(res.isValid(), true); QCOMPARE(res.toInt(), v); + + dph->getLastRelease(); + dph->getLastRequest(); + cp->release(0, 100); + QCOMPARE(dph->getLastRelease().count(), 101); + cp->release(-10, 0); + QCOMPARE(dph->getLastRelease().count(), 1); + cp->release(10, -10); + QCOMPARE(dph->getLastRelease().count(), 11); + cp->request(0, 100); + QCOMPARE(dph->getLastRequest().count(), 101); + cp->request(-10, 0); + QCOMPARE(dph->getLastRequest().count(), 1); + cp->request(-10, 10, HgBufferManagerObserver::HgRequestOrderDescending); + QCOMPARE(dph->getLastRequest().count(), 11); + + cp->setDataProvider(NULL, 50, 20); + res = cp->data(idx, v); + QCOMPARE(res.isValid(), false); + cp->request(0, 100, HgBufferManagerObserver::HgRequestOrderAscending); + QCOMPARE(dph->getLastRequest().count(), 0); + cp->release(0, 100); + QCOMPARE(dph->getLastRelease().count(), 0); - } void TestCacheProxy::testCP_Sort() @@ -984,6 +1301,7 @@ cp->setSortRole(Qt::UserRole+2); QCOMPARE(cp->sortRole(), Qt::UserRole+2); + cp->setSortRole(Qt::UserRole+2); cp->sort(0, Qt::AscendingOrder); QCOMPARE(cp->sortColumn(), 0); QCOMPARE(cp->sortOrder(), Qt::AscendingOrder); @@ -1007,6 +1325,9 @@ cp->setSortRole(Qt::DisplayRole); cp->setSortCaseSensitivity(Qt::CaseSensitive); QCOMPARE(cp->sortCaseSensitivity(), Qt::CaseSensitive); + cp->setSortCaseSensitivity(Qt::CaseSensitive); + cp->setSortCaseSensitivity(Qt::CaseInsensitive); + cp->setSortCaseSensitivity(Qt::CaseSensitive); cp->sort(0, Qt::AscendingOrder); idx = cp->index(10, 0); @@ -1022,12 +1343,14 @@ cp->setSortLocaleAware(true); QCOMPARE(cp->isSortLocaleAware(), true); + cp->setSortLocaleAware(true); cp->setSortLocaleAware(false); QCOMPARE(cp->isSortLocaleAware(), false); QString s = QString("AAA"); cp->setDynamicSortFilter(true); QCOMPARE(cp->dynamicSortFilter(), true); + cp->setDynamicSortFilter(true); cp->setSortRole(Qt::DisplayRole); cp->setSortCaseSensitivity(Qt::CaseSensitive); dph->testInsertItem(10, QPair< QVariant, int >(s, Qt::DisplayRole), false); @@ -1055,8 +1378,12 @@ cp->setFilterRegExp(regexp); QVERIFY(cp->filterRegExp() == regexp); + cp->setFilterRegExp(regexp); cp->setFilterCaseSensitivity(Qt::CaseSensitive); QCOMPARE(cp->filterCaseSensitivity(), Qt::CaseSensitive); + cp->setFilterCaseSensitivity(Qt::CaseSensitive); + cp->setFilterCaseSensitivity(Qt::CaseInsensitive); + cp->setFilterCaseSensitivity(Qt::CaseSensitive); idx = cp->index(1, 0); res = cp->data(idx, Qt::DisplayRole); @@ -1065,10 +1392,12 @@ cp->setFilterKeyColumn(1); QCOMPARE(cp->filterKeyColumn (), 1); + cp->setFilterKeyColumn(1); cp->setFilterKeyColumn(0); cp->setFilterRole(Qt::UserRole+1); QCOMPARE(cp->filterRole(), Qt::UserRole+1); + cp->setFilterRole(Qt::UserRole+1); cp->setFilterRole(Qt::DisplayRole); regexp = QRegExp("ITEM*", Qt::CaseInsensitive, QRegExp::Wildcard); @@ -1076,6 +1405,7 @@ QVERIFY(cp->filterRegExp() == regexp); cp->setFilterCaseSensitivity(Qt::CaseInsensitive); QCOMPARE(cp->filterCaseSensitivity(), Qt::CaseInsensitive); + cp->setFilterCaseSensitivity(Qt::CaseInsensitive); idx = cp->index(1, 0); res = cp->data(idx, Qt::DisplayRole);