summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRohan McGovern <rohan.mcgovern@nokia.com>2011-08-18 09:40:55 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-18 08:05:38 +0200
commit3817a82ebdb777e54e7594f205f3cd69a12cc874 (patch)
treef19b055347967862e9fe55616f099a25e49536ba /tests
parent1ed19b09ce9b250f100f528ef07bf515225958c7 (diff)
test: fixed XPASS from tst_qstatictext on qpa
These tests were written to compare two different methods of drawing text, to ensure the result was the same. However, if _both_ methods turned out to be complete no-ops, the test would unexpectedly pass, as it never verified that anything was painted. Add additional verification steps and QEXPECT_FAIL them on qpa for now. Task-number: QTBUG-20977 Change-Id: I1ce1b7c2bcd683fc9eeaeb8d1483268e56f5cf08 Reviewed-on: http://codereview.qt.nokia.com/3117 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qstatictext/tst_qstatictext.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp
index 704f19b72d..5d5ed3c737 100644
--- a/tests/auto/qstatictext/tst_qstatictext.cpp
+++ b/tests/auto/qstatictext/tst_qstatictext.cpp
@@ -60,6 +60,8 @@ private:
bool supportsTransformations() const;
private slots:
+ void initTestCase();
+
void init();
void cleanup();
@@ -99,8 +101,20 @@ private slots:
void underlinedColor_qtbug20159();
void textDocumentColor();
+
+private:
+ QImage const m_whiteSquare;
};
+void tst_QStaticText::initTestCase()
+{
+ // a "blank" square; we compare against in our testfunctions to verify
+ // that we have actually painted something
+ QPixmap pm(1000, 1000);
+ pm.fill(Qt::white);
+ const_cast<QImage&>(m_whiteSquare) = pm.toImage();
+}
+
void tst_QStaticText::init()
{
}
@@ -169,6 +183,7 @@ void tst_QStaticText::drawToPoint()
p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text);
}
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawStaticText, imageDrawText);
}
@@ -208,6 +223,7 @@ void tst_QStaticText::drawToRect()
imageDrawStaticText.save("drawToRect_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawStaticText, imageDrawText);
}
@@ -236,6 +252,17 @@ void tst_QStaticText::prepareToCorrectData()
p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text);
}
+#if defined(DEBUG_SAVE_IMAGE)
+ imageDrawText.save("prepareToCorrectData_imageDrawText.png");
+ imageDrawStaticText.save("prepareToCorrectData_imageDrawStaticText.png");
+#endif
+
+#ifdef Q_WS_QPA
+ QEXPECT_FAIL("", "QTBUG-20977 fails on qpa", Abort);
+#endif
+
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
+
if (!supportsTransformations())
QEXPECT_FAIL("", "Graphics system does not support transformed text on this platform", Abort);
QCOMPARE(imageDrawStaticText, imageDrawText);
@@ -264,6 +291,7 @@ void tst_QStaticText::prepareToWrongData()
p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text);
}
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawStaticText, imageDrawText);
}
@@ -304,6 +332,7 @@ void tst_QStaticText::setFont()
imageDrawStaticText.save("setFont_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawStaticText, imageDrawText);
}
@@ -326,6 +355,7 @@ void tst_QStaticText::setTextWidth()
p.drawStaticText(QPointF(11, 12), text);
}
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawStaticText, imageDrawText);
}
@@ -352,6 +382,7 @@ void tst_QStaticText::translatedPainter()
p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text);
}
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawStaticText, imageDrawText);
}
@@ -399,6 +430,8 @@ void tst_QStaticText::rotatedPainter()
imageDrawStaticText.save("rotatedPainter_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
+
if (!supportsTransformations())
QEXPECT_FAIL("", "Graphics system does not support transformed text on this platform", Abort);
QCOMPARE(imageDrawStaticText, imageDrawText);
@@ -427,6 +460,8 @@ void tst_QStaticText::scaledPainter()
p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text);
}
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
+
if (!supportsTransformations())
QEXPECT_FAIL("", "Graphics system does not support transformed text on this platform", Abort);
QCOMPARE(imageDrawStaticText, imageDrawText);
@@ -508,6 +543,8 @@ void tst_QStaticText::rotatedScaledAndTranslatedPainter()
imageDrawStaticText.save("rotatedScaledAndPainter_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
+
if (!supportsTransformations())
QEXPECT_FAIL("", "Graphics system does not support transformed text on this platform", Abort);
QCOMPARE(imageDrawStaticText, imageDrawText);
@@ -550,6 +587,8 @@ void tst_QStaticText::transformationChanged()
imageDrawStaticText.save("transformationChanged_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
+
if (!supportsTransformations())
QEXPECT_FAIL("", "Graphics system does not support transformed text on this platform", Abort);
QCOMPARE(imageDrawStaticText, imageDrawText);
@@ -586,6 +625,7 @@ void tst_QStaticText::plainTextVsRichText()
imageRichText.save("plainTextVsRichText_imageRichText.png");
#endif
+ QVERIFY(imagePlainText.toImage() != m_whiteSquare);
QCOMPARE(imagePlainText, imageRichText);
}
@@ -706,6 +746,7 @@ void tst_QStaticText::drawStruckOutText()
imageDrawStaticText.save("drawStruckOutText_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawText, imageDrawStaticText);
}
@@ -740,6 +781,7 @@ void tst_QStaticText::drawOverlinedText()
imageDrawStaticText.save("drawOverlinedText_imageDrawStaticText.png");
#endif
+ QVERIFY(imageDrawText.toImage() != m_whiteSquare);
QCOMPARE(imageDrawText, imageDrawStaticText);
}