summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp')
-rw-r--r--tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
index def7c88593..25906ebf32 100644
--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
@@ -125,6 +125,7 @@ private slots:
void softHyphens_data();
void softHyphens();
void min_maximumWidth();
+ void min_maximumWidthWithLineSeparator();
private:
QFont testFont;
@@ -2683,5 +2684,32 @@ void tst_QTextLayout::min_maximumWidth()
}
}
+void tst_QTextLayout::min_maximumWidthWithLineSeparator()
+{
+ QTextLayout referenceLayout("text", testFont);
+
+ QString multilineText("text\ntext\ntext");
+ multilineText.replace('\n', QChar::LineSeparator);
+ QTextLayout layout(multilineText, testFont);
+
+ for (int wrapMode = QTextOption::NoWrap; wrapMode <= QTextOption::WrapAtWordBoundaryOrAnywhere; ++wrapMode) {
+ QTextOption opt;
+ opt.setWrapMode((QTextOption::WrapMode)wrapMode);
+
+ referenceLayout.setTextOption(opt);
+ referenceLayout.beginLayout();
+ while (referenceLayout.createLine().isValid()) { }
+ referenceLayout.endLayout();
+
+ layout.setTextOption(opt);
+ layout.beginLayout();
+ while (layout.createLine().isValid()) { }
+ layout.endLayout();
+
+ QCOMPARE(layout.minimumWidth(), referenceLayout.minimumWidth());
+ QCOMPARE(layout.maximumWidth(), referenceLayout.maximumWidth());
+ }
+}
+
QTEST_MAIN(tst_QTextLayout)
#include "tst_qtextlayout.moc"