summaryrefslogtreecommitdiffstats
path: root/tests/auto/qsvgrenderer
diff options
context:
space:
mode:
authorAndy Shaw <qt-info@nokia.com>2010-07-21 11:44:25 (GMT)
committerAndy Shaw <qt-info@nokia.com>2010-07-21 11:44:25 (GMT)
commit8d15fffc4d57c55949f799e52f2f52d3b0b66321 (patch)
tree6834187be71d61b90b5bc569fb59ad2517e0da43 /tests/auto/qsvgrenderer
parent0c57f26a32382c7431f0d536508c8e979f7e0313 (diff)
downloadQt-8d15fffc4d57c55949f799e52f2f52d3b0b66321.zip
Qt-8d15fffc4d57c55949f799e52f2f52d3b0b66321.tar.gz
Qt-8d15fffc4d57c55949f799e52f2f52d3b0b66321.tar.bz2
Ensure that font sizes that are > 0 and < 1 are still respected
What was happening was that when a font size of 0.5 was used then it would end up being set to be point size 0. This now respects the setting used. Autotest is included in this patch for this case. Reviewed-by: Kim
Diffstat (limited to 'tests/auto/qsvgrenderer')
-rw-r--r--tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
index 106fd8c..519f4f5 100644
--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
+++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
@@ -85,6 +85,7 @@ private slots:
void testFillInheritance();
void testStopOffsetOpacity();
void testUseElement();
+ void smallFont();
#ifndef QT_NO_COMPRESS
void testGzLoading();
@@ -1342,5 +1343,30 @@ void tst_QSvgRenderer::testUseElement()
}
}
+void tst_QSvgRenderer::smallFont()
+{
+ static const char *svgs[] = { "<svg width=\"50px\" height=\"50px\"><text x=\"10\" y=\"10\" font-size=\"0\">Hello world</text></svg>",
+ "<svg width=\"50px\" height=\"50px\"><text x=\"10\" y=\"10\" font-size=\"0.5\">Hello world</text></svg>"
+ };
+ const int COUNT = sizeof(svgs) / sizeof(svgs[0]);
+ QImage images[COUNT];
+ QPainter p;
+
+ for (int i = 0; i < COUNT; ++i) {
+ QByteArray data(svgs[i]);
+ if (i == 0) {
+ QTest::ignoreMessage(QtWarningMsg, "QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0");
+ QTest::ignoreMessage(QtWarningMsg, "QFont::setPointSize: Point size <= 0 (0), must be greater than 0");
+ }
+ QSvgRenderer renderer(data);
+ images[i] = QImage(50, 50, QImage::Format_ARGB32_Premultiplied);
+ images[i].fill(-1);
+ p.begin(&images[i]);
+ renderer.render(&p);
+ p.end();
+ }
+ QVERIFY(images[0] != images[1]);
+}
+
QTEST_MAIN(tst_QSvgRenderer)
#include "tst_qsvgrenderer.moc"