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.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
index 60485b30a5..21098f4036 100644
--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
@@ -112,6 +112,7 @@ private slots:
void tabsForRtl();
void tabHeight();
void capitalization_allUpperCase();
+ void capitalization_allUpperCase_newline();
void capitalization_allLowerCase();
void capitalization_smallCaps();
void capitalization_capitalize();
@@ -1670,6 +1671,28 @@ void tst_QTextLayout::capitalization_allUpperCase()
QVERIFY(engine->layoutData->items.at(0).analysis.flags == QScriptAnalysis::Uppercase);
}
+void tst_QTextLayout::capitalization_allUpperCase_newline()
+{
+ QFont font(testFont);
+ font.setCapitalization(QFont::AllUppercase);
+
+ QString tmp = "hello\nworld!";
+ tmp.replace(QLatin1Char('\n'), QChar::LineSeparator);
+
+ QTextLayout layout(tmp, font);
+ layout.setCacheEnabled(true);
+ layout.beginLayout();
+ layout.createLine();
+ layout.endLayout();
+
+ QTextEngine *engine = layout.engine();
+ engine->itemize();
+ QCOMPARE(engine->layoutData->items.count(), 3);
+ QVERIFY(engine->layoutData->items.at(0).analysis.flags == QScriptAnalysis::Uppercase);
+ QVERIFY(engine->layoutData->items.at(1).analysis.flags == QScriptAnalysis::LineOrParagraphSeparator);
+ QVERIFY(engine->layoutData->items.at(2).analysis.flags == QScriptAnalysis::Uppercase);
+}
+
void tst_QTextLayout::capitalization_allLowerCase()
{
QFont font(testFont);