aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-02-26 10:53:02 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-02 14:48:59 +0100
commit849de77470ca81bc97a547af28c4caa3b8a84078 (patch)
tree91fac20f584c89deb375363a94b73145828107ca /tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
parentbf47d66216e649fe947956e02edd0a4b24ddb0fe (diff)
[new compiler] Fix implicit component determination inside group properties
Don't only scan full-typed objects for property bindings that may define components implicitly, do this for any types we know (propertyCache populated) and that aren't explicitly of Component type. Change-Id: I918b636be6d524e919cdd4efd49c33e63da64de3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp')
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index 826bd124b7..07644bef16 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -117,6 +117,7 @@ private slots:
void dynamicSignalsAndSlots();
void simpleBindings();
void autoComponentCreation();
+ void autoComponentCreationInGroupProperty();
void propertyValueSource();
void attachedProperties();
void dynamicObjects();
@@ -1351,6 +1352,18 @@ void tst_qqmllanguage::autoComponentCreation()
QCOMPARE(child->realProperty(), qreal(9));
}
+void tst_qqmllanguage::autoComponentCreationInGroupProperty()
+{
+ QQmlComponent component(&engine, testFileUrl("autoComponentCreationInGroupProperties.qml"));
+ VERIFY_ERRORS(0);
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+ QVERIFY(object->componentProperty() != 0);
+ MyTypeObject *child = qobject_cast<MyTypeObject *>(object->componentProperty()->create());
+ QVERIFY(child != 0);
+ QCOMPARE(child->realProperty(), qreal(9));
+}
+
void tst_qqmllanguage::propertyValueSource()
{
{