]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/dolphinviewtest_allviewmodes.cpp
Add test for the keyboard-focus
[dolphin.git] / src / tests / dolphinviewtest_allviewmodes.cpp
index 710ed9d6598af204e1470a5fd145dc40e71e5c70..2873e2c7e94fc35a9624ea22867989c126cd242c 100644 (file)
@@ -109,6 +109,21 @@ void DolphinViewTest_AllViewModes::testSelection() {
     verifySelectedItemsCount(5);
 }
 
+void DolphinViewTest_AllViewModes::testKeyboardFocus()
+{
+    const DolphinView::Mode mode = m_view->mode();
+
+    // The view may not grab the keyboard focus itself. Also when switching
+    // the view-mode, the focus-state must remain.
+    QVERIFY(!m_view->hasFocus());
+    for (int i = 0; i <= DolphinView::MaxModeEnum; ++i) {
+        m_view->setMode(static_cast<DolphinView::Mode>(i));
+        QVERIFY(!m_view->hasFocus());
+    }
+
+    m_view->setMode(mode);
+}
+
 /**
  * verifySelectedItemsCount(int) waits until the DolphinView's selectionChanged(const KFileItemList&)
  * signal is received and checks that the selection state of the view is as expected.
@@ -117,7 +132,7 @@ void DolphinViewTest_AllViewModes::testSelection() {
 void DolphinViewTest_AllViewModes::verifySelectedItemsCount(int itemsCount) const
 {
     QSignalSpy spySelectionChanged(m_view, SIGNAL(selectionChanged(const KFileItemList&)));
-    QTest::kWaitForSignal(m_view, SIGNAL(selectionChanged(const KFileItemList&)));
+    QVERIFY(QTest::kWaitForSignal(m_view, SIGNAL(selectionChanged(const KFileItemList&)), 500));
 
     QCOMPARE(m_view->selectedItems().count(), itemsCount);
     QCOMPARE(m_view->selectedItemsCount(), itemsCount);