diff options
Diffstat (limited to 'src/qmltest')
-rw-r--r-- | src/qmltest/quicktest.cpp | 2 | ||||
-rw-r--r-- | src/qmltest/quicktestresult.cpp | 9 | ||||
-rw-r--r-- | src/qmltest/quicktestresult_p.h | 1 |
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(); |