aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_combobox.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/controls/data/tst_combobox.qml')
-rw-r--r--tests/auto/controls/data/tst_combobox.qml161
1 files changed, 158 insertions, 3 deletions
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml
index 159ccebb..d0cdfb17 100644
--- a/tests/auto/controls/data/tst_combobox.qml
+++ b/tests/auto/controls/data/tst_combobox.qml
@@ -432,7 +432,7 @@ TestCase {
control.destroy()
}
- function test_keys_data() {
+ function test_keys_space_enter_escape_data() {
return [
{ tag: "space-space", key1: Qt.Key_Space, key2: Qt.Key_Space, showPopup: true, showPress: true, hidePopup: true, hidePress: true },
{ tag: "space-enter", key1: Qt.Key_Space, key2: Qt.Key_Enter, showPopup: true, showPress: true, hidePopup: true, hidePress: true },
@@ -445,7 +445,7 @@ TestCase {
]
}
- function test_keys(data) {
+ function test_keys_space_enter_escape(data) {
var control = comboBox.createObject(testCase, {model: 3})
verify(control)
@@ -468,7 +468,6 @@ TestCase {
// hide popup
keyPress(data.key2)
compare(control.pressed, data.hidePress)
- compare(control.popup.visible, data.showPopup)
keyRelease(data.key2)
compare(control.pressed, false)
tryCompare(control.popup, "visible", !data.hidePopup)
@@ -476,6 +475,162 @@ TestCase {
control.destroy()
}
+ function test_keys_home_end() {
+ var control = comboBox.createObject(testCase, {model: 5})
+ verify(control)
+
+ control.forceActiveFocus()
+ verify(control.activeFocus)
+ compare(control.currentIndex, 0)
+ compare(control.highlightedIndex, -1)
+
+ var activatedCount = 0
+ var activatedSpy = signalSpy.createObject(control, {target: control, signalName: "activated"})
+ verify(activatedSpy.valid)
+
+ var highlightedCount = 0
+ var highlightedSpy = signalSpy.createObject(control, {target: control, signalName: "highlighted"})
+ verify(highlightedSpy.valid)
+
+ var currentIndexCount = 0
+ var currentIndexSpy = signalSpy.createObject(control, {target: control, signalName: "currentIndexChanged"})
+ verify(currentIndexSpy.valid)
+
+ var highlightedIndexCount = 0
+ var highlightedIndexSpy = signalSpy.createObject(control, {target: control, signalName: "highlightedIndexChanged"})
+ verify(highlightedIndexSpy.valid)
+
+ // end (popup closed)
+ keyClick(Qt.Key_End)
+ compare(control.currentIndex, 4)
+ compare(currentIndexSpy.count, ++currentIndexCount)
+
+ compare(control.highlightedIndex, -1)
+ compare(highlightedIndexSpy.count, highlightedIndexCount)
+
+ compare(activatedSpy.count, ++activatedCount)
+ compare(activatedSpy.signalArguments[activatedCount-1][0], 4)
+
+ compare(highlightedSpy.count, highlightedCount)
+
+ // repeat (no changes/signals)
+ keyClick(Qt.Key_End)
+ compare(currentIndexSpy.count, currentIndexCount)
+ compare(highlightedIndexSpy.count, highlightedIndexCount)
+ compare(activatedSpy.count, activatedCount)
+ compare(highlightedSpy.count, highlightedCount)
+
+ // home (popup closed)
+ keyClick(Qt.Key_Home)
+ compare(control.currentIndex, 0)
+ compare(currentIndexSpy.count, ++currentIndexCount)
+
+ compare(control.highlightedIndex, -1)
+ compare(highlightedIndexSpy.count, highlightedIndexCount)
+
+ compare(activatedSpy.count, ++activatedCount)
+ compare(activatedSpy.signalArguments[activatedCount-1][0], 0)
+
+ compare(highlightedSpy.count, highlightedCount)
+
+ // repeat (no changes/signals)
+ keyClick(Qt.Key_Home)
+ compare(currentIndexSpy.count, currentIndexCount)
+ compare(highlightedIndexSpy.count, highlightedIndexCount)
+ compare(activatedSpy.count, activatedCount)
+ compare(highlightedSpy.count, highlightedCount)
+
+ control.popup.open()
+ compare(control.highlightedIndex, 0)
+ compare(highlightedIndexSpy.count, ++highlightedIndexCount)
+ compare(highlightedSpy.count, highlightedCount)
+
+ // end (popup open)
+ keyClick(Qt.Key_End)
+ compare(control.currentIndex, 0)
+ compare(currentIndexSpy.count, currentIndexCount)
+
+ compare(control.highlightedIndex, 4)
+ compare(highlightedIndexSpy.count, ++highlightedIndexCount)
+
+ compare(activatedSpy.count, activatedCount)
+
+ compare(highlightedSpy.count, ++highlightedCount)
+ compare(highlightedSpy.signalArguments[highlightedCount-1][0], 4)
+
+ // repeat (no changes/signals)
+ keyClick(Qt.Key_End)
+ compare(currentIndexSpy.count, currentIndexCount)
+ compare(highlightedIndexSpy.count, highlightedIndexCount)
+ compare(activatedSpy.count, activatedCount)
+ compare(highlightedSpy.count, highlightedCount)
+
+ // home (popup open)
+ keyClick(Qt.Key_Home)
+ compare(control.currentIndex, 0)
+ compare(currentIndexSpy.count, currentIndexCount)
+
+ compare(control.highlightedIndex, 0)
+ compare(highlightedIndexSpy.count, ++highlightedIndexCount)
+
+ compare(activatedSpy.count, activatedCount)
+
+ compare(highlightedSpy.count, ++highlightedCount)
+ compare(highlightedSpy.signalArguments[highlightedCount-1][0], 0)
+
+ // repeat (no changes/signals)
+ keyClick(Qt.Key_Home)
+ compare(currentIndexSpy.count, currentIndexCount)
+ compare(highlightedIndexSpy.count, highlightedIndexCount)
+ compare(activatedSpy.count, activatedCount)
+ compare(highlightedSpy.count, highlightedCount)
+
+ control.destroy()
+ }
+
+ function test_keySearch() {
+ var control = comboBox.createObject(testCase, {model: ["Banana", "Coco", "Coconut", "Apple", "Cocomuffin"]})
+ verify(control)
+
+ control.forceActiveFocus()
+ verify(control.activeFocus)
+
+ compare(control.currentIndex, 0)
+ compare(control.currentText, "Banana")
+
+ keyPress(Qt.Key_C)
+ compare(control.currentIndex, 1)
+ compare(control.currentText, "Coco")
+
+ // no match
+ keyPress(Qt.Key_N)
+ compare(control.currentIndex, 1)
+ compare(control.currentText, "Coco")
+
+ keyPress(Qt.Key_C)
+ compare(control.currentIndex, 2)
+ compare(control.currentText, "Coconut")
+
+ keyPress(Qt.Key_C)
+ compare(control.currentIndex, 4)
+ compare(control.currentText, "Cocomuffin")
+
+ // wrap
+ keyPress(Qt.Key_C)
+ compare(control.currentIndex, 1)
+ compare(control.currentText, "Coco")
+
+ keyPress(Qt.Key_A)
+ compare(control.currentIndex, 3)
+ compare(control.currentText, "Apple")
+
+ keyPress(Qt.Key_B)
+ compare(control.currentIndex, 0)
+ compare(control.currentText, "Banana")
+
+ control.destroy()
+ }
+
function test_popup() {
var control = comboBox.createObject(testCase, {model: 3})
verify(control)