summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qplaintextedit
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-10-06 11:59:47 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-10-06 11:59:47 +0200
commitf49d5b578cfca311654e09a5161588401fc3815a (patch)
tree1d97f3e21bf13b4539dc4d9d934fcd3ea92516ec /tests/auto/widgets/widgets/qplaintextedit
parent848e95025297f8f56443ea7b22a1ddca1cc63cd8 (diff)
parent0edf68120bc72d35d5fe29c84467f5afeacb0585 (diff)
Merge remote-tracking branch 'origin/5.3' into 5.4
Diffstat (limited to 'tests/auto/widgets/widgets/qplaintextedit')
-rw-r--r--tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp25
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"