aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquickwindow/tst_qquickwindow.cpp')
-rw-r--r--tests/auto/quick/qquickwindow/tst_qquickwindow.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
index 73e45fa719..3735947356 100644
--- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
+++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
@@ -355,6 +355,8 @@ private slots:
void animatingSignal();
+ void contentItemSize();
+
private:
QTouchDevice *touchDevice;
QTouchDevice *touchDeviceWithVelocity;
@@ -1707,6 +1709,38 @@ void tst_qquickwindow::animatingSignal()
QTRY_VERIFY(spy.count() > 1);
}
+// QTBUG-36938
+void tst_qquickwindow::contentItemSize()
+{
+ QQuickWindow window;
+ QQuickItem *contentItem = window.contentItem();
+ QVERIFY(contentItem);
+ QCOMPARE(QSize(contentItem->width(), contentItem->height()), window.size());
+
+ QSizeF size(300, 200);
+ window.resize(size.toSize());
+ window.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&window));
+
+ QCOMPARE(window.size(), size.toSize());
+ QCOMPARE(QSizeF(contentItem->width(), contentItem->height()), size);
+
+ QQmlEngine engine;
+ QQmlComponent component(&engine);
+ component.setData(QByteArray("import QtQuick 2.1\n Rectangle { anchors.fill: parent }"), QUrl());
+ QQuickItem *rect = qobject_cast<QQuickItem *>(component.create());
+ QVERIFY(rect);
+ rect->setParentItem(window.contentItem());
+ QCOMPARE(QSizeF(rect->width(), rect->height()), size);
+
+ size.transpose();
+ window.resize(size.toSize());
+ QCOMPARE(window.size(), size.toSize());
+ // wait for resize event
+ QTRY_COMPARE(QSizeF(contentItem->width(), contentItem->height()), size);
+ QCOMPARE(QSizeF(rect->width(), rect->height()), size);
+}
+
QTEST_MAIN(tst_qquickwindow)
#include "tst_qquickwindow.moc"