diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2018-02-12 22:37:35 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-02-13 18:49:14 +0000 |
commit | f4700f0dd655ca5254ac67021ab9570c1b0cba7d (patch) | |
tree | aed1480d93d3baf201a2224b65160f2a9a02602b /tests | |
parent | e8f29483a4415e17fa999b2234f142a3304b7a75 (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.qml | 31 |
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() { |