QScriptItemArray::Iterator iter = m_items.end();
do {
iter--;
- if (iter->analysis.flags < QScriptAnalysis::TabOrObject)
+ if (iter->analysis.flags < QScriptAnalysis::LineOrParagraphSeparator)
iter->analysis.flags = flags;
} while (iter->position > start);
}
void tabsForRtl();
void tabHeight();
void capitalization_allUpperCase();
+ void capitalization_allUpperCase_newline();
void capitalization_allLowerCase();
void capitalization_smallCaps();
void capitalization_capitalize();
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);