19class BlockingTestDialogs
22 BlockingTestDialogs(
const QString &testConfigPath, Hdc hdc);
26 bool answerVisibleDialog();
32 QRegularExpression prompt;
33 QList<QRegularExpression> buttons;
43 void loadDeclarations(
const QString &testConfigPath);
44 static std::optional<Dialog> parseDialog(
const QJsonObject &declaration);
46 QList<ScreenText> dumpScreenTexts()
const;
47 static void collectTexts(
const QJsonObject &node, QList<ScreenText> &texts);
49 static bool anyTextMatches(
50 const QList<ScreenText> &texts,
const QRegularExpression &pattern);
51 static std::optional<ScreenText> findButton(
52 const QList<ScreenText> &texts,
const QRegularExpression &pattern,
53 const QString &position);
54 bool pressButtons(
const Dialog &dialog,
const QList<ScreenText> &texts)
const;
55 void reportUnmatchedDialog(
const QList<ScreenText> &texts);
57 QList<Dialog> m_dialogs;
59 QString m_lastReportedUnknownDialog;