]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/testbase.cpp
Implement a cut/copy/paste unit test for DolphinView.
[dolphin.git] / src / tests / testbase.cpp
index 59c40fb947a0510475d267f1e75cf079ae289370..52dc59a63f7dc03a942af7a4f5f3e942ebd1c58b 100644 (file)
@@ -33,10 +33,15 @@ QAbstractItemView* TestBase::itemView(const DolphinView* view)
     return view->m_viewAccessor.itemView();
 }
 
+bool TestBase::waitForFinishedPathLoading(DolphinView* view, int milliseconds)
+{
+    return QTest::kWaitForSignal(view, SIGNAL(finishedPathLoading(const KUrl&)), milliseconds);
+}
+
 void TestBase::reloadViewAndWait(DolphinView* view)
 {
     view->reload();
-    QVERIFY(QTest::kWaitForSignal(view, SIGNAL(finishedPathLoading(const KUrl&)), 2000));
+    QVERIFY(waitForFinishedPathLoading(view));
 }
 
 QStringList TestBase::viewItems(const DolphinView* view)
@@ -50,3 +55,19 @@ QStringList TestBase::viewItems(const DolphinView* view)
 
     return itemList;
 }
+
+QStringList TestBase::selectedItems(const DolphinView* view)
+{
+    QStringList itemList;
+    const QAbstractItemModel* model = itemView(view)->model();
+    const QModelIndexList selectedIndexes = itemView(view)->selectionModel()->selectedIndexes();
+
+    for (int row = 0; row < model->rowCount(); row++) {
+        const QModelIndex index = model->index(row, 0);
+        if (selectedIndexes.contains(index)) {
+            itemList << model->data(model->index(row, 0), Qt::DisplayRole).toString();
+        }
+    }
+
+    return itemList;
+}