diff options
Diffstat (limited to 'tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp')
-rw-r--r-- | tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp | 24 |
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 28db0ba291..2ae12ec246 100644 --- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp @@ -44,6 +44,8 @@ #include <qfontdatabase.h> #include <qfontinfo.h> #include <qfontmetrics.h> +#include <qtextlayout.h> +#include <private/qrawfont_p.h> #include <qpa/qplatformfontdatabase.h> class tst_QFontDatabase : public QObject @@ -77,6 +79,7 @@ private slots: void addAppFont(); void aliases(); + void fallbackFonts(); private: const QString m_testFont; @@ -285,5 +288,26 @@ void tst_QFontDatabase::aliases() QVERIFY(db.hasFamily(alias)); } +void tst_QFontDatabase::fallbackFonts() +{ + QTextLayout layout; + QString s; + s.append(QChar(0x31)); + s.append(QChar(0x05D0)); + layout.setText(s); + layout.beginLayout(); + layout.createLine(); + layout.endLayout(); + + QList<QGlyphRun> runs = layout.glyphRuns(0, 1); + foreach (QGlyphRun run, runs) { + QRawFont rawFont = run.rawFont(); + QVERIFY(rawFont.isValid()); + + QCOMPARE(run.glyphIndexes().size(), 1); + QVERIFY(run.glyphIndexes().at(0) != 0); + } +} + QTEST_MAIN(tst_QFontDatabase) #include "tst_qfontdatabase.moc" |