From e85b2ef0ad634e69d8b20ba311027f2efe7359e7 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Wed, 26 Jan 2011 13:12:49 +0000 Subject: [PATCH] Improve DolphinViewTest_AllViewModes::testKeyboardFocus(). The test assumes that the view does not have the keyboard focus initially. However, this may not be the case if this is the only test to be executed (i.e., if testKeyboardFocus is passed to the test executable on the command line). This commit transfers the keyboard focus explicitly to another widget. svn path=/trunk/KDE/kdebase/apps/; revision=1217251 --- src/tests/dolphinviewtest_allviewmodes.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/tests/dolphinviewtest_allviewmodes.cpp b/src/tests/dolphinviewtest_allviewmodes.cpp index 3eb78c0d2..36285a959 100644 --- a/src/tests/dolphinviewtest_allviewmodes.cpp +++ b/src/tests/dolphinviewtest_allviewmodes.cpp @@ -217,14 +217,25 @@ void DolphinViewTest_AllViewModes::testViewPropertySettings() * testKeyboardFocus() checks whether a view grabs the keyboard focus. * * A view may never grab the keyboard focus itself and must respect the focus-state - * when switching the view mode. + * when switching the view mode, see + * + * https://bugs.kde.org/show_bug.cgi?id=261147 */ void DolphinViewTest_AllViewModes::testKeyboardFocus() { const DolphinView::Mode mode = m_view->mode(); + // Move keyboard focus to another widget. To see that this is needed, run only this test, + // i.e., pass 'testKeyboardFocus' as a parameter on the command line. + QWidget widget; + widget.show(); + QTest::qWaitForWindowShown(&widget); + widget.setFocus(); + QVERIFY(!m_view->hasFocus()); + + // Switch view modes and verify that the view does not get the focus back for (int i = 0; i <= DolphinView::MaxModeEnum; ++i) { m_view->setMode(static_cast(i)); QVERIFY(!m_view->hasFocus()); -- 2.47.3