summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorKurt Korbatits <kurt.korbatits@nokia.com>2012-01-13 13:05:50 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-16 01:55:26 +0100
commit7940521fd9d985b9565193a5bb8d13fc92ac1042 (patch)
tree393f2dc41e3635fa4895fefad47d7b6d77be413c /tests/auto
parent990e890b9ed6cfc0ee7c24d8a829cef84baf8aac (diff)
Changed qrawfont unittest to work from installation directory.
- uses QFINDTESTDATA instead of SRCDIR - Added check to test if fonts are present and generate one skip instead of 1200+ on platforms were no fonts are available for testing. - fail if unittest fonts not found. Change-Id: I9c051cf8cef6cd355f16647c614c86771dcf6150 Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/gui/text/qrawfont/qrawfont.pro6
-rw-r--r--tests/auto/gui/text/qrawfont/tst_qrawfont.cpp73
2 files changed, 44 insertions, 35 deletions
diff --git a/tests/auto/gui/text/qrawfont/qrawfont.pro b/tests/auto/gui/text/qrawfont/qrawfont.pro
index 3b5e2b1046..149ad6442e 100644
--- a/tests/auto/gui/text/qrawfont/qrawfont.pro
+++ b/tests/auto/gui/text/qrawfont/qrawfont.pro
@@ -8,8 +8,4 @@ SOURCES += \
INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src
-wince* {
- DEFINES += SRCDIR=\\\"\\\"
-} else {
- DEFINES += SRCDIR=\\\"$$PWD/\\\"
-}
+TESTDATA += testfont_bold_italic.ttf testfont.ttf
diff --git a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
index 1bb18176f5..a0cda39c27 100644
--- a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
+++ b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include <QtTest/QtTest>
+#include <QtGui/QFontDatabase>
#include <qrawfont.h>
#include <private/qrawfont_p.h>
@@ -50,6 +51,7 @@ class tst_QRawFont: public QObject
#if !defined(QT_NO_RAWFONT)
private slots:
void init();
+ void initTestCase();
void invalidRawFont();
@@ -99,7 +101,9 @@ private slots:
#if defined(Q_WS_X11) || defined(Q_WS_MAC)
void multipleRawFontsFromData();
#endif
-
+private:
+ QString testFont;
+ QString testFontBoldItalic;
#endif // QT_NO_RAWFONT
};
@@ -113,6 +117,18 @@ void tst_QRawFont::init()
{
}
+void tst_QRawFont::initTestCase()
+{
+ testFont = QFINDTESTDATA("testfont.ttf");
+ testFontBoldItalic = QFINDTESTDATA("testfont_bold_italic.ttf");
+ if (testFont.isEmpty() || testFontBoldItalic.isEmpty())
+ QFAIL("qrawfont unittest font files not found!");
+
+ QFontDatabase database;
+ if (database.families().count() == 0)
+ QSKIP("No fonts available!!!");
+}
+
void tst_QRawFont::invalidRawFont()
{
QRawFont font;
@@ -140,7 +156,7 @@ void tst_QRawFont::explicitRawFontNotLoadedInDatabase()
{
QFETCH(QFont::HintingPreference, hintingPreference);
- QRawFont font(QLatin1String(SRCDIR "testfont.ttf"), 10, hintingPreference);
+ QRawFont font(testFont, 10, hintingPreference);
QVERIFY(font.isValid());
QVERIFY(!QFontDatabase().families().contains(font.familyName()));
@@ -160,7 +176,7 @@ void tst_QRawFont::explicitRawFontNotAvailableInSystem()
{
QFETCH(QFont::HintingPreference, hintingPreference);
- QRawFont rawfont(QLatin1String(SRCDIR "testfont.ttf"), 10, hintingPreference);
+ QRawFont rawfont(testFont, 10, hintingPreference);
{
QFont font(rawfont.familyName(), 10);
@@ -190,7 +206,7 @@ void tst_QRawFont::correctFontData_data()
int *hintingPreference = hintingPreferences;
while (*hintingPreference >= 0) {
- QString fileName = QLatin1String(SRCDIR "testfont.ttf");
+ QString fileName = testFont;
QString title = fileName
+ QLatin1String(": hintingPreference=")
+ QString::number(*hintingPreference);
@@ -204,7 +220,7 @@ void tst_QRawFont::correctFontData_data()
<< 1000.0
<< 10.0;
- fileName = QLatin1String(SRCDIR "testfont_bold_italic.ttf");
+ fileName = testFontBoldItalic;
title = fileName
+ QLatin1String(": hintingPreference=")
+ QString::number(*hintingPreference);
@@ -245,7 +261,7 @@ void tst_QRawFont::correctFontData()
void tst_QRawFont::glyphIndices()
{
- QRawFont font(QLatin1String(SRCDIR "testfont.ttf"), 10);
+ QRawFont font(testFont, 10);
QVERIFY(font.isValid());
QVector<quint32> glyphIndices = font.glyphIndexesForString(QLatin1String("Foobar"));
@@ -269,7 +285,7 @@ void tst_QRawFont::advances()
{
QFETCH(QFont::HintingPreference, hintingPreference);
- QRawFont font(QLatin1String(SRCDIR "testfont.ttf"), 10, hintingPreference);
+ QRawFont font(testFont, 10, hintingPreference);
QVERIFY(font.isValid());
QRawFontPrivate *font_d = QRawFontPrivate::get(font);
@@ -292,7 +308,7 @@ void tst_QRawFont::advances()
void tst_QRawFont::textLayout()
{
QFontDatabase fontDatabase;
- int id = fontDatabase.addApplicationFont(SRCDIR "testfont.ttf");
+ int id = fontDatabase.addApplicationFont(testFont);
QVERIFY(id >= 0);
QString familyName = QString::fromLatin1("QtBidiTestFont");
@@ -371,7 +387,7 @@ void tst_QRawFont::fontTable()
QFETCH(int, offset);
QFETCH(quint32, expectedValue);
- QRawFont font(QString::fromLatin1(SRCDIR "testfont.ttf"), 10, hintingPreference);
+ QRawFont font(testFont, 10, hintingPreference);
QVERIFY(font.isValid());
QByteArray table = font.fontTable(tagName);
@@ -396,7 +412,7 @@ void tst_QRawFont::supportedWritingSystems_data()
QTest::newRow(qPrintable(QString::fromLatin1("testfont.ttf, hintingPreference=%1")
.arg(hintingPreference)))
- << QString::fromLatin1(SRCDIR "testfont.ttf")
+ << testFont
<< (QList<QFontDatabase::WritingSystem>()
<< QFontDatabase::Latin
<< QFontDatabase::Hebrew
@@ -405,7 +421,7 @@ void tst_QRawFont::supportedWritingSystems_data()
QTest::newRow(qPrintable(QString::fromLatin1("testfont_bold_italic.ttf, hintingPreference=%1")
.arg(hintingPreference)))
- << QString::fromLatin1(SRCDIR "testfont_bold_italic.ttf")
+ << testFontBoldItalic
<< (QList<QFontDatabase::WritingSystem>()
<< QFontDatabase::Latin
<< QFontDatabase::Hebrew
@@ -439,8 +455,8 @@ void tst_QRawFont::supportsCharacter_data()
QTest::addColumn<bool>("shouldBeSupported");
const char *fileNames[2] = {
- SRCDIR "testfont.ttf",
- SRCDIR "testfont_bold_italic.ttf"
+ "testfont.ttf",
+ "testfont_bold_italic.ttf"
};
for (int hintingPreference=QFont::PreferDefaultHinting;
@@ -448,7 +464,7 @@ void tst_QRawFont::supportsCharacter_data()
++hintingPreference) {
for (int i=0; i<2; ++i) {
- QString fileName = QLatin1String(fileNames[i]);
+ QString fileName = QFINDTESTDATA(fileNames[i]);
// Latin text
for (char ch='!'; ch<='~'; ++ch) {
@@ -510,7 +526,7 @@ void tst_QRawFont::supportsUcs4Character_data()
++hintingPreference) {
for (quint32 ch=0x10330; ch<=0x1034A; ++ch) {
{
- QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf");
+ QString fileName = testFont;
QString title = QString::fromLatin1("%1, character=0x%2, hintingPreference=%3")
.arg(fileName).arg(QString::number(ch, 16)).arg(hintingPreference);
@@ -522,7 +538,7 @@ void tst_QRawFont::supportsUcs4Character_data()
}
{
- QString fileName = QString::fromLatin1(SRCDIR "testfont_bold_italic.ttf");
+ QString fileName = testFontBoldItalic;
QString title = QString::fromLatin1("%1, character=0x%2, hintingPreference=%3")
.arg(fileName).arg(QString::number(ch, 16)).arg(hintingPreference);
@@ -560,7 +576,7 @@ void tst_QRawFont::fromFont_data()
QString titleBase = QString::fromLatin1("%2, hintingPreference=%1, writingSystem=%3")
.arg(i);
{
- QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf");
+ QString fileName = testFont;
QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any;
QString title = titleBase.arg(fileName).arg(writingSystem);
@@ -572,7 +588,7 @@ void tst_QRawFont::fromFont_data()
}
{
- QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf");
+ QString fileName = testFont;
QFontDatabase::WritingSystem writingSystem = QFontDatabase::Hebrew;
QString title = titleBase.arg(fileName).arg(writingSystem);
@@ -584,7 +600,7 @@ void tst_QRawFont::fromFont_data()
}
{
- QString fileName = QString::fromLatin1(SRCDIR "testfont.ttf");
+ QString fileName = testFont;
QFontDatabase::WritingSystem writingSystem = QFontDatabase::Latin;
QString title = titleBase.arg(fileName).arg(writingSystem);
@@ -644,7 +660,7 @@ void tst_QRawFont::copyConstructor()
QRawFont outerRawFont;
{
- QRawFont rawFont(QString::fromLatin1(SRCDIR "testfont.ttf"), 11, hintingPreference);
+ QRawFont rawFont(testFont, 11, hintingPreference);
QVERIFY(rawFont.isValid());
rawFontFamilyName = rawFont.familyName();
@@ -712,7 +728,7 @@ void tst_QRawFont::detach()
QRawFont outerRawFont;
{
- QRawFont rawFont(QString::fromLatin1(SRCDIR "testfont.ttf"), 11, hintingPreference);
+ QRawFont rawFont(testFont, 11, hintingPreference);
QVERIFY(rawFont.isValid());
rawFontFamilyName = rawFont.familyName();
@@ -725,8 +741,7 @@ void tst_QRawFont::detach()
{
QRawFont otherRawFont(rawFont);
- otherRawFont.loadFromFile(QLatin1String(SRCDIR "testfont.ttf"),
- rawFontPixelSize, hintingPreference);
+ otherRawFont.loadFromFile(testFont, rawFontPixelSize, hintingPreference);
QVERIFY(otherRawFont.isValid());
QCOMPARE(otherRawFont.pixelSize(), rawFontPixelSize);
@@ -740,8 +755,7 @@ void tst_QRawFont::detach()
{
QRawFont otherRawFont = rawFont;
- otherRawFont.loadFromFile(QLatin1String(SRCDIR "testfont.ttf"),
- rawFontPixelSize, hintingPreference);
+ otherRawFont.loadFromFile(testFont, rawFontPixelSize, hintingPreference);
QVERIFY(otherRawFont.isValid());
QCOMPARE(otherRawFont.pixelSize(), rawFontPixelSize);
@@ -754,8 +768,7 @@ void tst_QRawFont::detach()
outerRawFont = rawFont;
- rawFont.loadFromFile(QLatin1String(SRCDIR "testfont.ttf"), rawFontPixelSize,
- hintingPreference);
+ rawFont.loadFromFile(testFont, rawFontPixelSize, hintingPreference);
}
QVERIFY(outerRawFont.isValid());
@@ -783,7 +796,7 @@ void tst_QRawFont::unsupportedWritingSystem()
QFETCH(QFont::HintingPreference, hintingPreference);
QFontDatabase fontDatabase;
- int id = fontDatabase.addApplicationFont(QLatin1String(SRCDIR "testfont.ttf"));
+ int id = fontDatabase.addApplicationFont(testFont);
QFont font("QtBidiTestFont");
font.setHintingPreference(hintingPreference);
@@ -857,13 +870,13 @@ void tst_QRawFont::rawFontSetPixelSize()
#if defined(Q_WS_X11) || defined(Q_WS_MAC)
void tst_QRawFont::multipleRawFontsFromData()
{
- QFile file(QString::fromLatin1(SRCDIR "testfont.ttf"));
+ QFile file(testFont);
QRawFont testFont;
if (file.open(QIODevice::ReadOnly)) {
testFont.loadFromData(file.readAll(), 11, QFont::PreferDefaultHinting);
file.close();
}
- file.setFileName(QLatin1String(SRCDIR "testfont_bold_italic.ttf"));
+ file.setFileName(testFontBoldItalic);
QRawFont testFontBoldItalic;
if (file.open(QIODevice::ReadOnly))
testFontBoldItalic.loadFromData(file.readAll(), 11, QFont::PreferDefaultHinting);