Add test cases for enabled status of DolphinNewFileMenu

Summary:
Root and Trash test cases are currently failing because of
commit e133c4557e.

Reviewers: #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D16005
This commit is contained in:
Elvis Angelaccio 2018-10-07 13:05:55 +02:00
parent 5d180c5bb2
commit dec7016c0d
2 changed files with 29 additions and 0 deletions

View file

@ -1066,6 +1066,7 @@ void DolphinMainWindow::setupActions()
{
// setup 'File' menu
m_newFileMenu = new DolphinNewFileMenu(actionCollection(), this);
m_newFileMenu->setObjectName("newFileMenu");
QMenu* menu = m_newFileMenu->menu();
menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New"));
menu->setIcon(QIcon::fromTheme(QStringLiteral("document-new")));

View file

@ -18,6 +18,7 @@
***************************************************************************/
#include "dolphinmainwindow.h"
#include "dolphinnewfilemenu.h"
#include "dolphintabpage.h"
#include "dolphintabwidget.h"
#include "dolphinviewcontainer.h"
@ -39,6 +40,8 @@ private slots:
void testActiveViewAfterClosingSplitView_data();
void testActiveViewAfterClosingSplitView();
void testUpdateWindowTitleAfterClosingSplitView();
void testNewFileMenuEnabled_data();
void testNewFileMenuEnabled();
private:
QScopedPointer<DolphinMainWindow> m_mainWindow;
@ -170,6 +173,31 @@ void DolphinMainWindowTest::testUpdateWindowTitleAfterClosingSplitView()
QCOMPARE(currentUrlChangedSpy.count(), 1);
}
void DolphinMainWindowTest::testNewFileMenuEnabled_data()
{
QTest::addColumn<QUrl>("activeViewUrl");
QTest::addColumn<bool>("expectedEnabled");
QTest::newRow("home") << QUrl::fromLocalFile(QDir::homePath()) << true;
QTest::newRow("root") << QUrl::fromLocalFile(QDir::rootPath()) << false;
QTest::newRow("trash") << QUrl::fromUserInput(QStringLiteral("trash:/")) << false;
}
void DolphinMainWindowTest::testNewFileMenuEnabled()
{
QFETCH(QUrl, activeViewUrl);
m_mainWindow->openDirectories({ activeViewUrl }, false);
m_mainWindow->show();
QVERIFY(QTest::qWaitForWindowExposed(m_mainWindow.data()));
QVERIFY(m_mainWindow->isVisible());
auto newFileMenu = m_mainWindow->findChild<DolphinNewFileMenu*>("newFileMenu");
QVERIFY(newFileMenu);
QFETCH(bool, expectedEnabled);
QCOMPARE(newFileMenu->isEnabled(), expectedEnabled);
}
QTEST_MAIN(DolphinMainWindowTest)
#include "dolphinmainwindowtest.moc"