aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_dialog.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/controls/data/tst_dialog.qml')
-rw-r--r--tests/auto/controls/data/tst_dialog.qml36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_dialog.qml b/tests/auto/controls/data/tst_dialog.qml
index 1bfffc1d..79053c13 100644
--- a/tests/auto/controls/data/tst_dialog.qml
+++ b/tests/auto/controls/data/tst_dialog.qml
@@ -411,4 +411,40 @@ TestCase {
button.clicked()
compare(buttonSpy.count, 1)
}
+
+ Component {
+ id: qtbug85884
+ ApplicationWindow {
+ property alias focusItemActiveFocus: item.activeFocus
+ property alias focusDialogVisible: dialog.visible
+ visible: true
+ Item {
+ id: item
+ focus: true
+ }
+ Dialog {
+ id: dialog
+ focus: true
+ visible: false
+ onActiveFocusChanged: {
+ if (!activeFocus)
+ visible = false
+ }
+ }
+ }
+ }
+
+ function test_focusLeavingDialog(data) {
+ var window = createTemporaryObject(qtbug85884, testCase)
+ verify(window)
+ tryCompare(window, "focusItemActiveFocus", true)
+
+ window.focusDialogVisible = true
+ tryCompare(window, "focusDialogVisible", true)
+ tryCompare(window, "focusItemActiveFocus", false)
+
+ window.focusDialogVisible = false
+ tryCompare(window, "focusDialogVisible", false)
+ tryCompare(window, "focusItemActiveFocus", true)
+ }
}