X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3bf68fd71492f02bffb6cf040e9471c5e997180e..ec12391a1b:/src/tests/placesitemmodeltest.cpp diff --git a/src/tests/placesitemmodeltest.cpp b/src/tests/placesitemmodeltest.cpp index 8fb01676a..fc21ce055 100644 --- a/src/tests/placesitemmodeltest.cpp +++ b/src/tests/placesitemmodeltest.cpp @@ -19,13 +19,9 @@ #include #include -#include -#include -#include #include #include #include -#include #include #include @@ -36,7 +32,6 @@ #include "panels/places/placesitemmodel.h" #include "panels/places/placesitem.h" #include "views/viewproperties.h" -#include "kitemviews/kitemrange.h" Q_DECLARE_METATYPE(KItemRangeList) Q_DECLARE_METATYPE(KItemRange) @@ -84,6 +79,7 @@ private slots: void testDragAndDrop(); void testHideDevices(); void testDuplicatedEntries(); + void renameAfterCreation(); private: PlacesItemModel* m_model; @@ -232,7 +228,8 @@ void PlacesItemModelTest::init() void PlacesItemModelTest::cleanup() { - for (int i : m_tobeRemoved) { + const auto tobeRemoved = m_tobeRemoved; + for (const int i : tobeRemoved) { int before = m_model->count(); m_model->deleteItem(i); QTRY_COMPARE(m_model->count(), before - 1); @@ -545,7 +542,6 @@ void PlacesItemModelTest::testSystemItems() void PlacesItemModelTest::testEditBookmark() { - const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); QScopedPointer other(new PlacesItemModel()); createPlaceItem(QStringLiteral("Temporary Dir"), QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)), QString()); @@ -808,6 +804,42 @@ void PlacesItemModelTest::testDuplicatedEntries() delete newModel; } +void PlacesItemModelTest::renameAfterCreation() +{ + const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); + QStringList urls = initialUrls(); + PlacesItemModel *model = new PlacesItemModel(); + + CHECK_PLACES_URLS(urls); + QTRY_COMPARE(model->count(), m_model->count()); + + // create a new place + createPlaceItem(QStringLiteral("Temporary Dir"), tempUrl, QString()); + urls.insert(3, tempUrl.toLocalFile()); + + // make sure that the new item will be removed later + removePlaceAfter(3); + + CHECK_PLACES_URLS(urls); + QCOMPARE(model->count(), m_model->count()); + + + // modify place text + QSignalSpy changedSpy(m_model, &PlacesItemModel::itemsChanged); + + PlacesItem *item = m_model->placesItem(3); + item->setText(QStringLiteral("New Temporary Dir")); + item->setUrl(item->url()); + item->setIcon(item->icon()); + m_model->refresh(); + + QTRY_COMPARE(changedSpy.count(), 1); + + // check if the place was modified in both models + QTRY_COMPARE(m_model->placesItem(3)->text(), QStringLiteral("New Temporary Dir")); + QTRY_COMPARE(model->placesItem(3)->text(), QStringLiteral("New Temporary Dir")); +} + QTEST_MAIN(PlacesItemModelTest) #include "placesitemmodeltest.moc"