]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/kfileitemmodeltest.cpp
Fix includes
[dolphin.git] / src / tests / kfileitemmodeltest.cpp
index 48e72e83f3243d699bbcca4b427d7b6fb193fafc..3d505c76634ae8c77c5c166c2b294eae1216e8b8 100644 (file)
@@ -20,7 +20,6 @@
 
 #include <qtest_kde.h>
 
-#include <KDirLister>
 #include <kio/job.h>
 
 #include "kitemviews/kfileitemmodel.h"
@@ -95,6 +94,7 @@ private slots:
     void testRefreshFilteredItems();
     void testCollapseFolderWhileLoading();
     void testCreateMimeData();
+    void testDeleteFileMoreThanOnce();
 
 private:
     QStringList itemsInModel() const;
@@ -1697,6 +1697,27 @@ void KFileItemModelTest::testCollapseFolderWhileLoading()
     QVERIFY(!m_model->isExpanded(1));
 }
 
+void KFileItemModelTest::testDeleteFileMoreThanOnce()
+{
+    QStringList files;
+    files << "a.txt" << "b.txt" << "c.txt" << "d.txt";
+    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.txt" << "d.txt");
+
+    const KFileItem fileItemB = m_model->fileItem(1);
+
+    // Tell the model that a list of items has been deleted, where "b.txt" appears twice in the list.
+    KFileItemList list;
+    list << fileItemB << fileItemB;
+    m_model->slotItemsDeleted(list);
+
+    QVERIFY(m_model->isConsistent());
+    QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "c.txt" << "d.txt");
+}
+
 QStringList KFileItemModelTest::itemsInModel() const
 {
     QStringList items;