diff --git a/lang/qt/tests/t-keylist.cpp b/lang/qt/tests/t-keylist.cpp index 8aa59990..f5c7f131 100644 --- a/lang/qt/tests/t-keylist.cpp +++ b/lang/qt/tests/t-keylist.cpp @@ -1,15 +1,20 @@ #include #include +#include #include "keylistjob.h" #include "qgpgmebackend.h" #include "keylistresult.h" using namespace QGpgME; +using namespace GpgME; class KeyListTest : public QObject { Q_OBJECT +Q_SIGNALS: + void asyncDone(); + private Q_SLOTS: void testSingleKeyListSync() @@ -24,6 +29,19 @@ private Q_SLOTS: Q_ASSERT (kId == QStringLiteral("2D727CC768697734")); } + void testKeyListAsync() + { + KeyListJob *job = openpgp()->keyListJob(); + connect(job, &KeyListJob::result, job, [this, job](KeyListResult, std::vector keys, QString, Error) + { + Q_ASSERT(keys.size() == 1); + Q_EMIT asyncDone(); + }); + job->start(QStringList() << "alfa@example.net"); + QSignalSpy spy (this, &KeyListTest::asyncDone); + Q_ASSERT(spy.wait()); + } + void initTestCase() { const QString gpgHome = qgetenv("GNUPGHOME");