aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-01-13 13:54:15 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-01-19 05:53:03 +0000
commit9876f7ac8bd3679a9ed0e617aaadad032403a88f (patch)
tree9b43c21ee5b4988ed893b7c4dbcd0b40b5a82184 /tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
parentb923553bea186e5d50b94ee8875f4d5ff6f0446a (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.cpp61
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");