aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2019-10-23 10:25:23 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2019-10-24 13:24:55 +0200
commitb6d88c73c4affec93655f97588abc7ae1d53cea0 (patch)
treefe297621847a922336ec4019fb6d87ec406e4395 /tests
parent8bc05e07c8bafb8d9eb64839234305fc7fffdd69 (diff)
Loader: Actually clear initial properties when changing source
Fixes: QTBUG-79435 Change-Id: Ic99a3b1a9d64426a64117b90a3e11fe99af0d260 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qquickloader/data/CacheClearTest.qml4
-rw-r--r--tests/auto/quick/qquickloader/data/initialPropertyValues.11.qml20
-rw-r--r--tests/auto/quick/qquickloader/tst_qquickloader.cpp5
3 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickloader/data/CacheClearTest.qml b/tests/auto/quick/qquickloader/data/CacheClearTest.qml
new file mode 100644
index 0000000000..acab79f96e
--- /dev/null
+++ b/tests/auto/quick/qquickloader/data/CacheClearTest.qml
@@ -0,0 +1,4 @@
+import QtQml 2.12
+QtObject {
+ property int i: 42
+}
diff --git a/tests/auto/quick/qquickloader/data/initialPropertyValues.11.qml b/tests/auto/quick/qquickloader/data/initialPropertyValues.11.qml
new file mode 100644
index 0000000000..ddc874d14c
--- /dev/null
+++ b/tests/auto/quick/qquickloader/data/initialPropertyValues.11.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+ property int oldi: 0
+ property int i: 0
+
+ Loader {
+ id: loader
+ objectName: "loader"
+ active: true
+ }
+
+ Component.onCompleted: {
+ loader.setSource("CacheClearTest.qml", {i: 12})
+ root.oldi = loader.item.i
+ loader.setSource("CacheClearTest.qml")
+ root.i = loader.item.i // should be 42
+ }
+}
diff --git a/tests/auto/quick/qquickloader/tst_qquickloader.cpp b/tests/auto/quick/qquickloader/tst_qquickloader.cpp
index fbdd87905b..d0a1a8a45b 100644
--- a/tests/auto/quick/qquickloader/tst_qquickloader.cpp
+++ b/tests/auto/quick/qquickloader/tst_qquickloader.cpp
@@ -681,6 +681,11 @@ void tst_QQuickLoader::initialPropertyValues_data()
<< QStringList()
<< (QStringList() << "initialValue")
<< (QVariantList() << 6);
+
+ QTest::newRow("source url changed, previously initial properties are discared") << testFileUrl("initialPropertyValues.11.qml")
+ << QStringList()
+ << (QStringList() << "oldi" << "i")
+ << (QVariantList() << 12 << 42);
}
void tst_QQuickLoader::initialPropertyValues()