aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmltest')
-rw-r--r--src/qmltest/quicktest.cpp2
-rw-r--r--src/qmltest/quicktestresult.cpp9
-rw-r--r--src/qmltest/quicktestresult_p.h1
3 files changed, 11 insertions, 1 deletions
diff --git a/src/qmltest/quicktest.cpp b/src/qmltest/quicktest.cpp
index ef026d4573..cfa503a113 100644
--- a/src/qmltest/quicktest.cpp
+++ b/src/qmltest/quicktest.cpp
@@ -147,7 +147,7 @@ void handleCompileErrors(const QFileInfo &fi, QQuickView *view)
results.stopLogging();
}
-static bool qWaitForSignal(QObject *obj, const char* signal, int timeout = 5000)
+bool qWaitForSignal(QObject *obj, const char* signal, int timeout = 5000)
{
QSignalSpy spy(obj, signal);
QElapsedTimer timer;
diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp
index f6fd873011..751ee9e6f4 100644
--- a/src/qmltest/quicktestresult.cpp
+++ b/src/qmltest/quicktestresult.cpp
@@ -65,6 +65,8 @@ static const char *globalProgramName = 0;
static bool loggingStarted = false;
static QBenchmarkGlobalData globalBenchmarkData;
+extern bool qWaitForSignal(QObject *obj, const char* signal, int timeout = 5000);
+
class Q_QUICK_TEST_EXPORT QuickTestImageObject : public QObject
{
Q_OBJECT
@@ -573,6 +575,13 @@ void QuickTestResult::sleep(int ms)
QTest::qSleep(ms);
}
+bool QuickTestResult::waitForRendering(QQuickItem *item, int timeout)
+{
+ Q_ASSERT(item);
+
+ return qWaitForSignal(item->canvas(), SIGNAL(frameSwapped()), timeout);
+}
+
void QuickTestResult::startMeasurement()
{
Q_D(QuickTestResult);
diff --git a/src/qmltest/quicktestresult_p.h b/src/qmltest/quicktestresult_p.h
index 0ef41ade29..448f2da954 100644
--- a/src/qmltest/quicktestresult_p.h
+++ b/src/qmltest/quicktestresult_p.h
@@ -132,6 +132,7 @@ public Q_SLOTS:
void wait(int ms);
void sleep(int ms);
+ bool waitForRendering(QQuickItem *item, int timeout = 5000);
void startMeasurement();
void beginDataRun();