aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickitem2
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquickitem2')
-rw-r--r--tests/auto/quick/qquickitem2/data/childrenRectBottomRightCorner.qml47
-rw-r--r--tests/auto/quick/qquickitem2/tst_qquickitem.cpp17
2 files changed, 64 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickitem2/data/childrenRectBottomRightCorner.qml b/tests/auto/quick/qquickitem2/data/childrenRectBottomRightCorner.qml
new file mode 100644
index 0000000000..0b83e20b20
--- /dev/null
+++ b/tests/auto/quick/qquickitem2/data/childrenRectBottomRightCorner.qml
@@ -0,0 +1,47 @@
+import QtQuick 2.0
+
+Item {
+ width: 300
+ height: 300
+
+ Item {
+ anchors.centerIn: parent
+
+ Rectangle {
+ objectName: "childrenRectProxy"
+ x: container.childrenRect.x
+ y: container.childrenRect.y
+ width: container.childrenRect.width
+ height: container.childrenRect.height
+ color: "red"
+ opacity: 0.5
+ }
+
+ Item {
+ id: container
+
+ Rectangle {
+ x: -100
+ y: -100
+ width: 10
+ height: 10
+ color: "red"
+ }
+
+ Rectangle {
+ x: -60
+ y: -60
+ width: 10
+ height: 10
+ color: "red"
+ }
+ }
+
+ Rectangle {
+ id: origin
+ width: 5
+ height: 5
+ color: "black"
+ }
+ }
+}
diff --git a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp
index a31f7ab9ce..c7717b9cca 100644
--- a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp
+++ b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp
@@ -104,6 +104,7 @@ private slots:
void childrenRectBug();
void childrenRectBug2();
void childrenRectBug3();
+ void childrenRectBottomRightCorner();
void childrenProperty();
void resourcesProperty();
@@ -2595,6 +2596,22 @@ void tst_QQuickItem::childrenRectBug3()
delete window;
}
+// QTBUG-38732
+void tst_QQuickItem::childrenRectBottomRightCorner()
+{
+ QQuickView *window = new QQuickView(0);
+ window->setSource(testFileUrl("childrenRectBottomRightCorner.qml"));
+ window->show();
+
+ QQuickItem *rect = window->rootObject()->findChild<QQuickItem*>("childrenRectProxy");
+ QCOMPARE(rect->x(), qreal(-100));
+ QCOMPARE(rect->y(), qreal(-100));
+ QCOMPARE(rect->width(), qreal(50));
+ QCOMPARE(rect->height(), qreal(50));
+
+ delete window;
+}
+
// QTBUG-13893
void tst_QQuickItem::transformCrash()
{