diff options
Diffstat (limited to 'tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp')
-rw-r--r-- | tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index d06807eedb..53c76a0da6 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -205,6 +205,12 @@ private slots: void countTextChangedOnRemove(); +#ifndef QT_NO_REGEXP + void findWithRegExp(); + void findBackwardWithRegExp(); + void findWithRegExpReturnsFalseIfNoMoreResults(); +#endif + private: void createSelection(); int blockCount() const; @@ -2515,5 +2521,44 @@ void tst_QTextEdit::countTextChangedOnRemove() QCOMPARE(spy.count(), 1); } +#ifndef QT_NO_REGEXP +void tst_QTextEdit::findWithRegExp() +{ + ed->setHtml(QStringLiteral("arbitrary te<span style=\"color:#ff0000\">xt</span>")); + QRegExp rx("\\w{2}xt"); + + bool found = ed->find(rx); + + QVERIFY(found == true); + QCOMPARE(ed->textCursor().selectedText(), QStringLiteral("text")); +} + +void tst_QTextEdit::findBackwardWithRegExp() +{ + ed->setPlainText(QStringLiteral("arbitrary text")); + QTextCursor cursor = ed->textCursor(); + cursor.movePosition(QTextCursor::End); + ed->setTextCursor(cursor); + QRegExp rx("a\\w*t"); + + bool found = ed->find(rx, QTextDocument::FindBackward); + + QVERIFY(found == true); + QCOMPARE(ed->textCursor().selectedText(), QStringLiteral("arbit")); +} + +void tst_QTextEdit::findWithRegExpReturnsFalseIfNoMoreResults() +{ + ed->setPlainText(QStringLiteral("arbitrary text")); + QRegExp rx("t.xt"); + ed->find(rx); + + bool found = ed->find(rx); + + QVERIFY(found == false); + QCOMPARE(ed->textCursor().selectedText(), QStringLiteral("text")); +} +#endif + QTEST_MAIN(tst_QTextEdit) #include "tst_qtextedit.moc" |