aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/inputpanelcontrols/data/tst_inputpanelcontrols.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/inputpanelcontrols/data/tst_inputpanelcontrols.qml')
-rw-r--r--tests/auto/inputpanelcontrols/data/tst_inputpanelcontrols.qml98
1 files changed, 98 insertions, 0 deletions
diff --git a/tests/auto/inputpanelcontrols/data/tst_inputpanelcontrols.qml b/tests/auto/inputpanelcontrols/data/tst_inputpanelcontrols.qml
new file mode 100644
index 00000000..a244e752
--- /dev/null
+++ b/tests/auto/inputpanelcontrols/data/tst_inputpanelcontrols.qml
@@ -0,0 +1,98 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtTest
+import QtQuick
+import QtQuick.Window
+import QtQuick.Controls
+
+Rectangle {
+ id: container
+ width: 800
+ height: 640
+ color: "blue"
+
+ Component {
+ id: textInputComp
+ TextEdit {
+ anchors.fill: parent
+ visible: true
+ focus: true
+ color: "white"
+ }
+ }
+
+ TestCase {
+ id: testcase
+ name: "tst_inputpanelcontrols"
+ when: windowShown
+
+ property var inputPanel: null
+ property var textInput: null
+
+ function initTestCase() {
+ var inputPanelComp = Qt.createComponent("inputpanel/inputpanel.qml")
+ compare(inputPanelComp.status, Component.Ready, "Failed to create component: "+inputPanelComp.errorString())
+ inputPanel = inputPanelComp.createObject(container)
+
+ textInput = textInputComp.createObject(container)
+ }
+
+ function cleanupTestCase() {
+ if (inputPanel)
+ inputPanel.destroy()
+ }
+
+ function prepareTest() {
+ var window = container.Window.window
+ verify(window)
+ window.raise()
+ window.requestActivate()
+ tryCompare(window, "active", true)
+
+ container.forceActiveFocus()
+ waitForRendering(container)
+ textInput.forceActiveFocus()
+ waitForRendering(inputPanel)
+
+ textInput.text = ""
+ verify(inputPanel.visible === true)
+ verify(textInput.activeFocus === true)
+ }
+
+ Component {
+ id: modalDialogComp
+ Dialog {
+ id: dialog
+ modal: true
+ anchors.centerIn: parent
+ width: 200
+ height: 150
+ property alias textEdit: textEdit
+ TextEdit {
+ id: textEdit
+ visible: true
+ focus: true
+ color: "red"
+ }
+ }
+ }
+
+ function test_worksWithModal() {
+ prepareTest()
+ var modalDialog = modalDialogComp.createObject(container)
+ modalDialog.open()
+ modalDialog.forceActiveFocus()
+
+ verify(modalDialog.textEdit.activeFocus === true)
+ compare(modalDialog.textEdit.text, "")
+ verify(inputPanel.visible === true)
+ waitForRendering(inputPanel)
+
+ mousePress(inputPanel, 10, 10, Qt.LeftButton, Qt.NoModifier, 20)
+ verify(modalDialog.visible === true)
+ mouseRelease(inputPanel, 10, 10, Qt.LeftButton, Qt.NoModifier, 20)
+ compare(modalDialog.textEdit.text, "Q")
+ }
+ }
+}