aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlbinding
diff options
context:
space:
mode:
authorNikita Krupenko <krnekit@gmail.com>2016-02-23 17:29:45 +0200
committerNikita Krupenko <krnekit@gmail.com>2016-02-24 10:44:01 +0000
commitd3f8a608e8e00915df38a2a43496127a93b5bcaf (patch)
treed650a419899cfc5ac0c2d1223602423f7258c4f2 /tests/auto/qml/qqmlbinding
parentdd70d3d4d728c6465b7f92ccb9a607f2111b5079 (diff)
Validate Binding only when it is enabled
Not validate binding if it is disabled and validate when it became enabled. This helps to get read of warnings about not existing property that started to appear since 61ce37de40711ef2d4a6b4989d8183e1711fc47d. Task-number: QTBUG-48623 Change-Id: I4aa92896c04b146a79e606842c1d33661b3f5a70 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'tests/auto/qml/qqmlbinding')
-rw-r--r--tests/auto/qml/qqmlbinding/data/disabledReadonly.qml14
-rw-r--r--tests/auto/qml/qqmlbinding/data/disabledUnknown.qml12
-rw-r--r--tests/auto/qml/qqmlbinding/tst_qqmlbinding.cpp28
3 files changed, 54 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlbinding/data/disabledReadonly.qml b/tests/auto/qml/qqmlbinding/data/disabledReadonly.qml
new file mode 100644
index 0000000000..2d1715364c
--- /dev/null
+++ b/tests/auto/qml/qqmlbinding/data/disabledReadonly.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+
+ readonly property string name: "John"
+
+ Binding {
+ target: root
+ property: "name"
+ value: "Doe"
+ when: false
+ }
+}
diff --git a/tests/auto/qml/qqmlbinding/data/disabledUnknown.qml b/tests/auto/qml/qqmlbinding/data/disabledUnknown.qml
new file mode 100644
index 0000000000..08e1cff5d1
--- /dev/null
+++ b/tests/auto/qml/qqmlbinding/data/disabledUnknown.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+
+ Binding {
+ target: root
+ property: "unknown"
+ value: 42
+ when: false
+ }
+}
diff --git a/tests/auto/qml/qqmlbinding/tst_qqmlbinding.cpp b/tests/auto/qml/qqmlbinding/tst_qqmlbinding.cpp
index 3e49f3b3c4..9747fed420 100644
--- a/tests/auto/qml/qqmlbinding/tst_qqmlbinding.cpp
+++ b/tests/auto/qml/qqmlbinding/tst_qqmlbinding.cpp
@@ -52,6 +52,8 @@ private slots:
void deletedObject();
void warningOnUnknownProperty();
void warningOnReadOnlyProperty();
+ void disabledOnUnknownProperty();
+ void disabledOnReadonlyProperty();
private:
QQmlEngine engine;
@@ -258,6 +260,32 @@ void tst_qqmlbinding::warningOnReadOnlyProperty()
QCOMPARE(messageHandler.messages().first(), expectedMessage);
}
+void tst_qqmlbinding::disabledOnUnknownProperty()
+{
+ QQmlTestMessageHandler messageHandler;
+
+ QQmlEngine engine;
+ QQmlComponent c(&engine, testFileUrl("disabledUnknown.qml"));
+ QQuickItem *item = qobject_cast<QQuickItem*>(c.create());
+ QVERIFY(item);
+ delete item;
+
+ QCOMPARE(messageHandler.messages().count(), 0);
+}
+
+void tst_qqmlbinding::disabledOnReadonlyProperty()
+{
+ QQmlTestMessageHandler messageHandler;
+
+ QQmlEngine engine;
+ QQmlComponent c(&engine, testFileUrl("disabledReadonly.qml"));
+ QQuickItem *item = qobject_cast<QQuickItem*>(c.create());
+ QVERIFY(item);
+ delete item;
+
+ QCOMPARE(messageHandler.messages().count(), 0);
+}
+
QTEST_MAIN(tst_qqmlbinding)
#include "tst_qqmlbinding.moc"