[Tests] Name the menus and dialogs the shell GUI tests drive (#7695)

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-11-04 06:23:44 +01:00 • committed by GitHub
parent ee57d740c2
commit d2abd645e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 81 additions and 0 deletions

View file

@ -0,0 +1,11 @@
<events>
<!-- Open and close Settings dialog (modal exec) -->
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
<event widget="MainWindow/settingsDialog" command="key" arguments="16777216" />
<!-- Open and close About dialog (modal exec) -->
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&amp;About Cockatrice" />
<event widget="MainWindow/aboutDialog" command="key" arguments="16777216" />
</events>

View file

@ -0,0 +1,19 @@
<events>
<!-- Test 1: Open and close each top-level menu -->
<!-- Cockatrice menu -->
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
<event widget="MainWindow" command="key" arguments="16777216" />
<!-- Database menu -->
<event widget="MainWindow/menubar" command="activate" arguments="dbMenu" />
<event widget="MainWindow" command="key" arguments="16777216" />
<!-- Tabs menu -->
<event widget="MainWindow/menubar" command="activate" arguments="tabsMenu" />
<event widget="MainWindow" command="key" arguments="16777216" />
<!-- Help menu -->
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
<event widget="MainWindow" command="key" arguments="16777216" />
</events>

View file

@ -0,0 +1,6 @@
<events>
<!-- Test non-modal dialog lifecycle: open and close Manage Sets (QMainWindow) -->
<event widget="MainWindow/menubar" command="activate" arguments="dbMenu" />
<event widget="MainWindow/menubar/dbMenu" command="activate" arguments="&amp;Manage sets..." />
<event widget="MainWindow/manageSetsWindow" command="key" arguments="16777216" />
</events>

View file

@ -0,0 +1,6 @@
<events>
<!-- Test non-modal dialog lifecycle: open and close Tip of the Day -->
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&amp;Tip of the Day" />
<event widget="MainWindow/tipOfTheDayDialog" command="key" arguments="16777216" />
</events>

View file

@ -0,0 +1,6 @@
<events>
<!-- Test non-modal dialog lifecycle: open and close ViewLog -->
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="View &amp;Debug Log" />
<event widget="MainWindow/viewLogDialog" command="key" arguments="16777216" />
</events>

View file

@ -0,0 +1,6 @@
<events>
<!-- Open Settings dialog via Cockatrice menu, then close with Escape -->
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
<event widget="MainWindow/settingsDialog" command="key" arguments="16777216" />
</events>

View file

@ -33,6 +33,7 @@ class QWidget;
DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent) DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent)
{ {
setObjectName("connectDialog");
previousHostButton = new QRadioButton(tr("Known Hosts"), this); previousHostButton = new QRadioButton(tr("Known Hosts"), this);
previousHosts = new QComboBox(this); previousHosts = new QComboBox(this);
@ -85,6 +86,11 @@ DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent)
passwordLabel->setBuddy(passwordEdit); passwordLabel->setBuddy(passwordEdit);
passwordEdit->setEchoMode(QLineEdit::Password); passwordEdit->setEchoMode(QLineEdit::Password);
hostEdit->setObjectName("connectHostEdit");
portEdit->setObjectName("connectPortEdit");
playernameEdit->setObjectName("connectPlayernameEdit");
passwordEdit->setObjectName("connectPasswordEdit");
savePasswordCheckBox = new QCheckBox(tr("&Save password")); savePasswordCheckBox = new QCheckBox(tr("&Save password"));
autoConnectCheckBox = new QCheckBox(tr("A&uto connect")); autoConnectCheckBox = new QCheckBox(tr("A&uto connect"));

View file

@ -40,6 +40,7 @@ class QWidget;
DlgEditTokens::DlgEditTokens(QWidget *parent) : QDialog(parent), currentCard(nullptr) DlgEditTokens::DlgEditTokens(QWidget *parent) : QDialog(parent), currentCard(nullptr)
{ {
setObjectName("editTokensDialog");
nameLabel = new QLabel(tr("&Name:")); nameLabel = new QLabel(tr("&Name:"));
nameEdit = new QLineEdit; nameEdit = new QLineEdit;
nameEdit->setMaxLength(MAX_NAME_LENGTH); nameEdit->setMaxLength(MAX_NAME_LENGTH);

View file

@ -48,6 +48,7 @@
WndSets::WndSets(QWidget *parent) : QMainWindow(parent) WndSets::WndSets(QWidget *parent) : QMainWindow(parent)
{ {
setObjectName("manageSetsWindow");
setOrderIsSorted = false; setOrderIsSorted = false;
// left toolbar // left toolbar
@ -221,6 +222,7 @@ WndSets::WndSets(QWidget *parent) : QMainWindow(parent)
WndSets::~WndSets() WndSets::~WndSets()
{ {
disconnect(view->header(), &QHeaderView::geometriesChanged, this, &WndSets::saveHeaderState);
} }
void WndSets::closeEvent(QCloseEvent * /*ev*/) void WndSets::closeEvent(QCloseEvent * /*ev*/)

View file

@ -73,6 +73,8 @@ DlgSettings::DlgSettings(QWidget *parent) : QDialog(parent)
resize(calculateDialogSize(hostSize, available.size(), minimum)); resize(calculateDialogSize(hostSize, available.size(), minimum));
setSizeGripEnabled(true); setSizeGripEnabled(true);
setObjectName("settingsDialog");
connect(&SettingsCache::instance().personal(), &PersonalSettings::langChanged, this, &DlgSettings::updateLanguage); connect(&SettingsCache::instance().personal(), &PersonalSettings::langChanged, this, &DlgSettings::updateLanguage);
settingsView = new SettingsView(this); settingsView = new SettingsView(this);
@ -82,6 +84,7 @@ DlgSettings::DlgSettings(QWidget *parent) : QDialog(parent)
buttonBox->addStretch(); buttonBox->addStretch();
okButton = new QPushButton; okButton = new QPushButton;
okButton->setDefault(true); okButton->setDefault(true);
okButton->setObjectName("settingsOkButton");
connect(okButton, &QPushButton::clicked, this, &DlgSettings::close); connect(okButton, &QPushButton::clicked, this, &DlgSettings::close);
buttonBox->addWidget(okButton); buttonBox->addWidget(okButton);

View file

@ -28,6 +28,7 @@
DlgTipOfTheDay::DlgTipOfTheDay(QWidget *parent) : QDialog(parent) DlgTipOfTheDay::DlgTipOfTheDay(QWidget *parent) : QDialog(parent)
{ {
setObjectName("tipOfTheDayDialog");
successfulInit = false; successfulInit = false;
QString xmlPath = "theme:tips/tips_of_the_day.xml"; QString xmlPath = "theme:tips/tips_of_the_day.xml";
tipDatabase = new TipsOfTheDay(xmlPath, this); tipDatabase = new TipsOfTheDay(xmlPath, this);

View file

@ -42,6 +42,7 @@ static const QString UPDATE_INSTALLER_OVERRIDE = "Cockatrice-Update-Override.exe
DlgUpdate::DlgUpdate(QWidget *parent) : QDialog(parent) DlgUpdate::DlgUpdate(QWidget *parent) : QDialog(parent)
{ {
setObjectName("updateDialog");
// Handle layout // Handle layout
statusLabel = new QLabel(this); statusLabel = new QLabel(this);

View file

@ -18,6 +18,7 @@ class QWidget;
DlgViewLog::DlgViewLog(QWidget *parent) : QDialog(parent) DlgViewLog::DlgViewLog(QWidget *parent) : QDialog(parent)
{ {
setObjectName("viewLogDialog");
logArea = new QPlainTextEdit; logArea = new QPlainTextEdit;
logArea->setReadOnly(true); logArea->setReadOnly(true);

View file

@ -431,24 +431,33 @@ void MainWindow::retranslateUi()
void MainWindow::createActions() void MainWindow::createActions()
{ {
aConnect = new QAction(this); aConnect = new QAction(this);
aConnect->setObjectName("actionConnect");
connect(aConnect, &QAction::triggered, this, &MainWindow::actConnect); connect(aConnect, &QAction::triggered, this, &MainWindow::actConnect);
aDisconnect = new QAction(this); aDisconnect = new QAction(this);
aDisconnect->setObjectName("actionDisconnect");
aDisconnect->setEnabled(false); aDisconnect->setEnabled(false);
connect(aDisconnect, &QAction::triggered, this, &MainWindow::actDisconnect); connect(aDisconnect, &QAction::triggered, this, &MainWindow::actDisconnect);
aSinglePlayer = new QAction(this); aSinglePlayer = new QAction(this);
aSinglePlayer->setObjectName("actionSinglePlayer");
connect(aSinglePlayer, &QAction::triggered, this, &MainWindow::actSinglePlayer); connect(aSinglePlayer, &QAction::triggered, this, &MainWindow::actSinglePlayer);
aWatchReplay = new QAction(this); aWatchReplay = new QAction(this);
aWatchReplay->setObjectName("actionWatchReplay");
connect(aWatchReplay, &QAction::triggered, this, &MainWindow::actWatchReplay); connect(aWatchReplay, &QAction::triggered, this, &MainWindow::actWatchReplay);
aFullScreen = new QAction(this); aFullScreen = new QAction(this);
aFullScreen->setObjectName("actionFullScreen");
aFullScreen->setCheckable(true); aFullScreen->setCheckable(true);
connect(aFullScreen, &QAction::toggled, this, &MainWindow::actFullScreen); connect(aFullScreen, &QAction::toggled, this, &MainWindow::actFullScreen);
aRegister = new QAction(this); aRegister = new QAction(this);
aRegister->setObjectName("actionRegister");
connect(aRegister, &QAction::triggered, connectionController, &ConnectionController::registerToServer); connect(aRegister, &QAction::triggered, connectionController, &ConnectionController::registerToServer);
aForgotPassword = new QAction(this); aForgotPassword = new QAction(this);
aForgotPassword->setObjectName("actionForgotPassword");
connect(aForgotPassword, &QAction::triggered, connectionController, &ConnectionController::forgotPasswordRequest); connect(aForgotPassword, &QAction::triggered, connectionController, &ConnectionController::forgotPasswordRequest);
aSettings = new QAction(this); aSettings = new QAction(this);
aSettings->setObjectName("actionSettings");
connect(aSettings, &QAction::triggered, this, &MainWindow::actSettings); connect(aSettings, &QAction::triggered, this, &MainWindow::actSettings);
aExit = new QAction(this); aExit = new QAction(this);
aExit->setObjectName("actionExit");
connect(aExit, &QAction::triggered, this, &MainWindow::actExit); connect(aExit, &QAction::triggered, this, &MainWindow::actExit);
aManageSets = new QAction(QString(), this); aManageSets = new QAction(QString(), this);
@ -533,6 +542,7 @@ void MainWindow::createMenus()
{ {
menuBar()->setObjectName("menubar"); menuBar()->setObjectName("menubar");
cockatriceMenu = menuBar()->addMenu(QString()); cockatriceMenu = menuBar()->addMenu(QString());
cockatriceMenu->setObjectName("cockatriceMenu");
cockatriceMenu->addAction(aConnect); cockatriceMenu->addAction(aConnect);
cockatriceMenu->addAction(aDisconnect); cockatriceMenu->addAction(aDisconnect);
cockatriceMenu->addAction(aRegister); cockatriceMenu->addAction(aRegister);
@ -548,6 +558,7 @@ void MainWindow::createMenus()
cockatriceMenu->addAction(aExit); cockatriceMenu->addAction(aExit);
dbMenu = menuBar()->addMenu(QString()); dbMenu = menuBar()->addMenu(QString());
dbMenu->setObjectName("dbMenu");
dbMenu->addAction(aManageSets); dbMenu->addAction(aManageSets);
dbMenu->addAction(aEditTokens); dbMenu->addAction(aEditTokens);
dbMenu->addSeparator(); dbMenu->addSeparator();
@ -558,6 +569,7 @@ void MainWindow::createMenus()
dbMenu->addAction(aReloadCardDatabase); dbMenu->addAction(aReloadCardDatabase);
tabsMenu = menuBar()->addMenu(QString()); tabsMenu = menuBar()->addMenu(QString());
tabsMenu->setObjectName("tabsMenu");
helpMenu = menuBar()->addMenu(QString()); helpMenu = menuBar()->addMenu(QString());
helpMenu->setObjectName("helpMenu"); helpMenu->setObjectName("helpMenu");