19#include <QtQuickTest/private/quicktestglobal_p.h>
20#include <QtQuickTest/quicktest.h>
22#include <QtQml/qqmlpropertymap.h>
23#include <QtQml/qqml.h>
25#include <QtCore/qpointer.h>
32 Q_PROPERTY(
bool windowShown READ windowShown NOTIFY windowShownChanged)
33 Q_PROPERTY(
bool hasTestCase READ hasTestCase WRITE setHasTestCase NOTIFY hasTestCaseChanged)
34 Q_PROPERTY(QObject *defined READ defined)
38 QML_ADDED_IN_VERSION(1, 0)
41 static QTestRootObject *create(QQmlEngine *q, QJSEngine *)
43 QTestRootObject *result = instance();
44 QQmlEngine *engine = qmlEngine(result);
46 return (engine ==
nullptr || engine == q) ? result :
nullptr;
49 static QTestRootObject *instance() {
50 static QPointer<QTestRootObject> object =
new QTestRootObject;
53 object =
new QTestRootObject;
59 bool hasTestCase()
const {
return m_hasTestCase; }
60 void setHasTestCase(
bool value) { m_hasTestCase = value; Q_EMIT hasTestCaseChanged(); }
62 bool windowShown()
const {
return m_windowShown; }
63 void setWindowShown(
bool value) { m_windowShown = value; Q_EMIT windowShownChanged(); }
64 QQmlPropertyMap *defined()
const {
return m_defined; }
66 void init() { setWindowShown(
false); setHasTestCase(
false); hasQuit =
false; }
69 void windowShownChanged();
70 void hasTestCaseChanged();
73 void quit() { hasQuit =
true; }
76 QTestRootObject(QObject *parent =
nullptr)
77 : QObject(parent), hasQuit(
false), m_windowShown(
false), m_hasTestCase(
false) {
78 m_defined = QQmlPropertyMap::create(
this);
79#if defined(QT_OPENGL_ES_2_ANGLE)
80 m_defined->insert(QLatin1String(
"QT_OPENGL_ES_2_ANGLE"), QVariant(
true));
84 bool m_windowShown : 1;
85 bool m_hasTestCase :1;
86 QQmlPropertyMap *m_defined;
89bool qWaitForSignal(QObject *obj,
const char* signal,
int timeout = 5000);
QList< QString > TestCaseList
QList< QQmlError > errors() const
TestCaseList testCases() const
TestCaseCollector(const QFileInfo &fileInfo, QQmlEngine *engine)
bool qWaitForSignal(QObject *obj, const char *signal, int timeout)
static QString stripQuotes(const QString &s)
int quick_test_main(int argc, char **argv, const char *name, const char *sourceDir)
static void handleCompileErrors(const QFileInfo &fi, const QList< QQmlError > &errors, QQmlEngine *engine, QQuickView *view=nullptr)
void maybeInvokeSetupMethod(QObject *setupObject, const char *member, Args &&... args)
int quick_test_main_with_setup(int argc, char **argv, const char *name, const char *sourceDir, QObject *setup)