summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFrederik Christiani <frederik@vikingsoftware.com>2018-04-26 12:57:19 +0200
committerFrederik Juul Christiani <frederik@vikingsoftware.com>2018-04-30 10:37:22 +0000
commit0279e65c25b22066d15752267a6b5d1ba660e7d9 (patch)
tree1518b50abadb260a7d1fb2110e68248b678f16ad /tests
parent1fd6226d52b8d3d201b117902ff1ecd84cc1a1e5 (diff)
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')
-rw-r--r--tests/auto/qicon_svg/icons/rect_size_100percent.svg5
-rw-r--r--tests/auto/qicon_svg/tst_qicon_svg.cpp12
-rw-r--r--tests/auto/qicon_svg/tst_qicon_svg.qrc1
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>