From 12d6f700378702d70a3c3c34ab49e2bf2c9cb882 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 8 Jan 2015 13:29:04 +0100 Subject: Fix QTextDocument test when default font is pixel-sized MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the default font has the pixel size set instead of point size, then pointSize() will return -1 and the output from the HTML will include the pixel size instead. This happens e.g. on Android when we extract font information from the system. Change-Id: I26dc49fff215c9887cf0b78dcfff88df0f74450d Reviewed-by: Tor Arne Vestbø --- .../gui/text/qtextdocument/tst_qtextdocument.cpp | 53 +++++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp') diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp index 94cd64ed09..c51d33487e 100644 --- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp +++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp @@ -191,6 +191,7 @@ private slots: private: void backgroundImage_checkExpectedHtml(const QTextDocument &doc); void buildRegExpData(); + static QString cssFontSizeString(const QFont &font); QTextDocument *doc; QTextCursor cursor; @@ -212,6 +213,13 @@ public: void documentChanged(int, int, int) {} }; +QString tst_QTextDocument::cssFontSizeString(const QFont &font) +{ + return font.pointSize() >= 0 + ? QStringLiteral("%1pt").arg(font.pointSizeF()) + : QStringLiteral("%1px").arg(font.pixelSize()); +} + // Testing get/set functions void tst_QTextDocument::getSetCheck() { @@ -254,8 +262,12 @@ void tst_QTextDocument::init() "" - "\n"); - htmlHead = htmlHead.arg(defaultFont.family()).arg(defaultFont.pointSizeF()).arg(defaultFont.weight() * 8).arg((defaultFont.italic() ? "italic" : "normal")); + "\n"); + htmlHead = htmlHead + .arg(defaultFont.family()) + .arg(cssFontSizeString(defaultFont)) + .arg(defaultFont.weight() * 8) + .arg((defaultFont.italic() ? "italic" : "normal")); htmlTail = QString(""); } @@ -1789,12 +1801,16 @@ void tst_QTextDocument::toHtmlBodyBgColor() "" - "\n" "

Blah

" ""); - expectedHtml = expectedHtml.arg(defaultFont.family()).arg(defaultFont.pointSizeF()).arg(defaultFont.weight() * 8).arg((defaultFont.italic() ? "italic" : "normal")); + expectedHtml = expectedHtml + .arg(defaultFont.family()) + .arg(cssFontSizeString(defaultFont)) + .arg(defaultFont.weight() * 8) + .arg((defaultFont.italic() ? "italic" : "normal")); QCOMPARE(doc.toHtml(), expectedHtml); } @@ -1814,12 +1830,15 @@ void tst_QTextDocument::toHtmlBodyBgColorRgba() "" - "\n" "

Blah

" ""); - expectedHtml = expectedHtml.arg(defaultFont.family()).arg(defaultFont.pointSizeF()).arg(defaultFont.weight() * 8).arg((defaultFont.italic() ? "italic" : "normal")); + expectedHtml = expectedHtml.arg(defaultFont.family()) + .arg(cssFontSizeString(defaultFont)) + .arg(defaultFont.weight() * 8) + .arg((defaultFont.italic() ? "italic" : "normal")); QCOMPARE(doc.toHtml(), expectedHtml); } @@ -1839,12 +1858,16 @@ void tst_QTextDocument::toHtmlBodyBgColorTransparent() "" - "\n" "

Blah

" ""); - expectedHtml = expectedHtml.arg(defaultFont.family()).arg(defaultFont.pointSizeF()).arg(defaultFont.weight() * 8).arg((defaultFont.italic() ? "italic" : "normal")); + expectedHtml = expectedHtml + .arg(defaultFont.family()) + .arg(cssFontSizeString(defaultFont)) + .arg(defaultFont.weight() * 8) + .arg((defaultFont.italic() ? "italic" : "normal")); QCOMPARE(doc.toHtml(), expectedHtml); } @@ -2463,8 +2486,10 @@ void tst_QTextDocument::html_defaultFont() doc->setDefaultFont(f); doc->setPlainText("Test"); - QString bodyPart = QString::fromLatin1("") - .arg(f.family()).arg(f.pointSizeF()).arg(f.weight() * 8); + QString bodyPart = QString::fromLatin1("") + .arg(f.family()) + .arg(cssFontSizeString(f)) + .arg(f.weight() * 8); QString html = doc->toHtml(); if (!html.contains(bodyPart)) { @@ -2600,13 +2625,17 @@ void tst_QTextDocument::backgroundImage_checkExpectedHtml(const QTextDocument &d "" - "\n" + "\n" "" "\n\n
" "\n

Blah

" "
"); - expectedHtml = expectedHtml.arg(defaultFont.family()).arg(defaultFont.pointSizeF()).arg(defaultFont.weight() * 8).arg((defaultFont.italic() ? "italic" : "normal")); + expectedHtml = expectedHtml + .arg(defaultFont.family()) + .arg(cssFontSizeString(defaultFont)) + .arg(defaultFont.weight() * 8) + .arg((defaultFont.italic() ? "italic" : "normal")); QCOMPARE(doc.toHtml(), expectedHtml); } -- cgit v1.2.3