diff options
Diffstat (limited to 'tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp')
-rw-r--r-- | tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index eb9fa14aa5..9b7286dc0e 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -101,6 +101,7 @@ private slots: void dependenciesWithFunctions(); void deferredProperties(); void deferredPropertiesParent(); + void deferredPropertiesByParent(); void deferredPropertiesErrors(); void deferredPropertiesInComponents(); void deferredPropertiesInDestruction(); @@ -1229,6 +1230,20 @@ void tst_qqmlecmascript::deferredPropertiesParent() qmlExecuteDeferred(object); QCOMPARE(object->baseValue(), 10); } + +void tst_qqmlecmascript::deferredPropertiesByParent() +{ + QQmlEngine engine; + QQmlComponent component(&engine, testFileUrl("deferredPropertiesChild.qml")); + QScopedPointer<QObject> obj(component.create()); + QVERIFY2(obj, qPrintable(component.errorString())); + DeferredByParentChild *object = qobject_cast<DeferredByParentChild *>(obj.data()); + QVERIFY(object != nullptr); + QCOMPARE(object->childValue(), 0); + qmlExecuteDeferred(object); + QCOMPARE(object->childValue(), 10); +} + // Check errors on deferred properties are correctly emitted void tst_qqmlecmascript::deferredPropertiesErrors() { |