summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
diff options
context:
space:
mode:
authorPekka Vuorela <pekka.ta.vuorela@nokia.com>2012-01-17 16:19:34 +0200
committerQt by Nokia <qt-info@nokia.com>2012-01-19 00:16:42 +0100
commita3a0b0373540fa2ee9a2b85e5d394fb03e879483 (patch)
treea842f00ca86916e453c335e7dffbbf697e904586 /tests/auto/widgets
parent8ecc2da31d00a3d4ae5379f1acffe295a31d891b (diff)
QWidget editors to return correct value for Qt::ImEnabled
Qt::ImEnabled input method query was added for Qt5. Enhancing source compatibility with Qt4 by setting query value in QWidget if widget does not return any valid value. Change-Id: I274c1f6c47a5cb08ecf550b25e5b358622e21d90 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r--tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp13
-rw-r--r--tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp7
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
index 1fabc45cac..0e7186dd17 100644
--- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
@@ -273,6 +273,7 @@ private slots:
void bidiLogicalMovement();
void selectAndCursorPosition();
+ void inputMethod();
void inputMethodSelection();
void inputMethodTentativeCommit();
@@ -3805,6 +3806,18 @@ void tst_QLineEdit::selectAndCursorPosition()
QCOMPARE(testWidget->cursorPosition(), 0);
}
+void tst_QLineEdit::inputMethod()
+{
+ // widget accepts input
+ QInputMethodQueryEvent queryEvent(Qt::ImEnabled);
+ QApplication::sendEvent(testWidget, &queryEvent);
+ QCOMPARE(queryEvent.value(Qt::ImEnabled).toBool(), true);
+
+ testWidget->setEnabled(false);
+ QApplication::sendEvent(testWidget, &queryEvent);
+ QCOMPARE(queryEvent.value(Qt::ImEnabled).toBool(), false);
+}
+
void tst_QLineEdit::inputMethodSelection()
{
testWidget->setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.");
diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp
index a350f4d862..17822336b2 100644
--- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp
@@ -2407,11 +2407,16 @@ void tst_QTextEdit::inputMethodQuery()
ed->setText(text);
ed->selectAll();
- QInputMethodQueryEvent event(Qt::ImQueryInput);
+ QInputMethodQueryEvent event(Qt::ImQueryInput | Qt::ImEnabled);
QGuiApplication::sendEvent(ed, &event);
int anchor = event.value(Qt::ImAnchorPosition).toInt();
int position = event.value(Qt::ImCursorPosition).toInt();
QCOMPARE(qAbs(position - anchor), text.length());
+ QCOMPARE(event.value(Qt::ImEnabled).toBool(), true);
+
+ ed->setEnabled(false);
+ QGuiApplication::sendEvent(ed, &event);
+ QCOMPARE(event.value(Qt::ImEnabled).toBool(), false);
}
QTEST_MAIN(tst_QTextEdit)