diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/quick/qquickbehaviors/data/Accelerator.qml | 18 | ||||
-rw-r--r-- | tests/auto/quick/qquickbehaviors/data/aliased.qml | 39 | ||||
-rw-r--r-- | tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp | 18 |
3 files changed, 75 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickbehaviors/data/Accelerator.qml b/tests/auto/quick/qquickbehaviors/data/Accelerator.qml new file mode 100644 index 0000000000..a2b5146c3f --- /dev/null +++ b/tests/auto/quick/qquickbehaviors/data/Accelerator.qml @@ -0,0 +1,18 @@ +import QtQuick 2.3 + +Rectangle { + property alias value: range.width + color: "yellow" + Text { + text: 'value: ' + value + } + + Rectangle { + id: range + objectName: "range" + color: "red" + width: 0 + height: 5 + anchors.bottom: parent.bottom + } +} diff --git a/tests/auto/quick/qquickbehaviors/data/aliased.qml b/tests/auto/quick/qquickbehaviors/data/aliased.qml new file mode 100644 index 0000000000..e65e035d83 --- /dev/null +++ b/tests/auto/quick/qquickbehaviors/data/aliased.qml @@ -0,0 +1,39 @@ +import QtQuick 2.3 + +Rectangle { + width: 400 + height: 400 + id: rect + property bool accelerating : false + + Text { + anchors.centerIn: parent + text: "Press anywere to accelerate" + } + + Accelerator { + id: acc + objectName: "acc" + anchors.fill: parent + value: accelerating ? 400 : 0 + Behavior on value { + NumberAnimation { + duration: 500 + } + } + } + + MouseArea { + id: clicker + anchors.fill: parent + } + + states: State { + name: "moved" + when: clicker.pressed + PropertyChanges { + target: rect + accelerating: true + } + } +} diff --git a/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp b/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp index 643bed4376..635958314f 100644 --- a/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp +++ b/tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp @@ -76,6 +76,7 @@ private slots: void multipleChangesToValueType(); void currentValue(); void disabledWriteWhileRunning(); + void aliasedProperty(); }; void tst_qquickbehaviors::simpleBehavior() @@ -576,6 +577,23 @@ void tst_qquickbehaviors::disabledWriteWhileRunning() } } +void tst_qquickbehaviors::aliasedProperty() +{ + QQmlEngine engine; + QQmlComponent c(&engine, testFileUrl("aliased.qml")); + QScopedPointer<QQuickRectangle> rect(qobject_cast<QQuickRectangle*>(c.create())); + QVERIFY2(!rect.isNull(), qPrintable(c.errorString())); + + QQuickItemPrivate::get(rect.data())->setState("moved"); + QScopedPointer<QQuickRectangle> acc(qobject_cast<QQuickRectangle*>(rect->findChild<QQuickRectangle*>("acc"))); + QScopedPointer<QQuickRectangle> range(qobject_cast<QQuickRectangle*>(acc->findChild<QQuickRectangle*>("range"))); + QTRY_VERIFY(acc->property("value").toDouble() > 0); + QTRY_VERIFY(range->width() > 0); + QTRY_VERIFY(acc->property("value").toDouble() < 400); + QTRY_VERIFY(range->width() < 400); + //i.e. the behavior has been triggered +} + QTEST_MAIN(tst_qquickbehaviors) #include "tst_qquickbehaviors.moc" |