summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
diff options
context:
space:
mode:
authorAlbert Astals Cid <albert.astals.cid@kdab.com>2021-09-28 17:00:59 +0200
committerAlbert Astals Cid <albert.astals.cid@kdab.com>2021-10-04 16:10:11 +0200
commitae10084ef9d9db5f32cc9d42ab7e485d0a896d78 (patch)
tree4b7d2ac4c162669c5466c8f6481710724393d27c /tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
parentc89c14561671aa2ef2e5f7f35b26d8bce59ad77f (diff)
Respect font stretch if set together with font style
Fixes: QTBUG-77854 Change-Id: I2bf9cea9d5ecd151a9d96bbe93e9477a9159ca1f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp')
-rw-r--r--tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
index 1fefec3129..dd3bbde871 100644
--- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
+++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
@@ -80,6 +80,8 @@ private slots:
void registerOpenTypePreferredNamesSystem();
void registerOpenTypePreferredNamesApplication();
+ void stretchRespected();
+
private:
QString m_ledFont;
QString m_testFont;
@@ -349,6 +351,28 @@ static QString testString()
return QStringLiteral("foo bar");
}
+void tst_QFontDatabase::stretchRespected()
+{
+ int italicId = QFontDatabase::addApplicationFont(m_testFontItalic);
+ QVERIFY(italicId != -1);
+
+ QVERIFY(!QFontDatabase::applicationFontFamilies(italicId).isEmpty());
+
+ QString italicFontName = QFontDatabase::applicationFontFamilies(italicId).first();
+
+ QFont italicFont = QFontDatabase::font(italicFontName,
+ QString::fromLatin1("Italic"), 14);
+ QVERIFY(italicFont.italic());
+
+ QFont italicStretchedFont = italicFont;
+ italicStretchedFont.setStretch( 400 );
+
+ QVERIFY(QFontMetricsF(italicFont).horizontalAdvance(QStringLiteral("foobar")) <
+ QFontMetricsF(italicStretchedFont).horizontalAdvance(QStringLiteral("foobar")));
+
+ QFontDatabase::removeApplicationFont(italicId);
+}
+
void tst_QFontDatabase::condensedFontWidthNoFontMerging()
{
int regularFontId = QFontDatabase::addApplicationFont(m_testFont);