X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/95cb8ffe01e0252d3a26f244e8607254200d067f..14bae32f371663d172e1dd39d98080fd8695d991:/src/tests/testbase.cpp diff --git a/src/tests/testbase.cpp b/src/tests/testbase.cpp index 59c40fb94..de323aac2 100644 --- a/src/tests/testbase.cpp +++ b/src/tests/testbase.cpp @@ -33,10 +33,19 @@ QAbstractItemView* TestBase::itemView(const DolphinView* view) return view->m_viewAccessor.itemView(); } +void TestBase::waitForFinishedPathLoading(DolphinView* view, int milliseconds) +{ + // If the signal is not received, somthing is going seriously wrong. + // -> assert here rather than continuing, which might result in test failures which are hard to unterstand. + bool viewHasFinishedLoading = QTest::kWaitForSignal(view, SIGNAL(finishedPathLoading(const KUrl&)), milliseconds); + Q_ASSERT(viewHasFinishedLoading); + Q_UNUSED(viewHasFinishedLoading) // suppress compiler warining is asserts are disabled +} + void TestBase::reloadViewAndWait(DolphinView* view) { view->reload(); - QVERIFY(QTest::kWaitForSignal(view, SIGNAL(finishedPathLoading(const KUrl&)), 2000)); + waitForFinishedPathLoading(view); } QStringList TestBase::viewItems(const DolphinView* view) @@ -50,3 +59,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; +}