aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qquickbehaviors/data/ItemWithInnerBehavior.qml10
-rw-r--r--tests/auto/quick/qquickbehaviors/data/overwrittenbehavior.qml14
-rw-r--r--tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp9
3 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickbehaviors/data/ItemWithInnerBehavior.qml b/tests/auto/quick/qquickbehaviors/data/ItemWithInnerBehavior.qml
new file mode 100644
index 0000000000..09983645ef
--- /dev/null
+++ b/tests/auto/quick/qquickbehaviors/data/ItemWithInnerBehavior.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.4
+
+Item {
+ id: root
+
+ property bool someValue
+ Behavior on someValue {
+ ScriptAction { script: { parent.behaviorTriggered = true }}
+ }
+}
diff --git a/tests/auto/quick/qquickbehaviors/data/overwrittenbehavior.qml b/tests/auto/quick/qquickbehaviors/data/overwrittenbehavior.qml
new file mode 100644
index 0000000000..e627c45782
--- /dev/null
+++ b/tests/auto/quick/qquickbehaviors/data/overwrittenbehavior.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.4
+
+Item {
+ property bool behaviorTriggered
+ property bool someProperty
+
+ ItemWithInnerBehavior {
+ //the existence of this property triggers the bug
+ property bool iDoAbsolutelyNothing
+
+ Component.onCompleted: parent.someProperty = true
+ someValue: parent.someProperty
+ }
+}
diff --git a/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp b/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp
index 80c76a377b..bdd53702e5 100644
--- a/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp
+++ b/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp
@@ -72,6 +72,7 @@ private slots:
void currentValue();
void disabledWriteWhileRunning();
void aliasedProperty();
+ void innerBehaviorOverwritten();
};
void tst_qquickbehaviors::simpleBehavior()
@@ -589,6 +590,14 @@ void tst_qquickbehaviors::aliasedProperty()
//i.e. the behavior has been triggered
}
+void tst_qquickbehaviors::innerBehaviorOverwritten()
+{
+ QQmlEngine engine;
+ QQmlComponent c(&engine, testFileUrl("overwrittenbehavior.qml"));
+ QScopedPointer<QQuickItem> item(qobject_cast<QQuickItem*>(c.create()));
+ QVERIFY(item->property("behaviorTriggered").toBool());
+}
+
QTEST_MAIN(tst_qquickbehaviors)
#include "tst_qquickbehaviors.moc"