From 547e2162c872ca5707f5bc54d06b3c39c9bd6477 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 28 Jan 2011 10:24:20 +1000 Subject: Add test for Loader implicitWidth/implicitHeight --- .../qdeclarativeloader/data/implicitSize.qml | 28 ++++++++++++++++++++++ .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 18 ++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativeloader/data/implicitSize.qml diff --git a/tests/auto/declarative/qdeclarativeloader/data/implicitSize.qml b/tests/auto/declarative/qdeclarativeloader/data/implicitSize.qml new file mode 100644 index 0000000..53aad97 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/implicitSize.qml @@ -0,0 +1,28 @@ +import QtQuick 1.1 + +Rectangle { + property real implWidth: 0 + property real implHeight: 0 + color: "green" + width: loader.implicitWidth+50 + height: loader.implicitHeight+50 + + Loader { + id: loader + sourceComponent: Item { + anchors.centerIn: parent + + implicitWidth: 100 + implicitHeight: 100 + Rectangle { + color: "red" + anchors.fill: parent + } + } + + anchors.fill: parent + anchors.margins: 50 + onImplicitWidthChanged: implWidth = implicitWidth + onImplicitHeightChanged: implHeight = loader.implicitHeight + } +} diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index ea8ea16..a5e708b 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -90,6 +90,7 @@ private slots: void vmeErrors(); void creationContext(); void QTBUG_16928(); + void implicitSize(); private: QDeclarativeEngine engine; @@ -603,6 +604,23 @@ void tst_QDeclarativeLoader::QTBUG_16928() delete item; } +void tst_QDeclarativeLoader::implicitSize() +{ + QDeclarativeComponent component(&engine, TEST_FILE("implicitSize.qml")); + QDeclarativeItem *item = qobject_cast(component.create()); + QVERIFY(item); + + QCOMPARE(item->width(), 150.); + QCOMPARE(item->height(), 150.); + + QCOMPARE(item->property("implHeight").toReal(), 100.); + + QEXPECT_FAIL("", "versioned property implicit object reference", Continue); + QCOMPARE(item->property("implWidth").toReal(), 100.); + + delete item; +} + QTEST_MAIN(tst_QDeclarativeLoader) #include "tst_qdeclarativeloader.moc" -- cgit v0.12