From 752d32214f2b25786ab8daf9e34eefc771cb7565 Mon Sep 17 00:00:00 2001 From: Caroline Chao <caroline.chao@digia.com> Date: Tue, 2 Apr 2013 10:26:52 +0200 Subject: [PATCH] Tests: Add test for activeFocusOnPress property For - SpinBox - TextField - TextArea - ToolButton - Button - CheckBox - RadioButton - Slider Change-Id: I36c82c5058cfc9493d9fdb8c96c6612b1f387c0f Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- tests/auto/controls/data/tst_button.qml | 18 ++++++++++++++++++ tests/auto/controls/data/tst_checkbox.qml | 11 +++++++++++ tests/auto/controls/data/tst_radiobutton.qml | 11 +++++++++++ tests/auto/controls/data/tst_slider.qml | 12 ++++++++++++ tests/auto/controls/data/tst_spinbox.qml | 12 ++++++++++++ tests/auto/controls/data/tst_textarea.qml | 18 ++++++++++++++++++ tests/auto/controls/data/tst_textfield.qml | 17 +++++++++++++++++ tests/auto/controls/data/tst_toolbutton.qml | 18 ++++++++++++++++++ 8 files changed, 117 insertions(+) diff --git a/tests/auto/controls/data/tst_button.qml b/tests/auto/controls/data/tst_button.qml index 1efbd4e9d..a49a45797 100644 --- a/tests/auto/controls/data/tst_button.qml +++ b/tests/auto/controls/data/tst_button.qml @@ -41,6 +41,11 @@ import QtQuick 2.1 import QtTest 1.0 +Item { + id: container + width: 300 + height: 300 + TestCase { id: testCase name: "Tests_Button" @@ -98,4 +103,17 @@ TestCase { tmp.testAction.trigger() compare(clickSpy.count, 1) } + + function test_activeFocusOnPress(){ + var control = Qt.createQmlObject('import QtQuick.Controls 1.0; Button {x: 20; y: 20; width: 100; height: 50}', container, '') + control.activeFocusOnPress = false + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(!control.activeFocus) + control.activeFocusOnPress = true + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(control.activeFocus) + } +} } diff --git a/tests/auto/controls/data/tst_checkbox.qml b/tests/auto/controls/data/tst_checkbox.qml index ae996d01e..ca12da3cf 100644 --- a/tests/auto/controls/data/tst_checkbox.qml +++ b/tests/auto/controls/data/tst_checkbox.qml @@ -219,5 +219,16 @@ Item { root.checkBox1.partiallyCheckedEnabled = false; root.checkBox2.partiallyCheckedEnabled = false; } + + function test_activeFocusOnPress(){ + checkBox.activeFocusOnPress = false + verify(!checkBox.activeFocus) + mouseClick(checkBox, checkBox.x + 1, checkBox.y + 1) + verify(!checkBox.activeFocus) + checkBox.activeFocusOnPress = true + verify(!checkBox.activeFocus) + mouseClick(checkBox, checkBox.x + 1, checkBox.y + 1) + verify(checkBox.activeFocus) + } } } diff --git a/tests/auto/controls/data/tst_radiobutton.qml b/tests/auto/controls/data/tst_radiobutton.qml index c2e6bffd2..4b036d8de 100644 --- a/tests/auto/controls/data/tst_radiobutton.qml +++ b/tests/auto/controls/data/tst_radiobutton.qml @@ -171,5 +171,16 @@ Item { compare(root.radioButton1.checked, true); compare(root.radioButton2.checked, false); } + + function test_activeFocusOnPress(){ + radioButton.activeFocusOnPress = false + verify(!radioButton.activeFocus) + mouseClick(radioButton, radioButton.x + 1, radioButton.y + 1) + verify(!radioButton.activeFocus) + radioButton.activeFocusOnPress = true + verify(!radioButton.activeFocus) + mouseClick(radioButton, radioButton.x + 1, radioButton.y + 1) + verify(radioButton.activeFocus) + } } } diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml index eb8ba5a6c..b6f60c558 100644 --- a/tests/auto/controls/data/tst_slider.qml +++ b/tests/auto/controls/data/tst_slider.qml @@ -138,5 +138,17 @@ Item { compare(slider.value, slider.maximumValue) } + + function test_activeFocusOnPress(){ + var control = Qt.createQmlObject('import QtQuick.Controls 1.0; Slider {x: 20; y: 20; width: 100; height: 50}', container, '') + control.activeFocusOnPress = false + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(!control.activeFocus) + control.activeFocusOnPress = true + verify(!control.activeFocus) + mousePress(control, 30, 30) + verify(control.activeFocus) + } } } diff --git a/tests/auto/controls/data/tst_spinbox.qml b/tests/auto/controls/data/tst_spinbox.qml index 5994b451e..53615c711 100644 --- a/tests/auto/controls/data/tst_spinbox.qml +++ b/tests/auto/controls/data/tst_spinbox.qml @@ -267,6 +267,18 @@ Item { compare(spinbox.value, -1000); } + function test_activeFocusOnPress(){ + var spinbox = Qt.createQmlObject('import QtQuick.Controls 1.0; SpinBox {x: 20; y: 20; width: 100; height: 50}', container, '') + spinbox.activeFocusOnPress = false + verify(!spinbox.activeFocus) + mouseClick(spinbox, 30, 30) + verify(!spinbox.activeFocus) + spinbox.activeFocusOnPress = true + verify(!spinbox.activeFocus) + mouseClick(spinbox, 30, 30) + verify(spinbox.activeFocus) + } + function test_ImplicitSize() // Verify if we correctly grow and shrink depending on contents { var spinbox = Qt.createQmlObject('import QtQuick.Controls 1.0; SpinBox {}', container, '') diff --git a/tests/auto/controls/data/tst_textarea.qml b/tests/auto/controls/data/tst_textarea.qml index 27f68a1a2..945b8aa48 100644 --- a/tests/auto/controls/data/tst_textarea.qml +++ b/tests/auto/controls/data/tst_textarea.qml @@ -41,6 +41,11 @@ import QtQuick 2.1 import QtTest 1.0 +Item { + id: container + width: 300 + height: 300 + TestCase { id: testCase name: "Tests_TextArea" @@ -59,4 +64,17 @@ TestCase { textarea.append("name"); compare(textarea.text, "my\nname") } + + function test_activeFocusOnPress(){ + var control = Qt.createQmlObject('import QtQuick.Controls 1.0; TextArea {x: 20; y: 20; width: 100; height: 50}', container, '') + control.activeFocusOnPress = false + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(!control.activeFocus) + control.activeFocusOnPress = true + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(control.activeFocus) + } +} } diff --git a/tests/auto/controls/data/tst_textfield.qml b/tests/auto/controls/data/tst_textfield.qml index e9bd45410..ed2d5401a 100644 --- a/tests/auto/controls/data/tst_textfield.qml +++ b/tests/auto/controls/data/tst_textfield.qml @@ -41,6 +41,10 @@ import QtQuick 2.1 import QtTest 1.0 +Item { + id: container + width: 300; height: 300 + TestCase { id: testCase name: "Tests_TextField" @@ -243,4 +247,17 @@ TestCase { textfield.redo() compare(textfield.text, "this is not my text") } + + function test_activeFocusOnPress(){ + var control = Qt.createQmlObject('import QtQuick.Controls 1.0; TextField {x: 20; y: 20; width: 100; height: 50}', container, '') + control.activeFocusOnPress = false + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(!control.activeFocus) + control.activeFocusOnPress = true + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(control.activeFocus) + } +} } diff --git a/tests/auto/controls/data/tst_toolbutton.qml b/tests/auto/controls/data/tst_toolbutton.qml index e488d03b3..8400b552f 100644 --- a/tests/auto/controls/data/tst_toolbutton.qml +++ b/tests/auto/controls/data/tst_toolbutton.qml @@ -41,6 +41,11 @@ import QtQuick 2.1 import QtTest 1.0 +Item { + id: container + width: 300 + height: 300 + TestCase { id: testCase name: "Tests_ToolButton" @@ -51,5 +56,18 @@ TestCase { function test_createToolButton() { var toolButton = Qt.createQmlObject('import QtQuick.Controls 1.0; ToolButton {}', testCase, ''); } + + function test_activeFocusOnPress(){ + var control = Qt.createQmlObject('import QtQuick.Controls 1.0; ToolButton {x: 20; y: 20; width: 100; height: 50}', container, '') + control.activeFocusOnPress = false + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(!control.activeFocus) + control.activeFocusOnPress = true + verify(!control.activeFocus) + mouseClick(control, 30, 30) + verify(control.activeFocus) + } +} } -- GitLab