aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>2015-04-29 19:23:14 +0200
committerGabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>2015-04-30 10:30:53 +0000
commit0d3c6767c1117980f48edbd3f4737a8f37471a8f (patch)
tree2625cb21af863a64d523d1e5a3e7e48445124271
parent5fe9006ea262101ecc583edaff2f7ea794b2c03e (diff)
Update tst_checkbox to use ControlSpy
Also made a few cosmetic changes to the output of ControlSpy. Change-Id: Iec6982b3de3dda3aaa312e29801d0708ef8d739e Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
-rw-r--r--tests/auto/controls/data/ControlSpy.qml17
-rw-r--r--tests/auto/controls/data/tst_checkbox.qml133
2 files changed, 76 insertions, 74 deletions
diff --git a/tests/auto/controls/data/ControlSpy.qml b/tests/auto/controls/data/ControlSpy.qml
index eedcdf98..23601707 100644
--- a/tests/auto/controls/data/ControlSpy.qml
+++ b/tests/auto/controls/data/ControlSpy.qml
@@ -57,8 +57,8 @@ QtObject {
if (sequenceFailure)
return;
- if (!expectedSequence.length || sequenceIndex >= expectedSequence.length) {
- console.warn("ControlSpy: received unexpected signal '" + signalName + "'.")
+ if (sequenceIndex >= expectedSequence.length) {
+ console.warn("ControlSpy: Received unexpected signal '" + signalName + "' (none expected).")
sequenceFailure = true
return
}
@@ -75,9 +75,10 @@ QtObject {
var expectedValues = expectedSequence[sequenceIndex][1]
for (var p in expectedValues)
if (target[p] != expectedValues[p]) {
- console.warn("ControlSpy: property value mismatch for '" + p + "'" +
- " after '" + signalName + "' signal. " +
- "Expected: " + expectedValues[p] + ", actual: " + control[p] +".")
+ console.warn("ControlSpy: Value mismatch for property '" + p + "' after '" + signalName + "' signal." +
+ "\n Actual : " + target[p] +
+ "\n Expected : " + expectedValues[p] +
+ "\n Sequence index: " + sequenceIndex)
sequenceFailure = true
return
}
@@ -85,8 +86,10 @@ QtObject {
return
}
}
- console.warn("ControlSpy: signal names mismatch. " +
- "Expected: " + expectedSignal + ", received: " + signalName +".")
+ console.warn("ControlSpy: Received unexpected signal." +
+ "\n Actual : " + signalName +
+ "\n Expected : " + expectedSignal +
+ "\n Sequence index: " + sequenceIndex)
sequenceFailure = true
}
diff --git a/tests/auto/controls/data/tst_checkbox.qml b/tests/auto/controls/data/tst_checkbox.qml
index e90a0604..734f5464 100644
--- a/tests/auto/controls/data/tst_checkbox.qml
+++ b/tests/auto/controls/data/tst_checkbox.qml
@@ -50,42 +50,29 @@ TestCase {
when: windowShown
name: "CheckBox"
- SignalSpy {
- id: checkedSpy
- signalName: "checkedChanged"
- }
-
- SignalSpy {
- id: pressedSpy
- signalName: "pressedChanged"
- }
-
- SignalSpy {
- id: clickedSpy
- signalName: "clicked"
- }
-
Component {
id: checkBox
- CheckBox { }
+ CheckBox {
+ id: control
+
+ property ControlSpy spy: ControlSpy {
+ id: spy
+ target: control
+ }
+
+ onPressed: spy.checkSignal("pressed")
+ onReleased: spy.checkSignal("released")
+ onCanceled: spy.checkSignal("canceled")
+ onClicked: spy.checkSignal("clicked")
+ onPressedChanged: spy.checkSignal("pressedChanged")
+ onCheckedChanged: spy.checkSignal("checkedChanged")
+ }
}
function init() {
- verify(!checkedSpy.target)
- verify(!pressedSpy.target)
- verify(!clickedSpy.target)
- compare(checkedSpy.count, 0)
- compare(pressedSpy.count, 0)
- compare(clickedSpy.count, 0)
}
function cleanup() {
- checkedSpy.target = null
- pressedSpy.target = null
- clickedSpy.target = null
- checkedSpy.clear()
- pressedSpy.clear()
- clickedSpy.clear()
}
function test_defaults() {
@@ -140,19 +127,19 @@ TestCase {
function test_checked() {
var control = checkBox.createObject(testCase)
- checkedSpy.target = control
- verify(checkedSpy.valid)
-
+ control.spy.expectedSequence = []
compare(control.checked, false)
- compare(checkedSpy.count, 0)
+ verify(control.spy.success)
+ control.spy.expectedSequence = [["checkedChanged", { "checked": true }]]
control.checked = true
compare(control.checked, true)
- compare(checkedSpy.count, 1)
+ verify(control.spy.success)
+ control.spy.expectedSequence = [["checkedChanged", { "checked": false }]]
control.checked = false
compare(control.checked, false)
- compare(checkedSpy.count, 2)
+ verify(control.spy.success)
control.destroy()
}
@@ -160,58 +147,62 @@ TestCase {
function test_mouse() {
var control = checkBox.createObject(testCase)
- checkedSpy.target = control
- pressedSpy.target = control
- clickedSpy.target = control
- verify(checkedSpy.valid)
- verify(pressedSpy.valid)
- verify(clickedSpy.valid)
// check
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ "pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
- compare(pressedSpy.count, 1)
compare(control.pressed, true)
+ verify(control.spy.success)
+
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false }],
+ "released",
+ "clicked",
+ ["checkedChanged", { "pressed": false, "checked": true }]]
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftButton)
- compare(clickedSpy.count, 1)
- compare(checkedSpy.count, 1)
- compare(pressedSpy.count, 2)
compare(control.checked, true)
compare(control.pressed, false)
+ verify(control.spy.success)
// uncheck
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true }],
+ "pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
- compare(pressedSpy.count, 3)
compare(control.pressed, true)
+ verify(control.spy.success)
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": true }],
+ "released",
+ "clicked",
+ ["checkedChanged", { "pressed": false, "checked": false }]]
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftButton)
- compare(clickedSpy.count, 2)
- compare(checkedSpy.count, 2)
- compare(pressedSpy.count, 4)
compare(control.checked, false)
compare(control.pressed, false)
+ verify(control.spy.success)
// release outside
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ "pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
- compare(pressedSpy.count, 5)
compare(control.pressed, true)
+ verify(control.spy.success)
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false }]]
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 }]]
mouseRelease(control, control.width * 2, control.height * 2, Qt.LeftButton)
- compare(clickedSpy.count, 2)
- compare(checkedSpy.count, 2)
- compare(pressedSpy.count, 6)
compare(control.checked, false)
compare(control.pressed, false)
+ verify(control.spy.success)
// right button
+ control.spy.expectedSequence = []
mousePress(control, control.width / 2, control.height / 2, Qt.RightButton)
- compare(pressedSpy.count, 6)
compare(control.pressed, false)
mouseRelease(control, control.width / 2, control.height / 2, Qt.RightButton)
- compare(clickedSpy.count, 2)
- compare(checkedSpy.count, 2)
- compare(pressedSpy.count, 6)
compare(control.checked, false)
compare(control.pressed, false)
+ verify(control.spy.success)
control.destroy()
}
@@ -219,33 +210,41 @@ TestCase {
function test_keys() {
var control = checkBox.createObject(testCase)
- checkedSpy.target = control
- clickedSpy.target = control
- verify(checkedSpy.valid)
- verify(clickedSpy.valid)
-
+ control.spy.expectedSequence = []
control.forceActiveFocus()
verify(control.activeFocus)
+ verify(control.spy.success)
// check
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": false }],
+ "released",
+ "clicked",
+ ["checkedChanged", { "pressed": false, "checked": true }]]
keyClick(Qt.Key_Space)
- compare(clickedSpy.count, 1)
- compare(checkedSpy.count, 1)
compare(control.checked, true)
+ verify(control.spy.success)
// uncheck
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true }],
+ "pressed",
+ ["pressedChanged", { "pressed": false, "checked": true }],
+ "released",
+ "clicked",
+ ["checkedChanged", { "pressed": false, "checked": false }]]
keyClick(Qt.Key_Space)
- compare(clickedSpy.count, 2)
- compare(checkedSpy.count, 2)
compare(control.checked, false)
+ verify(control.spy.success)
// no change
+ control.spy.expectedSequence = []
var keys = [Qt.Key_Enter, Qt.Key_Return, Qt.Key_Escape, Qt.Key_Tab]
for (var i = 0; i < keys.length; ++i) {
+ control.spy.reset()
keyClick(keys[i])
- compare(clickedSpy.count, 2)
- compare(checkedSpy.count, 2)
compare(control.checked, false)
+ verify(control.spy.success)
}
control.destroy()