aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickbehaviors
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-12-07 13:20:36 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-12-07 13:20:36 +0100
commit4ab7deb923237b0186a211b0326217c480e33848 (patch)
treee277fb616e58e02bb49e0dc62d1ff9a039e8bcdb /tests/auto/quick/qquickbehaviors
parentc3f03bbff1db14dc5b5436d8aef834512207d498 (diff)
parentbb921064b966efdaabc2245cad21c3d852848a22 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Diffstat (limited to 'tests/auto/quick/qquickbehaviors')
-rw-r--r--tests/auto/quick/qquickbehaviors/data/Accelerator.qml18
-rw-r--r--tests/auto/quick/qquickbehaviors/data/aliased.qml39
-rw-r--r--tests/auto/quick/qquickbehaviors/tst_qquickbehaviors.cpp18
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"