From 75183e609f6fa903afb5c2a9475d8cb10569532f Mon Sep 17 00:00:00 2001 From: Felix Ernst Date: Fri, 23 Sep 2022 20:35:34 +0200 Subject: [PATCH] Increase code coverage of places panel width resistance test Improve the test by also testing the various selection mode bars. No combination of bars should lead to a resize of the paces panel. This commit also helps with increasing code coverage by making all possible selection mode bars appear. --- src/tests/dolphinmainwindowtest.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/tests/dolphinmainwindowtest.cpp b/src/tests/dolphinmainwindowtest.cpp index ef972ff259..eefca42049 100644 --- a/src/tests/dolphinmainwindowtest.cpp +++ b/src/tests/dolphinmainwindowtest.cpp @@ -277,6 +277,7 @@ void DolphinMainWindowTest::testPlacesPanelWidthResistance() { m_mainWindow->openDirectories({ QUrl::fromLocalFile(QDir::homePath()) }, false); m_mainWindow->show(); + m_mainWindow->resize(800, m_mainWindow->height()); // make sure the size is sufficient so a places panel resize shouldn't be necessary. QVERIFY(QTest::qWaitForWindowExposed(m_mainWindow.data())); QVERIFY(m_mainWindow->isVisible()); @@ -292,6 +293,16 @@ void DolphinMainWindowTest::testPlacesPanelWidthResistance() m_mainWindow->actionCollection()->action(QStringLiteral("show_filter_bar"))->trigger(); QCOMPARE(placesPanel->width(), initialPlacesPanelWidth); + // Make all selection mode bars appear and test for each that this doesn't affect the places panel's width. + // One of the bottom bars (SelectionMode::BottomBar::GeneralContents) only shows up when at least one item is selected so we do that before we begin iterating. + m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::SelectAll))->trigger(); + for (int selectionModeStates = SelectionMode::BottomBar::CopyContents; selectionModeStates != SelectionMode::BottomBar::RenameContents; selectionModeStates++) { + const auto contents = static_cast(selectionModeStates); + m_mainWindow->slotSetSelectionMode(true, contents); + QTest::qWait(20); // give time for a paint/resize + QCOMPARE(placesPanel->width(), initialPlacesPanelWidth); + } + m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Find))->trigger(); QCOMPARE(placesPanel->width(), initialPlacesPanelWidth);