tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp	Tue Jul 06 15:10:48 2010 +0300
+++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp	Wed Aug 18 10:37:55 2010 +0300
@@ -85,6 +85,7 @@
     void testFillInheritance();
     void testStopOffsetOpacity();
     void testUseElement();
+    void smallFont();
 
 #ifndef QT_NO_COMPRESS
     void testGzLoading();
@@ -1342,5 +1343,28 @@
     }
 }
 
+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");
+        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"