aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_checkbox.qml
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2015-10-10 00:34:59 +0200
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2015-10-12 12:32:37 +0000
commitb7fdca77c34e26a10c42217cea665f9f90c282b8 (patch)
tree4b19fd4cf124634414d681e6f56aed9b37feac26 /tests/auto/controls/data/tst_checkbox.qml
parent97cd1782744f45f1c9c249bd5549dd7f1ea53b3c (diff)
Add CheckBox::tristate & checkState
Change-Id: Idf5b8d101db4ee7ace6f1d1d611a7bda3c03f3ea Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'tests/auto/controls/data/tst_checkbox.qml')
-rw-r--r--tests/auto/controls/data/tst_checkbox.qml231
1 files changed, 210 insertions, 21 deletions
diff --git a/tests/auto/controls/data/tst_checkbox.qml b/tests/auto/controls/data/tst_checkbox.qml
index caf6658b..c61cab38 100644
--- a/tests/auto/controls/data/tst_checkbox.qml
+++ b/tests/auto/controls/data/tst_checkbox.qml
@@ -57,7 +57,7 @@ TestCase {
property ControlSpy spy: ControlSpy {
target: control
- signals: ["pressed", "released", "canceled", "clicked", "pressedChanged", "checkedChanged"]
+ signals: ["pressed", "released", "canceled", "clicked", "pressedChanged", "checkedChanged", "checkStateChanged"]
}
}
}
@@ -81,16 +81,47 @@ TestCase {
control.spy.expectedSequence = []
compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
verify(control.spy.success)
- control.spy.expectedSequence = [["checkedChanged", { "checked": true }]]
+ control.spy.expectedSequence = [["checkStateChanged", { "checked": true, "checkState": Qt.Checked }],
+ ["checkedChanged", { "checked": true, "checkState": Qt.Checked }]]
control.checked = true
compare(control.checked, true)
+ compare(control.checkState, Qt.Checked)
verify(control.spy.success)
- control.spy.expectedSequence = [["checkedChanged", { "checked": false }]]
+ control.spy.expectedSequence = [["checkStateChanged", { "checked": false, "checkState": Qt.Unchecked }],
+ ["checkedChanged", { "checked": false, "checkState": Qt.Unchecked }]]
control.checked = false
compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
+ verify(control.spy.success)
+
+ control.destroy()
+ }
+
+ function test_checkState() {
+ var control = checkBox.createObject(testCase)
+ verify(control)
+
+ control.spy.expectedSequence = []
+ compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
+ verify(control.spy.success)
+
+ control.spy.expectedSequence = [["checkStateChanged", { "checked": true, "checkState": Qt.Checked }],
+ ["checkedChanged", { "checked": true, "checkState": Qt.Checked }]]
+ control.checkState = Qt.Checked
+ compare(control.checked, true)
+ compare(control.checkState, Qt.Checked)
+ verify(control.spy.success)
+
+ control.spy.expectedSequence = [["checkStateChanged", { "checked": false, "checkState": Qt.Unchecked }],
+ ["checkedChanged", { "checked": false, "checkState": Qt.Unchecked }]]
+ control.checkState = Qt.Unchecked
+ compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
verify(control.spy.success)
control.destroy()
@@ -101,49 +132,54 @@ TestCase {
verify(control)
// check
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false, "checkState": Qt.Unchecked }],
"pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.pressed, true)
verify(control.spy.success)
- control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
"released",
"clicked",
- ["checkedChanged", { "pressed": false, "checked": true }]]
+ ["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }],
+ ["checkedChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }]]
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.checked, true)
+ compare(control.checkState, Qt.Checked)
compare(control.pressed, false)
verify(control.spy.success)
// uncheck
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true, "checkState": Qt.Checked }],
"pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.pressed, true)
verify(control.spy.success)
- control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": true }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }],
"released",
"clicked",
- ["checkedChanged", { "pressed": false, "checked": false }]]
+ ["checkStateChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
+ ["checkedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }]]
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
compare(control.pressed, false)
verify(control.spy.success)
// release outside
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false, "checkState": Qt.Unchecked }],
"pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.pressed, true)
verify(control.spy.success)
- control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false }]]
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }]]
mouseMove(control, control.width * 2, control.height * 2, 0, Qt.LeftButton)
compare(control.pressed, false)
verify(control.spy.success)
- control.spy.expectedSequence = [["canceled", { "pressed": false, "checked": false }]]
+ control.spy.expectedSequence = [["canceled", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }]]
mouseRelease(control, control.width * 2, control.height * 2, Qt.LeftButton)
compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
compare(control.pressed, false)
verify(control.spy.success)
@@ -153,6 +189,7 @@ TestCase {
compare(control.pressed, false)
mouseRelease(control, control.width / 2, control.height / 2, Qt.RightButton)
compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
compare(control.pressed, false)
verify(control.spy.success)
@@ -169,25 +206,29 @@ TestCase {
verify(control.spy.success)
// check
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false, "checkState": Qt.Unchecked }],
"pressed",
- ["pressedChanged", { "pressed": false, "checked": false }],
+ ["pressedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
"released",
"clicked",
- ["checkedChanged", { "pressed": false, "checked": true }]]
+ ["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }],
+ ["checkedChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }]]
keyClick(Qt.Key_Space)
compare(control.checked, true)
+ compare(control.checkState, Qt.Checked)
verify(control.spy.success)
// uncheck
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true }],
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true, "checkState": Qt.Checked }],
"pressed",
- ["pressedChanged", { "pressed": false, "checked": true }],
+ ["pressedChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }],
"released",
"clicked",
- ["checkedChanged", { "pressed": false, "checked": false }]]
+ ["checkStateChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
+ ["checkedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }]]
keyClick(Qt.Key_Space)
compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
verify(control.spy.success)
// no change
@@ -204,28 +245,176 @@ TestCase {
}
Component {
- id: twoCheckBoxes
+ id: checkedBoundBoxes
Item {
property CheckBox cb1: CheckBox { id: cb1 }
property CheckBox cb2: CheckBox { id: cb2; checked: cb1.checked; enabled: false }
}
}
- function test_binding() {
- var container = twoCheckBoxes.createObject(testCase)
+ function test_checked_binding() {
+ var container = checkedBoundBoxes.createObject(testCase)
verify(container)
compare(container.cb1.checked, false)
+ compare(container.cb1.checkState, Qt.Unchecked)
compare(container.cb2.checked, false)
+ compare(container.cb2.checkState, Qt.Unchecked)
container.cb1.checked = true
compare(container.cb1.checked, true)
+ compare(container.cb1.checkState, Qt.Checked)
compare(container.cb2.checked, true)
+ compare(container.cb2.checkState, Qt.Checked)
container.cb1.checked = false
compare(container.cb1.checked, false)
+ compare(container.cb1.checkState, Qt.Unchecked)
compare(container.cb2.checked, false)
+ compare(container.cb2.checkState, Qt.Unchecked)
container.destroy()
}
+
+ Component {
+ id: checkStateBoundBoxes
+ Item {
+ property CheckBox cb1: CheckBox { id: cb1 }
+ property CheckBox cb2: CheckBox { id: cb2; checkState: cb1.checkState; enabled: false }
+ }
+ }
+
+ function test_checkState_binding() {
+ var container = checkStateBoundBoxes.createObject(testCase)
+ verify(container)
+
+ compare(container.cb1.checked, false)
+ compare(container.cb1.checkState, Qt.Unchecked)
+ compare(container.cb2.checked, false)
+ compare(container.cb2.checkState, Qt.Unchecked)
+
+ container.cb1.checkState = Qt.Checked
+ compare(container.cb1.checked, true)
+ compare(container.cb1.checkState, Qt.Checked)
+ compare(container.cb2.checked, true)
+ compare(container.cb2.checkState, Qt.Checked)
+
+ container.cb1.checkState = Qt.Unchecked
+ compare(container.cb1.checked, false)
+ compare(container.cb1.checkState, Qt.Unchecked)
+ compare(container.cb2.checked, false)
+ compare(container.cb2.checkState, Qt.Unchecked)
+
+ compare(container.cb1.tristate, false)
+ compare(container.cb2.tristate, false)
+
+ container.cb1.checkState = Qt.PartiallyChecked
+ compare(container.cb1.checked, true)
+ compare(container.cb1.checkState, Qt.PartiallyChecked)
+ compare(container.cb2.checked, true)
+ compare(container.cb2.checkState, Qt.PartiallyChecked)
+
+ compare(container.cb1.tristate, true)
+ compare(container.cb2.tristate, true)
+
+ container.destroy()
+ }
+
+ function test_tristate() {
+ var control = checkBox.createObject(testCase)
+
+ control.spy.expectedSequence = []
+ control.forceActiveFocus()
+ verify(control.activeFocus)
+
+ compare(control.tristate, false)
+ compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
+
+ control.spy.expectedSequence = [["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }],
+ ["checkedChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }]]
+ control.checkState = Qt.PartiallyChecked
+ compare(control.tristate, true)
+ compare(control.checked, true)
+ compare(control.checkState, Qt.PartiallyChecked)
+ verify(control.spy.success)
+
+ // key: partial -> checked
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true, "checkState": Qt.PartiallyChecked }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }],
+ "released",
+ "clicked",
+ ["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }]]
+ keyClick(Qt.Key_Space)
+ compare(control.checked, true)
+ compare(control.checkState, Qt.Checked)
+ verify(control.spy.success)
+
+ // key: checked -> unchecked
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true, "checkState": Qt.Checked }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }],
+ "released",
+ "clicked",
+ ["checkStateChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
+ ["checkedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }]]
+ keyClick(Qt.Key_Space)
+ compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
+ verify(control.spy.success)
+
+ // key: unchecked -> partial
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false, "checkState": Qt.Unchecked }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
+ "released",
+ "clicked",
+ ["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }],
+ ["checkedChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }]]
+ keyClick(Qt.Key_Space)
+ compare(control.checked, true)
+ compare(control.checkState, Qt.PartiallyChecked)
+ verify(control.spy.success)
+
+ // mouse: partial -> checked
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true, "checkState": Qt.PartiallyChecked }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }],
+ "released",
+ "clicked",
+ ["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }]]
+ mouseClick(control)
+ compare(control.checked, true)
+ compare(control.checkState, Qt.Checked)
+ verify(control.spy.success)
+
+ // mouse: checked -> unchecked
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true, "checkState": Qt.Checked }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": true, "checkState": Qt.Checked }],
+ "released",
+ "clicked",
+ ["checkStateChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
+ ["checkedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }]]
+ mouseClick(control)
+ compare(control.checked, false)
+ compare(control.checkState, Qt.Unchecked)
+ verify(control.spy.success)
+
+ // mouse: unchecked -> partial
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false, "checkState": Qt.Unchecked }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": false, "checkState": Qt.Unchecked }],
+ "released",
+ "clicked",
+ ["checkStateChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }],
+ ["checkedChanged", { "pressed": false, "checked": true, "checkState": Qt.PartiallyChecked }]]
+ mouseClick(control)
+ compare(control.checked, true)
+ compare(control.checkState, Qt.PartiallyChecked)
+ verify(control.spy.success)
+
+ control.destroy()
+ }
}