summaryrefslogtreecommitdiff
path: root/tests/auto/controls/data/tst_slider.qml
diff options
context:
space:
mode:
authorCaroline Chao <caroline.chao@digia.com>2013-03-27 13:08:07 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-02 08:23:52 +0200
commit8503d9e0362e13059b971ca7a0c205489442b183 (patch)
tree4ffbb8b5e6112ac5211f83dadda20fffee104747 /tests/auto/controls/data/tst_slider.qml
parent04e8acde2fb0776e511255d2bec3ebb04ea122a3 (diff)
downloadqtquickcontrols-8503d9e0362e13059b971ca7a0c205489442b183.tar.gz
Slider: Fix increment/decrement on mouseWheel
Remove unused internal inverted Update autotests Add a couple of properties to the testbench Change-Id: I149726f0f896ce2d1fd641a7c24d1268b9d891d2 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Diffstat (limited to 'tests/auto/controls/data/tst_slider.qml')
-rw-r--r--tests/auto/controls/data/tst_slider.qml122
1 files changed, 93 insertions, 29 deletions
diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml
index 305b0f57..eb8ba5a6 100644
--- a/tests/auto/controls/data/tst_slider.qml
+++ b/tests/auto/controls/data/tst_slider.qml
@@ -41,38 +41,102 @@
import QtQuick 2.1
import QtTest 1.0
-TestCase {
- id: testCase
- name: "Tests_Slider"
- when:windowShown
- width:400
- height:400
-
- function test_vertical() {
- var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', testCase, '');
- verify(slider.height < slider.width)
-
- slider.orientation = Qt.Vertical;
- verify(slider.height > slider.width)
- }
+Item {
+ id: container
+ width: 500
+ height: 500
- function test_minimumvalue() {
- var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', testCase, '');
+ TestCase {
+ id: testCase
+ name: "Tests_Slider"
+ when:windowShown
+ width:400
+ height:400
- slider.minimumValue = 5
- slider.maximumValue = 10
- slider.value = 2
- compare(slider.minimumValue, 5)
- compare(slider.value, 5)
- }
+ function test_vertical() {
+ var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', testCase, '');
+ verify(slider.height < slider.width)
+
+ slider.orientation = Qt.Vertical;
+ verify(slider.height > slider.width)
+ }
+
+ function test_minimumvalue() {
+ var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', testCase, '');
+
+ slider.minimumValue = 5
+ slider.maximumValue = 10
+ slider.value = 2
+ compare(slider.minimumValue, 5)
+ compare(slider.value, 5)
+ }
+
+ function test_maximumvalue() {
+ var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', testCase, '');
+
+ slider.minimumValue = 5
+ slider.maximumValue = 10
+ slider.value = 15
+ compare(slider.maximumValue, 10)
+ compare(slider.value, 10)
+ }
+
+ function test_rightLeftKeyPressed() {
+ var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', container, '');
+ slider.forceActiveFocus()
+ slider.maximumValue = 20
+ slider.minimumValue = 0
+ slider.value = 1
+ slider.stepSize = 1
+ var keyStep = 2 // (maximumValue - minimumValue)/10.0
+ keyPress(Qt.Key_Right)
+ keyPress(Qt.Key_Right)
+ compare(slider.value, 1 + keyStep * 2)
+ keyPress(Qt.Key_Left)
+ compare(slider.value, 1 + keyStep)
+ }
+
+ function test_mouseWheel() {
+ var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', container, '');
+ slider.forceActiveFocus()
+ slider.value = 0
+ slider.maximumValue = 300
+ slider.minimumValue = 0
+ slider.stepSize = 2
+ slider.width = 300
+
+ var defaultScrollSpeed = 20.0
+ var mouseStep = 15.0
+ var deltatUnit = 8.0
+
+ var mouseRatio = deltatUnit * mouseStep / defaultScrollSpeed;
+ var sliderDeltaRatio = 1; //(slider.maximumValue - slider.minimumValue)/slider.width
+ var ratio = mouseRatio / sliderDeltaRatio
+
+ mouseWheel(slider, 5, 5, 20 * ratio, 0)
+ compare(slider.value, 20)
+
+ slider.maximumValue = 30
+ slider.minimumValue = 0
+ slider.stepSize = 1
+ slider.value = 10
+ sliderDeltaRatio = 0.1 //(slider.maximumValue - slider.minimumValue)/slider.width
+ ratio = mouseRatio / sliderDeltaRatio
+
+ compare(slider.value, 10)
+
+ var previousValue = slider.value
+ mouseWheel(slider, 5, 5, 6 * ratio, 0)
+ compare(slider.value, Math.round(previousValue + 6))
+
+ mouseWheel(slider, 5, 5, -6 * ratio, 0)
+ compare(slider.value, previousValue)
- function test_maximumvalue() {
- var slider = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {}', testCase, '');
+ // Reach maximum
+ slider.value = 0
+ mouseWheel(slider, 5, 5, 40 * ratio, 0)
+ compare(slider.value, slider.maximumValue)
- slider.minimumValue = 5
- slider.maximumValue = 10
- slider.value = 15
- compare(slider.maximumValue, 10)
- compare(slider.value, 10)
+ }
}
}