diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-01-14 03:00:08 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-01-14 03:00:08 +0100 |
commit | 97c5949d1376293220283ab1bc7b64f4eadafdcb (patch) | |
tree | c8d98124275c0fbc4fc51fa678647f90ab0c6edd /tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | |
parent | 9db51feb3a59682ab73c75700c63db5a5ed7f163 (diff) | |
parent | 2f58f925cc16946a474f066c739c4682246afa0f (diff) | |
download | qtsvg-97c5949d1376293220283ab1bc7b64f4eadafdcb.tar.gz |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I535fa2bbee58d1cd15e1c25f0ac6321d502518fb
Diffstat (limited to 'tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp')
-rw-r--r-- | tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp index 309c646..8ad74f2 100644 --- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp +++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp @@ -60,6 +60,7 @@ private slots: void testMapViewBoxToTarget(); void testRenderElement(); void testRenderElementToBounds(); + void testRenderDocumentWithSizeToBounds(); void constructorQXmlStreamReader() const; void loadQXmlStreamReader() const; void nestedQXmlStreamReader() const; @@ -372,6 +373,36 @@ void tst_QSvgRenderer::testRenderElementToBounds() QCOMPARE(reference, rendering); } +void tst_QSvgRenderer::testRenderDocumentWithSizeToBounds() +{ + // QTBUG-80888 + QImage reference(400, 200, QImage::Format_ARGB32); + { + reference.fill(Qt::transparent); + QPainter p(&reference); + p.fillRect(100, 100, 100, 50, Qt::blue); + p.fillRect(200, 50, 100, 50, Qt::blue); + } + + QImage rendering(400, 200, QImage::Format_ARGB32); + { + const char *const src = R"src( + <svg width="20" height="80"> + <g transform="translate(-100,-100)"> + <path d="m 110,180 v -80 h 10 v 40 h -20 v 40 z" fill="blue" /> + </g> + </svg> + )src"; + const QByteArray data(src); + QSvgRenderer rend(data); + rendering.fill(Qt::transparent); + QPainter p(&rendering); + rend.render(&p, QRectF(100, 50, 200, 100)); + } + + QCOMPARE(reference, rendering); +} + void tst_QSvgRenderer::constructorQXmlStreamReader() const { const QByteArray data(src); |