aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/inputpanel/data/tst_inputpanel.qml
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2018-08-28 11:51:06 +0300
committerMitch Curtis <mitch.curtis@qt.io>2018-09-07 08:21:47 +0000
commit3adc25c8b2105418f86d0c6390832e887d483cc0 (patch)
tree29f2baca228aa8488df088a9a6a00354c3bcadbf /tests/auto/inputpanel/data/tst_inputpanel.qml
parentea088ff4c53e625be194f4c915fed912f9518bcf (diff)
Enable layout mirroring for word candidate list
Change 4a92afe75bfb7886ecb1b3282b05b2985c39fe3c disabled layout mirroring for virtual keyboard. This change enables layout mirroring for word candidate list. Changes to navigation cursor logic are necessary, so that navigation cursor follows text direction. Task-number: QTBUG-70041 Change-Id: I59ec8968294c1c342e10f718dbd2360f25378956 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/inputpanel/data/tst_inputpanel.qml')
-rw-r--r--tests/auto/inputpanel/data/tst_inputpanel.qml38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/auto/inputpanel/data/tst_inputpanel.qml b/tests/auto/inputpanel/data/tst_inputpanel.qml
index eea2f97e..7cea7058 100644
--- a/tests/auto/inputpanel/data/tst_inputpanel.qml
+++ b/tests/auto/inputpanel/data/tst_inputpanel.qml
@@ -84,6 +84,7 @@ Rectangle {
inputPanel.setWclAutoCommitWord(data !== undefined && data.hasOwnProperty("wclAutoCommitWord") && data.wclAutoCommitWord)
inputPanel.setFullScreenMode(data !== undefined && data.hasOwnProperty("fullScreenMode") && data.fullScreenMode)
inputPanel.setExternalLanguageSwitchEnabled(data !== undefined && data.hasOwnProperty("externalLanguageSwitchEnabled") && data.externalLanguageSwitchEnabled)
+ inputPanel.setLayoutMirroring(data !== undefined && data.hasOwnProperty("layoutMirroring") && data.layoutMirroring)
var window = container.Window.window
verify(window)
@@ -780,6 +781,43 @@ Rectangle {
verify(textInput.text.length > 0)
}
+ function test_navigationKeyLayoutMirroring_data() {
+ return [
+ { layoutMirroring: false },
+ { layoutMirroring: true },
+ ]
+ }
+
+ function test_navigationKeyLayoutMirroring(data) {
+ prepareTest(data)
+
+ if (!inputPanel.activateNavigationKeyMode())
+ skip("Arrow key navigation not enabled")
+ verify(inputPanel.naviationHighlight.visible)
+
+ verify(inputPanel.navigateToKey("q"))
+ var initialKey = inputPanel.keyboardInputArea.initialKey
+
+ var keysTraversed = []
+ do {
+ verify(keysTraversed.indexOf(inputPanel.keyboardInputArea.initialKey) === -1)
+ var currentKey = inputPanel.keyboardInputArea.initialKey
+ keysTraversed.push(currentKey)
+ inputPanel.emulateNavigationKeyClick(Qt.Key_Right)
+ } while (initialKey !== inputPanel.keyboardInputArea.initialKey)
+
+ inputPanel.setLayoutMirroring(!data.layoutMirroring)
+
+ do {
+ var indexOfKey = keysTraversed.indexOf(inputPanel.keyboardInputArea.initialKey)
+ verify(indexOfKey !== -1)
+ keysTraversed.splice(indexOfKey, 1)
+ inputPanel.emulateNavigationKeyClick(Qt.Key_Left)
+ } while (initialKey !== inputPanel.keyboardInputArea.initialKey)
+
+ compare(keysTraversed.length, 0)
+ }
+
function test_spellCorrectionSuggestions_data() {
return [
{ initInputMethodHints: Qt.ImhNoPredictiveText, inputSequence: "hwllo", unexpectedSuggestion: "Hello", outputText: "Hwllo" },