diff options
Diffstat (limited to 'tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp')
-rw-r--r-- | tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp | 23 |
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); |