aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-02-12 22:37:35 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2018-02-13 18:49:14 +0000
commitf4700f0dd655ca5254ac67021ab9570c1b0cba7d (patch)
treeaed1480d93d3baf201a2224b65160f2a9a02602b /tests
parente8f29483a4415e17fa999b2234f142a3304b7a75 (diff)
QQuickStackView: transfer focus to the current item
Task-number: QTBUG-51321 Change-Id: I169491d3e04f3ce015f5a999935f45ec02b1b5ae Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/controls/data/tst_stackview.qml31
1 files changed, 21 insertions, 10 deletions
diff --git a/tests/auto/controls/data/tst_stackview.qml b/tests/auto/controls/data/tst_stackview.qml
index 6f6497c5..3c0f0273 100644
--- a/tests/auto/controls/data/tst_stackview.qml
+++ b/tests/auto/controls/data/tst_stackview.qml
@@ -61,7 +61,7 @@ TestCase {
name: "StackView"
Item { id: item }
- TextField { id: textField }
+ Component { id: textField; TextField { } }
Component { id: component; Item { } }
Component {
@@ -323,22 +323,33 @@ TestCase {
compare(item.height, control.height)
}
- function test_focus() {
+ function test_focus_data() {
+ return [
+ { tag: "true", focus: true, forceActiveFocus: false },
+ { tag: "false", focus: false, forceActiveFocus: false },
+ { tag: "forceActiveFocus()", focus: false, forceActiveFocus: true },
+ ]
+ }
+
+ function test_focus(data) {
var control = createTemporaryObject(stackView, testCase, {initialItem: item, width: 200, height: 200})
verify(control)
- control.forceActiveFocus()
- verify(control.activeFocus)
+ if (data.focus)
+ control.focus = true
+ if (data.forceActiveFocus)
+ control.forceActiveFocus()
+ compare(control.activeFocus, data.focus || data.forceActiveFocus)
- control.push(textField, StackView.Immediate)
- compare(control.currentItem, textField)
- textField.forceActiveFocus()
- verify(textField.activeFocus)
+ var page = control.push(textField, StackView.Immediate)
+ verify(page)
+ compare(control.currentItem, page)
+ compare(page.activeFocus, control.activeFocus)
control.pop(StackView.Immediate)
compare(control.currentItem, item)
- verify(control.activeFocus)
- verify(!textField.activeFocus)
+ compare(item.activeFocus, data.focus || data.forceActiveFocus)
+ verify(!page.activeFocus)
}
function test_find() {