┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/kfileitemmodeltest.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp
index ede9a3d6e..9079e584e 100644
--- a/src/tests/kfileitemmodeltest.cpp
+++ b/src/tests/kfileitemmodeltest.cpp
@@ -92,6 +92,7 @@ private slots:
void testInconsistentModel();
void testChangeRolesForFilteredItems();
void testChangeSortRoleWhileFiltering();
+ void testRefreshFilteredItems();
private:
QStringList itemsInModel() const;
@@ -1561,6 +1562,35 @@ void KFileItemModelTest::testChangeSortRoleWhileFiltering()
QCOMPARE(itemsInModel(), QStringList() << "c.txt" << "a.txt" << "b.txt");
}
+void KFileItemModelTest::testRefreshFilteredItems()
+{
+ QStringList files;
+ files << "a.txt" << "b.txt" << "c.jpg" << "d.jpg";
+ m_testDir->createFiles(files);
+
+ m_model->loadDirectory(m_testDir->url());
+ QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.jpg" << "d.jpg");
+
+ const KFileItem fileItemC = m_model->fileItem(2);
+
+ // Show only the .txt files.
+ m_model->setNameFilter(".txt");
+ QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt");
+
+ // Rename one of the .jpg files.
+ KFileItem fileItemE = fileItemC;
+ KUrl urlE = fileItemE.url();
+ urlE.setFileName("e.jpg");
+ fileItemE.setUrl(urlE);
+
+ m_model->slotRefreshItems(QList<QPair<KFileItem, KFileItem> >() << qMakePair(fileItemC, fileItemE));
+
+ // Show all files again, and verify that the model has updated the file name.
+ m_model->setNameFilter(QString());
+ QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "d.jpg" << "e.jpg");
+}
+
QStringList KFileItemModelTest::itemsInModel() const
{
QStringList items;