X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/dec7016c0d52129340a5b47f6de4df8af5115e21..200bc71130f4e60c28cdc7d32249eeb321e71d13:/src/tests/dolphinmainwindowtest.cpp diff --git a/src/tests/dolphinmainwindowtest.cpp b/src/tests/dolphinmainwindowtest.cpp index 0dc330124..3d09699fe 100644 --- a/src/tests/dolphinmainwindowtest.cpp +++ b/src/tests/dolphinmainwindowtest.cpp @@ -40,9 +40,12 @@ private slots: void testActiveViewAfterClosingSplitView_data(); void testActiveViewAfterClosingSplitView(); void testUpdateWindowTitleAfterClosingSplitView(); + void testUpdateWindowTitleAfterChangingSplitView(); + void testOpenInNewTabTitle(); void testNewFileMenuEnabled_data(); void testNewFileMenuEnabled(); + private: QScopedPointer m_mainWindow; }; @@ -173,6 +176,55 @@ void DolphinMainWindowTest::testUpdateWindowTitleAfterClosingSplitView() QCOMPARE(currentUrlChangedSpy.count(), 1); } +// Test case for bug #402641 +void DolphinMainWindowTest::testUpdateWindowTitleAfterChangingSplitView() +{ + m_mainWindow->openDirectories({ QUrl::fromLocalFile(QDir::homePath()) }, false); + m_mainWindow->show(); + QVERIFY(QTest::qWaitForWindowExposed(m_mainWindow.data())); + QVERIFY(m_mainWindow->isVisible()); + + auto tabWidget = m_mainWindow->findChild("tabWidget"); + QVERIFY(tabWidget); + + // Open split view. + m_mainWindow->actionCollection()->action(QStringLiteral("split_view"))->trigger(); + QVERIFY(tabWidget->currentTabPage()->splitViewEnabled()); + + auto leftViewContainer = tabWidget->currentTabPage()->primaryViewContainer(); + auto rightViewContainer = tabWidget->currentTabPage()->secondaryViewContainer(); + + // Store old window title. + const auto oldTitle = m_mainWindow->windowTitle(); + + // Change URL in the right view and make sure the title gets updated. + rightViewContainer->setUrl(QUrl::fromLocalFile(QDir::rootPath())); + QVERIFY(m_mainWindow->windowTitle() != oldTitle); + + // Activate back the left view and check whether the old title gets restored. + leftViewContainer->setActive(true); + QCOMPARE(m_mainWindow->windowTitle(), oldTitle); +} + +// Test case for bug #397910 +void DolphinMainWindowTest::testOpenInNewTabTitle() +{ + m_mainWindow->openDirectories({ QUrl::fromLocalFile(QDir::homePath()) }, false); + m_mainWindow->show(); + QVERIFY(QTest::qWaitForWindowExposed(m_mainWindow.data())); + QVERIFY(m_mainWindow->isVisible()); + + auto tabWidget = m_mainWindow->findChild("tabWidget"); + QVERIFY(tabWidget); + + tabWidget->openNewTab(QUrl::fromLocalFile(QDir::tempPath())); + QCOMPARE(tabWidget->count(), 2); + QVERIFY(tabWidget->tabText(0) != tabWidget->tabText(1)); + if (!tabWidget->tabIcon(0).isNull() && !tabWidget->tabIcon(1).isNull()) { + QVERIFY(tabWidget->tabIcon(0).name() != tabWidget->tabIcon(1).name()); + } +} + void DolphinMainWindowTest::testNewFileMenuEnabled_data() { QTest::addColumn("activeViewUrl"); @@ -191,11 +243,11 @@ void DolphinMainWindowTest::testNewFileMenuEnabled() QVERIFY(QTest::qWaitForWindowExposed(m_mainWindow.data())); QVERIFY(m_mainWindow->isVisible()); - auto newFileMenu = m_mainWindow->findChild("newFileMenu"); + auto newFileMenu = m_mainWindow->findChild("new_menu"); QVERIFY(newFileMenu); QFETCH(bool, expectedEnabled); - QCOMPARE(newFileMenu->isEnabled(), expectedEnabled); + QTRY_COMPARE(newFileMenu->isEnabled(), expectedEnabled); } QTEST_MAIN(DolphinMainWindowTest)