diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-13 13:54:15 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-19 05:53:03 +0000 |
commit | 9876f7ac8bd3679a9ed0e617aaadad032403a88f (patch) | |
tree | 9b43c21ee5b4988ed893b7c4dbcd0b40b5a82184 /tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp | |
parent | b923553bea186e5d50b94ee8875f4d5ff6f0446a (diff) |
QQuickTextEdit: added clear() method
Task-number: QTBUG-50428
Change-Id: Id618616f8d8d50c2a2eba79a2bf6969662e727b8
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp')
-rw-r--r-- | tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp index f71168412b..e8b84d4554 100644 --- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp +++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp @@ -194,6 +194,7 @@ private slots: void redo(); void undo_keypressevents_data(); void undo_keypressevents(); + void clear(); void baseUrl(); void embeddedImages(); @@ -5247,6 +5248,66 @@ void tst_qquicktextedit::undo_keypressevents() QVERIFY(textEdit->text().isEmpty()); } +void tst_qquicktextedit::clear() +{ + QString componentStr = "import QtQuick 2.0\nTextEdit { focus: true }"; + QQmlComponent textEditComponent(&engine); + textEditComponent.setData(componentStr.toLatin1(), QUrl()); + QQuickTextEdit *textEdit = qobject_cast<QQuickTextEdit*>(textEditComponent.create()); + QVERIFY(textEdit != 0); + + QQuickWindow window; + textEdit->setParentItem(window.contentItem()); + window.show(); + window.requestActivate(); + QTest::qWaitForWindowActive(&window); + QVERIFY(textEdit->hasActiveFocus()); + + QSignalSpy spy(textEdit, SIGNAL(canUndoChanged())); + + textEdit->setText("I am Legend"); + QCOMPARE(textEdit->text(), QString("I am Legend")); + textEdit->clear(); + QVERIFY(textEdit->text().isEmpty()); + + QCOMPARE(spy.count(), 1); + + // checks that clears can be undone + textEdit->undo(); + QVERIFY(!textEdit->canUndo()); + QCOMPARE(spy.count(), 2); + QCOMPARE(textEdit->text(), QString("I am Legend")); + + textEdit->setCursorPosition(4); + QInputMethodEvent preeditEvent("PREEDIT", QList<QInputMethodEvent::Attribute>()); + QGuiApplication::sendEvent(textEdit, &preeditEvent); + QCOMPARE(textEdit->text(), QString("I am Legend")); + QCOMPARE(textEdit->preeditText(), QString("PREEDIT")); + + textEdit->clear(); + QVERIFY(textEdit->text().isEmpty()); + + QCOMPARE(spy.count(), 3); + + // checks that clears can be undone + textEdit->undo(); + QVERIFY(!textEdit->canUndo()); + QCOMPARE(spy.count(), 4); + QCOMPARE(textEdit->text(), QString("I am Legend")); + + textEdit->setText(QString("<i>I am Legend</i>")); + QCOMPARE(textEdit->text(), QString("<i>I am Legend</i>")); + textEdit->clear(); + QVERIFY(textEdit->text().isEmpty()); + + QCOMPARE(spy.count(), 5); + + // checks that clears can be undone + textEdit->undo(); + QCOMPARE(spy.count(), 6); + QCOMPARE(textEdit->text(), QString("<i>I am Legend</i>")); +} + void tst_qquicktextedit::baseUrl() { QUrl localUrl("file:///tests/text.qml"); |