diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-03 00:18:24 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-03 00:56:41 +0200 |
commit | e6286ca289db11463d13ec4d31055995b32ad258 (patch) | |
tree | 944bd3a2e93691bdd977ef7818b8241c1193d888 /tests | |
parent | beb7258a56b6ec76531b73cc07ee30132a3f548f (diff) | |
parent | 9ae89313e43689483282ac330ad189db89bfcbba (diff) |
Merge remote-tracking branch 'origin/release' into stable
Manually fixed up: isES -> isOpenGLES
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp | 47 | ||||
-rw-r--r-- | tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp | 15 |
2 files changed, 62 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp index 53aef40df0..59c951332e 100644 --- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp +++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp @@ -192,6 +192,8 @@ private slots: void QTBUG28998_linkColor(); + void textCursorUsageWithinContentsChange(); + private: void backgroundImage_checkExpectedHtml(const QTextDocument &doc); @@ -3021,5 +3023,50 @@ void tst_QTextDocument::QTBUG28998_linkColor() QCOMPARE(format.foreground(), pal.link()); } +class ContentsChangeHandler : public QObject +{ + Q_OBJECT +public: + ContentsChangeHandler(QTextDocument *doc) + : verticalMovementX(-1) + , doc(doc) + { + connect(doc, SIGNAL(contentsChange(int,int,int)), + this, SLOT(saveModifiedText(int, int, int))); + } + +private slots: + void saveModifiedText(int from, int /*charsRemoved*/, int charsAdded) + { + QTextCursor tmp(doc); + tmp.setPosition(from); + tmp.setPosition(from + charsAdded, QTextCursor::KeepAnchor); + text = tmp.selectedText(); + verticalMovementX = tmp.verticalMovementX(); + } + +public: + QString text; + int verticalMovementX; +private: + QTextDocument *doc; +}; + +void tst_QTextDocument::textCursorUsageWithinContentsChange() +{ + // force creation of layout + doc->documentLayout(); + + QTextCursor cursor(doc); + cursor.insertText("initial text"); + + ContentsChangeHandler handler(doc); + + cursor.insertText("new text"); + + QCOMPARE(handler.text, QString("new text")); + QCOMPARE(handler.verticalMovementX, -1); +} + QTEST_MAIN(tst_QTextDocument) #include "tst_qtextdocument.moc" diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp index d0482d77e2..26eaec0470 100644 --- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp @@ -122,6 +122,7 @@ private slots: void boundingRectForUnsetLineWidth(); void boundingRectForSetLineWidth(); void glyphLessItems(); + void justifyTrailingSpaces(); // QTextLine stuff void setNumColumnsWrapAtWordBoundaryOrAnywhere(); @@ -1996,5 +1997,19 @@ void tst_QTextLayout::cursorInNonStopChars() QVERIFY(line.cursorToX(2) == line.cursorToX(3)); } +void tst_QTextLayout::justifyTrailingSpaces() +{ + QTextLayout layout(QStringLiteral(" t"), testFont); + layout.setTextOption(QTextOption(Qt::AlignJustify)); + layout.beginLayout(); + + QTextLine line = layout.createLine(); + line.setLineWidth(5); + + layout.endLayout(); + + QVERIFY(qFuzzyIsNull(layout.lineAt(0).cursorToX(0))); +} + QTEST_MAIN(tst_QTextLayout) #include "tst_qtextlayout.moc" |