diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-10-06 11:59:47 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-10-06 11:59:47 +0200 |
commit | f49d5b578cfca311654e09a5161588401fc3815a (patch) | |
tree | 1d97f3e21bf13b4539dc4d9d934fcd3ea92516ec /tests/auto | |
parent | 848e95025297f8f56443ea7b22a1ddca1cc63cd8 (diff) | |
parent | 0edf68120bc72d35d5fe29c84467f5afeacb0585 (diff) |
Merge remote-tracking branch 'origin/5.3' into 5.4
Change-Id: I132bb6cce68e9f8413200f7ee75586bd1cada38c
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp index cb085e77f3..d8e7fb7a99 100644 --- a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp +++ b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp @@ -147,6 +147,7 @@ private slots: void findWithRegExpReturnsFalseIfNoMoreResults(); #endif void layoutAfterMultiLineRemove(); + void undoCommandRemovesAndReinsertsBlock(); private: void createSelection(); @@ -1604,5 +1605,29 @@ void tst_QPlainTextEdit::layoutAfterMultiLineRemove() QCOMPARE(curs.blockNumber(), 3); } +void tst_QPlainTextEdit::undoCommandRemovesAndReinsertsBlock() +{ + ed->setVisible(true); + ed->setPlainText(QStringLiteral("line1\nline2")); + QCOMPARE(ed->document()->blockCount(), 2); + + QTextCursor cursor = ed->textCursor(); + cursor.movePosition(QTextCursor::Start); + cursor.movePosition(QTextCursor::NextBlock, QTextCursor::KeepAnchor); + cursor.insertText(QStringLiteral("\n")); + QCOMPARE(ed->document()->blockCount(), 2); + + ed->undo(); + QCOMPARE(ed->document()->blockCount(), 2); + + QTextBlock block; + for (block = ed->document()->begin(); block != ed->document()->end(); block = block.next()) { + QVERIFY(block.isValid()); + QCOMPARE(block.length(), 6); + QVERIFY(block.layout()->lineForTextPosition(0).isValid()); + } + +} + QTEST_MAIN(tst_QPlainTextEdit) #include "tst_qplaintextedit.moc" |