summaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2010-07-21 01:34:18 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2010-07-21 01:34:18 (GMT)
commit4e193343630db3c3efaa67670e73e2b5a89cf69a (patch)
treedb33b3194e2dd66d921b43c6e3a3a8342e596451 /tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
parentc2c28428123cfd3a3994117bfea88a0ae68f6884 (diff)
parent64833c0a648211f3fe7547436f022edc0ceb51ac (diff)
downloadQt-4e193343630db3c3efaa67670e73e2b5a89cf69a.zip
Qt-4e193343630db3c3efaa67670e73e2b5a89cf69a.tar.gz
Qt-4e193343630db3c3efaa67670e73e2b5a89cf69a.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7
Diffstat (limited to 'tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp')
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
index 5c2c145..bb7fc7b 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
+++ b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
@@ -80,6 +80,7 @@ private slots:
void startup();
void groupedPropertyCrash();
void runningTrue();
+ void sameValue();
};
void tst_qdeclarativebehaviors::simpleBehavior()
@@ -384,6 +385,32 @@ void tst_qdeclarativebehaviors::runningTrue()
QTRY_VERIFY(runningSpy.count() > 0);
}
+//QTBUG-12295
+void tst_qdeclarativebehaviors::sameValue()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/qtbug12295.qml"));
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect);
+
+ QDeclarativeRectangle *target = rect->findChild<QDeclarativeRectangle*>("myRect");
+ QVERIFY(target);
+
+ target->setX(100);
+ QCOMPARE(target->x(), qreal(100));
+
+ target->setProperty("x", 0);
+ QTRY_VERIFY(target->x() != qreal(0) && target->x() != qreal(100));
+
+ target->setX(100);
+ QCOMPARE(target->x(), qreal(100));
+
+ //this is the main point of the test -- the behavior needs to be triggered again
+ //even though we set 0 twice in a row.
+ target->setProperty("x", 0);
+ QTRY_VERIFY(target->x() != qreal(0) && target->x() != qreal(100));
+}
+
QTEST_MAIN(tst_qdeclarativebehaviors)
#include "tst_qdeclarativebehaviors.moc"