aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmllanguage')
-rw-r--r--tests/auto/qml/qqmllanguage/data/MyBaseComponent.qml24
-rw-r--r--tests/auto/qml/qqmllanguage/data/scopedProperties.qml24
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp11
3 files changed, 59 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/data/MyBaseComponent.qml b/tests/auto/qml/qqmllanguage/data/MyBaseComponent.qml
new file mode 100644
index 0000000000..dda4c486b2
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/MyBaseComponent.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+QtObject {
+ id: base
+
+ property bool baseSuccess: false
+
+ property string baseProperty: 'foo'
+ property string boundProperty: baseProperty
+ property alias aliasProperty: base.baseProperty
+
+ function basePropertiesTest(expected) {
+ return (baseProperty == expected &&
+ boundProperty == expected &&
+ aliasProperty == expected);
+ }
+
+ Component.onCompleted: {
+ if (basePropertiesTest('foo')) {
+ baseProperty = 'bar';
+ baseSuccess = basePropertiesTest('bar');
+ }
+ }
+}
diff --git a/tests/auto/qml/qqmllanguage/data/scopedProperties.qml b/tests/auto/qml/qqmllanguage/data/scopedProperties.qml
new file mode 100644
index 0000000000..6e3a46d754
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/scopedProperties.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+MyBaseComponent {
+ id: extended
+
+ property bool success: false
+
+ property int baseProperty: 666
+ property int boundProperty: baseProperty
+ property alias aliasProperty: extended.baseProperty
+
+ function extendedPropertiesTest(expected) {
+ return (baseProperty == expected &&
+ boundProperty == expected &&
+ aliasProperty == expected);
+ }
+
+ Component.onCompleted: {
+ if (basePropertiesTest('bar') && extendedPropertiesTest(666)) {
+ baseProperty = 999;
+ success = extendedPropertiesTest(999) && baseSuccess;
+ }
+ }
+}
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index 50e93ca3c2..2a09ef2848 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -186,6 +186,8 @@ private slots:
void objectDeletionNotify_data();
void objectDeletionNotify();
+ void scopedProperties();
+
private:
QQmlEngine engine;
QStringList defaultImportPathList;
@@ -3111,6 +3113,15 @@ void tst_qqmllanguage::objectDeletionNotify()
delete object;
}
+void tst_qqmllanguage::scopedProperties()
+{
+ QQmlComponent component(&engine, testFile("scopedProperties.qml"));
+
+ QScopedPointer<QObject> o(component.create());
+ QVERIFY(o != 0);
+ QVERIFY(o->property("success").toBool());
+}
+
QTEST_MAIN(tst_qqmllanguage)
#include "tst_qqmllanguage.moc"