diff options
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r-- | tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index a9c063a086..ab128a2ce2 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -202,6 +202,7 @@ private slots: void bidiLogicalMovement_data(); void bidiLogicalMovement(); + void inputMethodEvent(); void inputMethodSelection(); void inputMethodQuery(); @@ -2363,6 +2364,25 @@ void tst_QTextEdit::bidiLogicalMovement() } while (moved && i >= 0); } +void tst_QTextEdit::inputMethodEvent() +{ + // test that text change with an input method event triggers change signal + QSignalSpy spy(ed, SIGNAL(textChanged())); + + QInputMethodEvent event; + event.setCommitString("text"); + QApplication::sendEvent(ed, &event); + QCOMPARE(spy.count(), 1); + spy.clear(); + + QList<QInputMethodEvent::Attribute> attributes; + QInputMethodEvent event2("preedit", attributes); + event2.setTentativeCommitString("string"); + QApplication::sendEvent(ed, &event2); + QCOMPARE(spy.count(), 1); + QCOMPARE(ed->toPlainText(), QString("textstring")); +} + void tst_QTextEdit::inputMethodSelection() { ed->setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); |