Forward port auto test for fix in QtQuick1
authorSimon Hausmann <simon.hausmann@digia.com>
Tue, 16 Jul 2013 13:35:10 +0000 (15:35 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 17 Jul 2013 05:36:45 +0000 (07:36 +0200)
This is the auto-test part of https://codereview.qt-project.org/#change,61117

The test passes as-is but we should forward the fix to ensure that we
don't regress.

Change-Id: Ief8fcfc29d671f33cd1b2c3bab7acfd4fcd1df2b
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
tests/auto/qml/qqmllanguage/data/DeepComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmllanguage/data/deepProperty.qml [new file with mode: 0644]
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp

diff --git a/tests/auto/qml/qqmllanguage/data/DeepComponent.qml b/tests/auto/qml/qqmllanguage/data/DeepComponent.qml
new file mode 100644 (file)
index 0000000..893c358
--- /dev/null
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+Item {
+    property alias someObject: text
+    Text {
+        id: text
+    }
+}
diff --git a/tests/auto/qml/qqmllanguage/data/deepProperty.qml b/tests/auto/qml/qqmllanguage/data/deepProperty.qml
new file mode 100644 (file)
index 0000000..b3c7f68
--- /dev/null
@@ -0,0 +1,4 @@
+import QtQuick 2.0
+DeepComponent {
+    someObject.font.family: "test"
+}
index 47a9f39..fd35a5b 100644 (file)
@@ -48,6 +48,7 @@
 #include <QtCore/qfileinfo.h>
 #include <QtCore/qdir.h>
 #include <QSignalSpy>
+#include <QFont>
 
 #include <private/qqmlproperty_p.h>
 #include <private/qqmlmetatype_p.h>
@@ -190,6 +191,8 @@ private slots:
 
     void scopedProperties();
 
+    void deepProperty();
+
 private:
     QQmlEngine engine;
     QStringList defaultImportPathList;
@@ -3150,6 +3153,15 @@ void tst_qqmllanguage::scopedProperties()
     QVERIFY(o->property("success").toBool());
 }
 
+void tst_qqmllanguage::deepProperty()
+{
+    QQmlComponent component(&engine, testFile("deepProperty.qml"));
+    QScopedPointer<QObject> o(component.create());
+    QVERIFY(o != 0);
+    QFont font = qvariant_cast<QFont>(qvariant_cast<QObject*>(o->property("someObject"))->property("font"));
+    QCOMPARE(font.family(), QStringLiteral("test"));
+}
+
 // Tests that the implicit import has lowest precedence, in the case where
 // there are conflicting types and types only found in the local import.
 // Tests that just check one (or the root) type are in ::importsOrder