diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2019-10-23 10:25:23 +0200 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2019-10-24 13:24:55 +0200 |
commit | b6d88c73c4affec93655f97588abc7ae1d53cea0 (patch) | |
tree | fe297621847a922336ec4019fb6d87ec406e4395 /tests | |
parent | 8bc05e07c8bafb8d9eb64839234305fc7fffdd69 (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')
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() |