diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/auto.pro | 1 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/.gitignore | 1 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/qsvgplugin.pro | 8 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/resources.qrc | 16 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/square.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/square_size.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/square_size_viewbox.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/square_viewbox.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/tall.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/tall_size.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/tall_size_viewbox.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/tall_viewbox.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/tst_qsvgplugin.cpp | 108 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/wide.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/wide_size.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/wide_size_viewbox.svg | 5 | ||||
-rw-r--r-- | tests/auto/qsvgplugin/wide_viewbox.svg | 5 |
17 files changed, 194 insertions, 0 deletions
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 43ff500..e2d84ec 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -4,6 +4,7 @@ qtHaveModule(widgets) { qsvgdevice \ qsvggenerator \ qsvgrenderer \ + qsvgplugin \ qicon_svg \ cmake \ installed_cmake diff --git a/tests/auto/qsvgplugin/.gitignore b/tests/auto/qsvgplugin/.gitignore new file mode 100644 index 0000000..c41c448 --- /dev/null +++ b/tests/auto/qsvgplugin/.gitignore @@ -0,0 +1 @@ +tst_qsvgplugin diff --git a/tests/auto/qsvgplugin/qsvgplugin.pro b/tests/auto/qsvgplugin/qsvgplugin.pro new file mode 100644 index 0000000..3fec52e --- /dev/null +++ b/tests/auto/qsvgplugin/qsvgplugin.pro @@ -0,0 +1,8 @@ +TARGET = tst_qsvgplugin +CONFIG += testcase +QT += svg testlib widgets gui-private + +SOURCES += tst_qsvgplugin.cpp +RESOURCES += resources.qrc + +DEFINES += SRCDIR=\\\"$$PWD/\\\" diff --git a/tests/auto/qsvgplugin/resources.qrc b/tests/auto/qsvgplugin/resources.qrc new file mode 100644 index 0000000..fcb311a --- /dev/null +++ b/tests/auto/qsvgplugin/resources.qrc @@ -0,0 +1,16 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>square.svg</file> + <file>square_size.svg</file> + <file>square_size_viewbox.svg</file> + <file>square_viewbox.svg</file> + <file>tall.svg</file> + <file>tall_size.svg</file> + <file>tall_size_viewbox.svg</file> + <file>tall_viewbox.svg</file> + <file>wide.svg</file> + <file>wide_size.svg</file> + <file>wide_size_viewbox.svg</file> + <file>wide_viewbox.svg</file> +</qresource> +</RCC> diff --git a/tests/auto/qsvgplugin/square.svg b/tests/auto/qsvgplugin/square.svg new file mode 100644 index 0000000..f35fb87 --- /dev/null +++ b/tests/auto/qsvgplugin/square.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"> + <circle cx="50" cy="50" r="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/square_size.svg b/tests/auto/qsvgplugin/square_size.svg new file mode 100644 index 0000000..f4aeb67 --- /dev/null +++ b/tests/auto/qsvgplugin/square_size.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="200px" height="200px"> + <circle cx="50" cy="50" r="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/square_size_viewbox.svg b/tests/auto/qsvgplugin/square_size_viewbox.svg new file mode 100644 index 0000000..cf39bd7 --- /dev/null +++ b/tests/auto/qsvgplugin/square_size_viewbox.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="200px" height="200px" viewBox="0 0 100 100"> + <circle cx="50" cy="50" r="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/square_viewbox.svg b/tests/auto/qsvgplugin/square_viewbox.svg new file mode 100644 index 0000000..5811505 --- /dev/null +++ b/tests/auto/qsvgplugin/square_viewbox.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" viewBox="0 0 100 100"> + <circle cx="50" cy="50" r="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/tall.svg b/tests/auto/qsvgplugin/tall.svg new file mode 100644 index 0000000..b243b62 --- /dev/null +++ b/tests/auto/qsvgplugin/tall.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"> + <ellipse cx="25" cy="50" rx="12.5" ry="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/tall_size.svg b/tests/auto/qsvgplugin/tall_size.svg new file mode 100644 index 0000000..6121451 --- /dev/null +++ b/tests/auto/qsvgplugin/tall_size.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="100px" height="200px"> + <ellipse cx="25" cy="50" rx="12.5" ry="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/tall_size_viewbox.svg b/tests/auto/qsvgplugin/tall_size_viewbox.svg new file mode 100644 index 0000000..9d82492 --- /dev/null +++ b/tests/auto/qsvgplugin/tall_size_viewbox.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="100px" height="200px" viewBox="0 0 50 100"> + <ellipse cx="25" cy="50" rx="12.5" ry="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/tall_viewbox.svg b/tests/auto/qsvgplugin/tall_viewbox.svg new file mode 100644 index 0000000..8ed61a9 --- /dev/null +++ b/tests/auto/qsvgplugin/tall_viewbox.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" viewBox="0 0 50 100"> + <ellipse cx="25" cy="50" rx="12.5" ry="25" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/tst_qsvgplugin.cpp b/tests/auto/qsvgplugin/tst_qsvgplugin.cpp new file mode 100644 index 0000000..4ec1737 --- /dev/null +++ b/tests/auto/qsvgplugin/tst_qsvgplugin.cpp @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +#include "../../../src/plugins/imageformats/svg/qsvgiohandler.cpp" +#include <QImage> +#include <QStringList> +#include <QVector> + +#ifndef SRCDIR +#define SRCDIR +#endif + + +class tst_QSvgPlugin : public QObject +{ +Q_OBJECT + +public: + tst_QSvgPlugin(); + virtual ~tst_QSvgPlugin(); + +private slots: + void checkSize_data(); + void checkSize(); +}; + + + +tst_QSvgPlugin::tst_QSvgPlugin() +{ +} + +tst_QSvgPlugin::~tst_QSvgPlugin() +{ +} + +void tst_QSvgPlugin::checkSize_data() +{ + QTest::addColumn<QString>("filename"); + QTest::addColumn<int>("imageHeight"); + QTest::addColumn<int>("imageWidth"); + + QTest::newRow("square") << SRCDIR "square.svg" << 50 << 50; + QTest::newRow("square_size") << SRCDIR "square_size.svg" << 200 << 200; + QTest::newRow("square_size_viewbox") << SRCDIR "square_size_viewbox.svg" << 200 << 200; + QTest::newRow("square_viewbox") << SRCDIR "square_viewbox.svg" << 100 << 100; + QTest::newRow("tall") << SRCDIR "tall.svg" << 50 << 25; + QTest::newRow("tall_size") << SRCDIR "tall_size.svg" << 200 << 100; + QTest::newRow("tall_size_viewbox") << SRCDIR "tall_size_viewbox.svg" << 200 << 100; + QTest::newRow("tall_viewbox") << SRCDIR "tall_viewbox.svg" << 100 << 50; + QTest::newRow("wide") << SRCDIR "wide.svg" << 25 << 50; + QTest::newRow("wide_size") << SRCDIR "wide_size.svg" << 100 << 200; + QTest::newRow("wide_size_viewbox") << SRCDIR "wide_size_viewbox.svg" << 100 << 200; + QTest::newRow("wide_viewbox") << SRCDIR "wide_viewbox.svg" << 50 << 100; +} + +void tst_QSvgPlugin::checkSize() +{ + QFETCH(QString, filename); + QFETCH(int, imageHeight); + QFETCH(int, imageWidth); + + QFile file(filename); + file.open(QIODevice::ReadOnly); + + QSvgIOHandler plugin; + plugin.setDevice(&file); + + QImage image; + plugin.read(&image); + + file.close(); + + QCOMPARE(imageHeight, image.height()); + QCOMPARE(imageWidth, image.width()); +} + + +QTEST_MAIN(tst_QSvgPlugin) +#include "tst_qsvgplugin.moc" diff --git a/tests/auto/qsvgplugin/wide.svg b/tests/auto/qsvgplugin/wide.svg new file mode 100644 index 0000000..9166606 --- /dev/null +++ b/tests/auto/qsvgplugin/wide.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"> + <ellipse cx="50" cy="25" rx="25" ry="12.5" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/wide_size.svg b/tests/auto/qsvgplugin/wide_size.svg new file mode 100644 index 0000000..e816154 --- /dev/null +++ b/tests/auto/qsvgplugin/wide_size.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="200px" height="100px"> + <ellipse cx="50" cy="25" rx="25" ry="12.5" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/wide_size_viewbox.svg b/tests/auto/qsvgplugin/wide_size_viewbox.svg new file mode 100644 index 0000000..3d9b044 --- /dev/null +++ b/tests/auto/qsvgplugin/wide_size_viewbox.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="200px" height="100px" viewBox="0 0 100 50"> + <ellipse cx="50" cy="25" rx="25" ry="12.5" fill="#00ff00" /> +</svg> diff --git a/tests/auto/qsvgplugin/wide_viewbox.svg b/tests/auto/qsvgplugin/wide_viewbox.svg new file mode 100644 index 0000000..aface45 --- /dev/null +++ b/tests/auto/qsvgplugin/wide_viewbox.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" viewBox="0 0 100 50"> + <ellipse cx="50" cy="25" rx="25" ry="12.5" fill="#00ff00" /> +</svg> |