aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickwidgets
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2015-03-26 21:34:42 +0100
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2015-03-27 09:28:29 +0000
commit9cd486186e1e4e78f4f1b7e4a9142008a254c8cd (patch)
tree34bbe45bfe86d28851ec8e5c501a2499c3499954 /tests/auto/quickwidgets
parent5ac1654715b3e268d86570c860460f24697f2267 (diff)
QQuickWidget: expose the underlying QQuickWindow
There's a number of APIs (such as all the scenegraph-related signals) that are currently missing from QQuickWidget. Instead of duplicating every API in QQuickWidget, simply expose the underlying offscreen QQuickWindow. Task-number: QTBUG-45260 Change-Id: I1a89fe600ce675963ea24ee6dd56d6ca4fea9cd2 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'tests/auto/quickwidgets')
-rw-r--r--tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
index 1d9e40011d..3da920ca27 100644
--- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
+++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
@@ -58,6 +58,7 @@ private slots:
void errors();
void engine();
void readback();
+ void renderingSignals();
};
@@ -259,6 +260,38 @@ void tst_qquickwidget::readback()
QCOMPARE(pix, qRgb(255, 0, 0));
}
+void tst_qquickwidget::renderingSignals()
+{
+ QQuickWidget widget;
+ QQuickWindow *window = widget.quickWindow();
+ QVERIFY(window);
+
+ QSignalSpy beforeRenderingSpy(window, &QQuickWindow::beforeRendering);
+ QSignalSpy beforeSyncSpy(window, &QQuickWindow::beforeSynchronizing);
+ QSignalSpy afterRenderingSpy(window, &QQuickWindow::afterRendering);
+
+ QVERIFY(beforeRenderingSpy.isValid());
+ QVERIFY(beforeSyncSpy.isValid());
+ QVERIFY(afterRenderingSpy.isValid());
+
+ QCOMPARE(beforeRenderingSpy.size(), 0);
+ QCOMPARE(beforeSyncSpy.size(), 0);
+ QCOMPARE(afterRenderingSpy.size(), 0);
+
+ widget.setSource(testFileUrl("rectangle.qml"));
+
+ QCOMPARE(beforeRenderingSpy.size(), 0);
+ QCOMPARE(beforeSyncSpy.size(), 0);
+ QCOMPARE(afterRenderingSpy.size(), 0);
+
+ widget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&widget, 5000));
+
+ QTRY_VERIFY(beforeRenderingSpy.size() > 0);
+ QTRY_VERIFY(beforeSyncSpy.size() > 0);
+ QTRY_VERIFY(afterRenderingSpy.size() > 0);
+}
+
QTEST_MAIN(tst_qquickwidget)
#include "tst_qquickwidget.moc"