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.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
index 9e5ba116ad..bb2212f025 100644
--- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
+++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
@@ -550,6 +550,8 @@ private slots:
void visibleVsVisibility_data();
void visibleVsVisibility();
+ void dataIsNotAList();
+
private:
QPointingDevice *touchDevice; // TODO make const after fixing QTBUG-107864
const QPointingDevice *touchDeviceWithVelocity;
@@ -4138,6 +4140,35 @@ void tst_qquickwindow::visibleVsVisibility()
QCOMPARE(window->isVisible(), expectVisible);
}
+void tst_qquickwindow::dataIsNotAList()
+{
+ QQuickWindow window;
+ QObject child;
+ QQmlListProperty<QObject> data = window.property("data").value<QQmlListProperty<QObject>>();
+
+ QVERIFY(data.object);
+ QVERIFY(data.append);
+ QVERIFY(data.count);
+ QVERIFY(data.at);
+ QVERIFY(data.clear);
+ QVERIFY(data.removeLast);
+
+ // We must not synthesize the replace method on this property. QQuickItem doesn't support it.
+ QVERIFY(!data.replace);
+
+ QCOMPARE(data.count(&data), 0);
+ data.append(&data, &child);
+ QCOMPARE(data.count(&data), 1);
+ QCOMPARE(data.at(&data, 0), &child);
+ data.removeLast(&data);
+ QCOMPARE(data.count(&data), 0);
+ data.append(&data, &child);
+ QCOMPARE(data.count(&data), 1);
+ QCOMPARE(data.at(&data, 0), &child);
+ data.clear(&data);
+ QCOMPARE(data.count(&data), 0);
+}
+
QTEST_MAIN(tst_qquickwindow)
#include "tst_qquickwindow.moc"