[PlacesItemModelTest] More index-related fixes

Again, we cannot assume the Desktop and Downloads places are always
around.
This commit is contained in:
Elvis Angelaccio 2018-10-07 19:41:54 +02:00
parent 4a56d21fb1
commit e2f93a2829

View file

@ -589,12 +589,20 @@ void PlacesItemModelTest::testSystemItems()
void PlacesItemModelTest::testEditBookmark() void PlacesItemModelTest::testEditBookmark()
{ {
int tempDirIndex = 3;
if (m_hasDesktopFolder) {
tempDirIndex++;
}
if (m_hasDownloadsFolder) {
tempDirIndex++;
}
QScopedPointer<PlacesItemModel> other(new PlacesItemModel()); QScopedPointer<PlacesItemModel> other(new PlacesItemModel());
createPlaceItem(QStringLiteral("Temporary Dir"), QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)), QString()); createPlaceItem(QStringLiteral("Temporary Dir"), QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)), QString());
// make sure that the new item will be removed later // make sure that the new item will be removed later
removePlaceAfter(5); removePlaceAfter(tempDirIndex);
QSignalSpy itemsChangedSply(m_model, &PlacesItemModel::itemsChanged); QSignalSpy itemsChangedSply(m_model, &PlacesItemModel::itemsChanged);
@ -619,6 +627,14 @@ void PlacesItemModelTest::testEditBookmark()
void PlacesItemModelTest::testEditAfterCreation() void PlacesItemModelTest::testEditAfterCreation()
{ {
int tempDirIndex = 3;
if (m_hasDesktopFolder) {
tempDirIndex++;
}
if (m_hasDownloadsFolder) {
tempDirIndex++;
}
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted); QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
@ -630,7 +646,7 @@ void PlacesItemModelTest::testEditAfterCreation()
QTRY_COMPARE(model->count(), m_model->count()); QTRY_COMPARE(model->count(), m_model->count());
// make sure that the new item will be removed later // make sure that the new item will be removed later
removePlaceAfter(5); removePlaceAfter(tempDirIndex);
// modify place text // modify place text
PlacesItem *item = m_model->placesItem(3); PlacesItem *item = m_model->placesItem(3);
@ -648,6 +664,14 @@ void PlacesItemModelTest::testEditAfterCreation()
void PlacesItemModelTest::testEditMetadata() void PlacesItemModelTest::testEditMetadata()
{ {
int tempDirIndex = 3;
if (m_hasDesktopFolder) {
tempDirIndex++;
}
if (m_hasDownloadsFolder) {
tempDirIndex++;
}
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted); QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
@ -660,7 +684,7 @@ void PlacesItemModelTest::testEditMetadata()
QTRY_COMPARE(model->count(), m_model->count()); QTRY_COMPARE(model->count(), m_model->count());
// make sure that the new item will be removed later // make sure that the new item will be removed later
removePlaceAfter(5); removePlaceAfter(tempDirIndex);
// modify place metadata // modify place metadata
PlacesItem *item = m_model->placesItem(3); PlacesItem *item = m_model->placesItem(3);
@ -679,6 +703,14 @@ void PlacesItemModelTest::testEditMetadata()
void PlacesItemModelTest::testRefresh() void PlacesItemModelTest::testRefresh()
{ {
int tempDirIndex = 3;
if (m_hasDesktopFolder) {
tempDirIndex++;
}
if (m_hasDownloadsFolder) {
tempDirIndex++;
}
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted); QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
@ -690,10 +722,10 @@ void PlacesItemModelTest::testRefresh()
QTRY_COMPARE(model->count(), m_model->count()); QTRY_COMPARE(model->count(), m_model->count());
// make sure that the new item will be removed later // make sure that the new item will be removed later
removePlaceAfter(5); removePlaceAfter(tempDirIndex);
PlacesItem *item = m_model->placesItem(5); PlacesItem *item = m_model->placesItem(tempDirIndex);
PlacesItem *sameItem = model->placesItem(5); PlacesItem *sameItem = model->placesItem(tempDirIndex);
QCOMPARE(item->text(), sameItem->text()); QCOMPARE(item->text(), sameItem->text());
// modify place text // modify place text
@ -742,6 +774,14 @@ void PlacesItemModelTest::testIcons()
void PlacesItemModelTest::testDragAndDrop() void PlacesItemModelTest::testDragAndDrop()
{ {
int lastIndex = 2; // last index of places group
if (m_hasDesktopFolder) {
lastIndex++;
}
if (m_hasDownloadsFolder) {
lastIndex++;
}
QList<QVariant> args; QList<QVariant> args;
KItemRangeList range; KItemRangeList range;
QStringList urls = initialUrls(); QStringList urls = initialUrls();
@ -752,7 +792,7 @@ void PlacesItemModelTest::testDragAndDrop()
// Move the home directory to the end of the places group // Move the home directory to the end of the places group
QMimeData *dropData = createMimeData(QList<int>() << 0); QMimeData *dropData = createMimeData(QList<int>() << 0);
m_model->dropMimeDataBefore(m_model->count() - 1, dropData); m_model->dropMimeDataBefore(m_model->count() - 1, dropData);
urls.move(0, 4); urls.move(0, lastIndex);
delete dropData; delete dropData;
QTRY_COMPARE(itemsInsertedSpy.count(), 1); QTRY_COMPARE(itemsInsertedSpy.count(), 1);
@ -770,7 +810,7 @@ void PlacesItemModelTest::testDragAndDrop()
range = args.at(0).value<KItemRangeList>(); range = args.at(0).value<KItemRangeList>();
QCOMPARE(range.size(), 1); QCOMPARE(range.size(), 1);
QCOMPARE(range.at(0).count, 1); QCOMPARE(range.at(0).count, 1);
QCOMPARE(range.at(0).index, 4); QCOMPARE(range.at(0).index, lastIndex);
CHECK_PLACES_URLS(urls); CHECK_PLACES_URLS(urls);
@ -778,9 +818,9 @@ void PlacesItemModelTest::testDragAndDrop()
itemsRemovedSpy.clear(); itemsRemovedSpy.clear();
// Move home directory item back to its original position // Move home directory item back to its original position
dropData = createMimeData(QList<int>() << 4); dropData = createMimeData(QList<int>() << lastIndex);
m_model->dropMimeDataBefore(0, dropData); m_model->dropMimeDataBefore(0, dropData);
urls.move(4, 0); urls.move(lastIndex, 0);
delete dropData; delete dropData;
QTRY_COMPARE(itemsInsertedSpy.count(), 1); QTRY_COMPARE(itemsInsertedSpy.count(), 1);
@ -791,7 +831,7 @@ void PlacesItemModelTest::testDragAndDrop()
range = args.at(0).value<KItemRangeList>(); range = args.at(0).value<KItemRangeList>();
QCOMPARE(range.size(), 1); QCOMPARE(range.size(), 1);
QCOMPARE(range.at(0).count, 1); QCOMPARE(range.at(0).count, 1);
QCOMPARE(range.at(0).index, 4); QCOMPARE(range.at(0).index, lastIndex);
// insert intem in the requested position // insert intem in the requested position
args = itemsInsertedSpy.takeFirst(); args = itemsInsertedSpy.takeFirst();
@ -853,6 +893,14 @@ void PlacesItemModelTest::testDuplicatedEntries()
void PlacesItemModelTest::renameAfterCreation() void PlacesItemModelTest::renameAfterCreation()
{ {
int tempDirIndex = 3;
if (m_hasDesktopFolder) {
tempDirIndex++;
}
if (m_hasDownloadsFolder) {
tempDirIndex++;
}
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QStringList urls = initialUrls(); QStringList urls = initialUrls();
PlacesItemModel *model = new PlacesItemModel(); PlacesItemModel *model = new PlacesItemModel();
@ -862,10 +910,10 @@ void PlacesItemModelTest::renameAfterCreation()
// create a new place // create a new place
createPlaceItem(QStringLiteral("Temporary Dir"), tempUrl, QString()); createPlaceItem(QStringLiteral("Temporary Dir"), tempUrl, QString());
urls.insert(5, tempUrl.toLocalFile()); urls.insert(tempDirIndex, tempUrl.toLocalFile());
// make sure that the new item will be removed later // make sure that the new item will be removed later
removePlaceAfter(5); removePlaceAfter(tempDirIndex);
CHECK_PLACES_URLS(urls); CHECK_PLACES_URLS(urls);
QCOMPARE(model->count(), m_model->count()); QCOMPARE(model->count(), m_model->count());