summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp')
-rw-r--r--tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp b/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp
index 3810546146..cfe26d23e7 100644
--- a/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp
+++ b/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp
@@ -122,6 +122,8 @@ private slots:
void update();
void query();
void inputDirection();
+ void inputMethodAccepted();
+
private:
InputItem m_inputItem;
PlatformInputContext m_platformInputContext;
@@ -304,5 +306,23 @@ void tst_qinputmethod::inputDirection()
QCOMPARE(m_platformInputContext.m_localeCallCount, 1);
}
+void tst_qinputmethod::inputMethodAccepted()
+{
+ InputItem disabledItem;
+ disabledItem.setEnabled(false);
+
+ DummyWindow window;
+ window.show();
+ QTest::qWaitForWindowShown(&window);
+ window.requestActivateWindow();
+ QTRY_COMPARE(qApp->focusWindow(), &window);
+ window.setFocusObject(&disabledItem);
+
+ QCOMPARE(m_platformInputContext.inputMethodAccepted(), false);
+
+ window.setFocusObject(&m_inputItem);
+ QCOMPARE(m_platformInputContext.inputMethodAccepted(), true);
+}
+
QTEST_MAIN(tst_qinputmethod)
#include "tst_qinputmethod.moc"