aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativeanimations
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-07-25 16:43:55 +1000
committerQt by Nokia <qt-info@nokia.com>2011-07-26 09:37:52 +0200
commit3870e1478b64627f247fe1aa482d50a4367c0523 (patch)
treeb6f8e5724afef1fa39a8005342f906f67ce3d483 /tests/auto/declarative/qdeclarativeanimations
parent96801c909a0d63a584e45c08277372c2b999fcce (diff)
Fix crash when assigning a list property to transitions.
This fixes the crash, but doesn't actually assign any Transitions (the transitions list will now be empty, rather than contain a null Transition object). Correct assignment is a general language issue, and will be fixed separately. Task-number: QTBUG-20227 Change-Id: Ie224d06b1d8bb82d03c5eba378affb7167f08724 Reviewed-by: Alan Alpert Reviewed-on: http://codereview.qt.nokia.com/2152 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'tests/auto/declarative/qdeclarativeanimations')
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/transitionAssignmentBug.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp13
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeanimations/data/transitionAssignmentBug.qml b/tests/auto/declarative/qdeclarativeanimations/data/transitionAssignmentBug.qml
new file mode 100644
index 0000000000..508693e0fc
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeanimations/data/transitionAssignmentBug.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400
+ height: 400
+
+ property bool nullObject
+ Component.onCompleted: nullObject = transitions.length > 0 && transitions[0] === null
+
+ property list<Transition> myTransitions: [Transition {}, Transition {}]
+ transitions: myTransitions
+}
diff --git a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
index cf911c6bef..9308aca208 100644
--- a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
+++ b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
@@ -88,6 +88,7 @@ private slots:
void registrationBug();
void doubleRegistrationBug();
void alwaysRunToEndRestartBug();
+ void transitionAssignmentBug();
};
#define QTIMED_COMPARE(lhs, rhs) do { \
@@ -844,6 +845,18 @@ void tst_qdeclarativeanimations::alwaysRunToEndRestartBug()
QCOMPARE(static_cast<QDeclarativeAbstractAnimation*>(&animation)->qtAnimation()->state(), QAbstractAnimation::Stopped);
}
+//QTBUG-20227
+void tst_qdeclarativeanimations::transitionAssignmentBug()
+{
+ QDeclarativeEngine engine;
+
+ QDeclarativeComponent c(&engine, SRCDIR "/data/transitionAssignmentBug.qml");
+ QSGRectangle *rect = qobject_cast<QSGRectangle*>(c.create());
+ QVERIFY(rect != 0);
+
+ QCOMPARE(rect->property("nullObject").toBool(), false);
+}
+
QTEST_MAIN(tst_qdeclarativeanimations)
#include "tst_qdeclarativeanimations.moc"