diff options
author | Frederik Christiani <frederik@vikingsoftware.com> | 2018-04-26 12:57:19 +0200 |
---|---|---|
committer | Frederik Juul Christiani <frederik@vikingsoftware.com> | 2018-04-30 10:37:22 +0000 |
commit | 0279e65c25b22066d15752267a6b5d1ba660e7d9 (patch) | |
tree | 1518b50abadb260a7d1fb2110e68248b678f16ad /tests/auto | |
parent | 1fd6226d52b8d3d201b117902ff1ecd84cc1a1e5 (diff) | |
download | qtsvg-0279e65c25b22066d15752267a6b5d1ba660e7d9.tar.gz |
Interpret width or height specified in percent as relative to viewport
When width or height is specified in percent, it is supposed to be
relative to the viewport.
https://www.w3.org/TR/SVG/coords.html#Units
Task-number: QTBUG-2279
Change-Id: Ia1597b88d4e1c705a6755db788a18cf790d5ee97
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qicon_svg/icons/rect_size_100percent.svg | 5 | ||||
-rw-r--r-- | tests/auto/qicon_svg/tst_qicon_svg.cpp | 12 | ||||
-rw-r--r-- | tests/auto/qicon_svg/tst_qicon_svg.qrc | 1 |
3 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qicon_svg/icons/rect_size_100percent.svg b/tests/auto/qicon_svg/icons/rect_size_100percent.svg new file mode 100644 index 0000000..84dece7 --- /dev/null +++ b/tests/auto/qicon_svg/icons/rect_size_100percent.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16 8"> + <circle cx="8" cy="4" r="3" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qicon_svg/tst_qicon_svg.cpp b/tests/auto/qicon_svg/tst_qicon_svg.cpp index 0875ee1..6eea018 100644 --- a/tests/auto/qicon_svg/tst_qicon_svg.cpp +++ b/tests/auto/qicon_svg/tst_qicon_svg.cpp @@ -44,6 +44,7 @@ private slots: void svg(); void availableSizes(); void isNull(); + void sizeInPercent(); private: @@ -172,5 +173,16 @@ void tst_QIcon_Svg::isNull() } +void tst_QIcon_Svg::sizeInPercent() +{ + QIcon icon(prefix + "rect_size_100percent.svg"); + QCOMPARE(icon.actualSize(QSize(16, 8)), QSize(16, 8)); + QCOMPARE(icon.pixmap(QSize(16, 8)).size(), QSize(16, 8)); + + QCOMPARE(icon.actualSize(QSize(8, 8)), QSize(8, 4)); + QCOMPARE(icon.pixmap(QSize(8, 8)).size(), QSize(8, 4)); +} + + QTEST_MAIN(tst_QIcon_Svg) #include "tst_qicon_svg.moc" diff --git a/tests/auto/qicon_svg/tst_qicon_svg.qrc b/tests/auto/qicon_svg/tst_qicon_svg.qrc index fd9422b..302b40b 100644 --- a/tests/auto/qicon_svg/tst_qicon_svg.qrc +++ b/tests/auto/qicon_svg/tst_qicon_svg.qrc @@ -5,5 +5,6 @@ <file>./icons/image.png</file> <file>./icons/rect.svg</file> <file>./icons/trash.svg</file> +<file>./icons/rect_size_100percent.svg</file> </qresource> </RCC> |