diff options
Diffstat (limited to 'tests/auto/quick/qquickwindow/tst_qquickwindow.cpp')
-rw-r--r-- | tests/auto/quick/qquickwindow/tst_qquickwindow.cpp | 34 |
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" |