diff options
author | Andy Shaw <qt-info@nokia.com> | 2010-07-21 11:44:25 (GMT) |
---|---|---|
committer | Andy Shaw <qt-info@nokia.com> | 2010-07-21 11:44:25 (GMT) |
commit | 8d15fffc4d57c55949f799e52f2f52d3b0b66321 (patch) | |
tree | 6834187be71d61b90b5bc569fb59ad2517e0da43 /tests/auto/qsvgrenderer | |
parent | 0c57f26a32382c7431f0d536508c8e979f7e0313 (diff) | |
download | Qt-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.cpp | 26 |
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" |