summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui
diff options
context:
space:
mode:
authorYann Bodson <yann.bodson@nokia.com>2012-06-25 13:22:12 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-03 01:08:37 +0200
commit2ff6086e0655449ee0c7ca0e4e91ee5bda7ca7bf (patch)
tree18b06e4d7772a8c6097e30f09dc37d818f1e9ea3 /tests/auto/gui
parentf9c73f0785cd19ddd535778270446b7747f217d2 (diff)
Fix capitalization with newline bug
We only want to change the capitalization if the QScriptAnalysis flag was Lowercase, Uppercase or SmallCaps. Task-number: QTBUG-17485 Change-Id: Icbecb09b06a9153866ae81d592b3f6779c2dafb5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Diffstat (limited to 'tests/auto/gui')
-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);