aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickstates
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2019-07-02 13:23:09 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2019-07-02 15:32:03 +0200
commit64c1fbe96c68b1286a70242ff4922be140128cb2 (patch)
treec95a2d68fc50319f04e6cbae4c471c524c66ba5f /tests/auto/quick/qquickstates
parentdfd12d4079b339a140d4697c7ca92c5ea4233315 (diff)
use boolean for when property
QQuickState used to store "when" as a QQmlBinding to reduce state oscillation. It is unclear whether this is still an issue, but it breaks if a user sets "when" to a primitive value like "true" or "1". Fixes: QTBUG-76838 Change-Id: If400e5b1283687838ed252be2dfa52067f44564e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickstates')
-rw-r--r--tests/auto/quick/qquickstates/data/trivialWhen.qml5
-rw-r--r--tests/auto/quick/qquickstates/tst_qquickstates.cpp10
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickstates/data/trivialWhen.qml b/tests/auto/quick/qquickstates/data/trivialWhen.qml
new file mode 100644
index 0000000000..9f7f3161e9
--- /dev/null
+++ b/tests/auto/quick/qquickstates/data/trivialWhen.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.12
+
+State {
+ when: true
+}
diff --git a/tests/auto/quick/qquickstates/tst_qquickstates.cpp b/tests/auto/quick/qquickstates/tst_qquickstates.cpp
index 50554f6333..1eb797f54f 100644
--- a/tests/auto/quick/qquickstates/tst_qquickstates.cpp
+++ b/tests/auto/quick/qquickstates/tst_qquickstates.cpp
@@ -138,6 +138,7 @@ private slots:
void QTBUG_38492();
void revertListMemoryLeak();
void duplicateStateName();
+ void trivialWhen();
};
void tst_qquickstates::initTestCase()
@@ -1665,6 +1666,15 @@ void tst_qquickstates::duplicateStateName()
QVERIFY(!item.isNull());
}
+// QTBUG-76838
+void tst_qquickstates::trivialWhen()
+{
+ QQmlEngine engine;
+
+ QQmlComponent c(&engine, testFileUrl("trivialWhen.qml"));
+ QVERIFY(c.create());
+}
+
QTEST_MAIN(tst_qquickstates)