mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-01-24 13:41:33 -05:00
Add TestGui::testEditEntry().
This tests that the database isn't marked as modified when we don't change anything but still press the Ok button.
This commit is contained in:
parent
38585663e1
commit
3baaf6be97
@ -39,7 +39,9 @@ DatabaseWidget::DatabaseWidget(Database* db, QWidget* parent)
|
|||||||
QSplitter* splitter = new QSplitter(m_mainWidget);
|
QSplitter* splitter = new QSplitter(m_mainWidget);
|
||||||
|
|
||||||
m_groupView = new GroupView(db, splitter);
|
m_groupView = new GroupView(db, splitter);
|
||||||
|
m_groupView->setObjectName("groupView");
|
||||||
m_entryView = new EntryView(splitter);
|
m_entryView = new EntryView(splitter);
|
||||||
|
m_entryView->setObjectName("entryView");
|
||||||
|
|
||||||
QSizePolicy policy;
|
QSizePolicy policy;
|
||||||
|
|
||||||
@ -58,7 +60,9 @@ DatabaseWidget::DatabaseWidget(Database* db, QWidget* parent)
|
|||||||
m_mainWidget->setLayout(layout);
|
m_mainWidget->setLayout(layout);
|
||||||
|
|
||||||
m_editEntryWidget = new EditEntryWidget();
|
m_editEntryWidget = new EditEntryWidget();
|
||||||
|
m_editEntryWidget->setObjectName("editEntryWidget");
|
||||||
m_editGroupWidget = new EditGroupWidget();
|
m_editGroupWidget = new EditGroupWidget();
|
||||||
|
m_editGroupWidget->setObjectName("editGroupWidget");
|
||||||
m_changeMasterKeyWidget = new ChangeMasterKeyWidget();
|
m_changeMasterKeyWidget = new ChangeMasterKeyWidget();
|
||||||
m_changeMasterKeyWidget->headlineLabel()->setText(tr("Change master key"));
|
m_changeMasterKeyWidget->headlineLabel()->setText(tr("Change master key"));
|
||||||
QFont headlineLabelFont = m_changeMasterKeyWidget->headlineLabel()->font();
|
QFont headlineLabelFont = m_changeMasterKeyWidget->headlineLabel()->font();
|
||||||
|
@ -27,6 +27,10 @@
|
|||||||
#include "config-keepassx-tests.h"
|
#include "config-keepassx-tests.h"
|
||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
#include "crypto/Crypto.h"
|
#include "crypto/Crypto.h"
|
||||||
|
#include "gui/DatabaseTabWidget.h"
|
||||||
|
#include "gui/DatabaseWidget.h"
|
||||||
|
#include "gui/EditEntryWidget.h"
|
||||||
|
#include "gui/EntryView.h"
|
||||||
#include "gui/FileDialog.h"
|
#include "gui/FileDialog.h"
|
||||||
#include "gui/MainWindow.h"
|
#include "gui/MainWindow.h"
|
||||||
|
|
||||||
@ -52,6 +56,7 @@ void TestGui::testOpenDatabase()
|
|||||||
|
|
||||||
QDialogButtonBox* buttonBox = keyDialog->findChild<QDialogButtonBox*>("buttonBox");
|
QDialogButtonBox* buttonBox = keyDialog->findChild<QDialogButtonBox*>("buttonBox");
|
||||||
QTest::mouseClick(buttonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);
|
QTest::mouseClick(buttonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);
|
||||||
|
QTest::qWait(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGui::testTabs()
|
void TestGui::testTabs()
|
||||||
@ -61,6 +66,28 @@ void TestGui::testTabs()
|
|||||||
QCOMPARE(tabWidget->tabText(tabWidget->currentIndex()), QString("NewDatabase.kdbx"));
|
QCOMPARE(tabWidget->tabText(tabWidget->currentIndex()), QString("NewDatabase.kdbx"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TestGui::testEditEntry()
|
||||||
|
{
|
||||||
|
DatabaseTabWidget* tabWidget = m_mainWindow->findChild<DatabaseTabWidget*>("tabWidget");
|
||||||
|
DatabaseWidget* dbWidget = tabWidget->currentDatabaseWidget();
|
||||||
|
EntryView* entryView = dbWidget->findChild<EntryView*>("entryView");
|
||||||
|
QModelIndex item = entryView->model()->index(0, 0);
|
||||||
|
QRect itemRect = entryView->visualRect(item);
|
||||||
|
QTest::mouseClick(entryView->viewport(), Qt::LeftButton, Qt::NoModifier, itemRect.center());
|
||||||
|
QTest::qWait(20);
|
||||||
|
QAction* actionEntryEdit = m_mainWindow->findChild<QAction*>("actionEntryEdit");
|
||||||
|
QVERIFY(actionEntryEdit->isEnabled());
|
||||||
|
actionEntryEdit->trigger();
|
||||||
|
QTest::qWait(20);
|
||||||
|
EditEntryWidget* editEntryWidget = dbWidget->findChild<EditEntryWidget*>("editEntryWidget");
|
||||||
|
QDialogButtonBox* editEntryWidgetButtonBox = editEntryWidget->findChild<QDialogButtonBox*>("buttonBox");
|
||||||
|
QVERIFY(editEntryWidgetButtonBox);
|
||||||
|
QTest::mouseClick(editEntryWidgetButtonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);
|
||||||
|
QTest::qWait(20);
|
||||||
|
// make sure the database isn't marked as modified
|
||||||
|
QCOMPARE(tabWidget->tabText(tabWidget->currentIndex()), QString("NewDatabase.kdbx"));
|
||||||
|
}
|
||||||
|
|
||||||
void TestGui::cleanupTestCase()
|
void TestGui::cleanupTestCase()
|
||||||
{
|
{
|
||||||
delete m_mainWindow;
|
delete m_mainWindow;
|
||||||
|
@ -30,6 +30,7 @@ private Q_SLOTS:
|
|||||||
void initTestCase();
|
void initTestCase();
|
||||||
void testOpenDatabase();
|
void testOpenDatabase();
|
||||||
void testTabs();
|
void testTabs();
|
||||||
|
void testEditEntry();
|
||||||
void cleanupTestCase();
|
void cleanupTestCase();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
Reference in New Issue
Block a user