Skip to content

Commit

Permalink
qt, test: use qsignalspy instead of qeventloop
Browse files Browse the repository at this point in the history
  • Loading branch information
jarolrod committed May 17, 2021
1 parent ecf5f2c commit 7eea659
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/qt/test/apptests.cpp
Expand Up @@ -20,9 +20,9 @@
#endif

#include <QAction>
#include <QEventLoop>
#include <QLineEdit>
#include <QScopedPointer>
#include <QSignalSpy>
#include <QTest>
#include <QTextEdit>
#include <QtGlobal>
Expand All @@ -33,13 +33,14 @@ namespace {
//! Call getblockchaininfo RPC and check first field of JSON output.
void TestRpcCommand(RPCConsole* console)
{
QEventLoop loop;
QTextEdit* messagesWidget = console->findChild<QTextEdit*>("messagesWidget");
QObject::connect(messagesWidget, &QTextEdit::textChanged, &loop, &QEventLoop::quit);
QLineEdit* lineEdit = console->findChild<QLineEdit*>("lineEdit");
QSignalSpy mw_spy(messagesWidget, &QTextEdit::textChanged);
QVERIFY(mw_spy.isValid());
QTest::keyClicks(lineEdit, "getblockchaininfo");
QTest::keyClick(lineEdit, Qt::Key_Return);
loop.exec();
QVERIFY(mw_spy.wait(1000));
QCOMPARE(mw_spy.count(), 2);
QString output = messagesWidget->toPlainText();
UniValue value;
value.read(output.right(output.size() - output.lastIndexOf(QChar::ObjectReplacementCharacter) - 1).toStdString());
Expand Down

0 comments on commit 7eea659

Please sign in to comment.