From: Felix Ernst Date: Fri, 23 Sep 2022 18:35:34 +0000 (+0200) Subject: Increase code coverage of places panel width resistance test X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/75183e609f6fa903afb5c2a9475d8cb10569532f 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. --- diff --git a/src/tests/dolphinmainwindowtest.cpp b/src/tests/dolphinmainwindowtest.cpp index ef972ff25..eefca4204 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);