aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp')
-rw-r--r--tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp254
1 files changed, 0 insertions, 254 deletions
diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp b/tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp
deleted file mode 100644
index 5a62c00a..00000000
--- a/tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 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 <qtest.h>
-#include <QtTest/qsignalspy.h>
-
-#include <QtCore/qmath.h>
-#include <QtCore/qsize.h>
-#include <QtGui/private/qhighdpiscaling_p.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/qquickview.h>
-#include <QtQuick/qquickitemgrabresult.h>
-#include <QtQuick/private/qquickimage_p.h>
-
-#include "../shared/util.h"
-#include "../shared/visualtestutil.h"
-
-using namespace QQuickVisualTestUtil;
-
-class tst_qquickninepatchimage : public QQmlDataTest
-{
- Q_OBJECT
-
-private slots:
- void ninePatch_data();
- void ninePatch();
- void padding_data();
- void padding();
- void inset_data();
- void inset();
- void implicitSize_data();
- void implicitSize();
-};
-
-static QImage grabItemToImage(QQuickItem *item)
-{
- QSharedPointer<QQuickItemGrabResult> result = item->grabToImage();
- QSignalSpy spy(result.data(), SIGNAL(ready()));
- spy.wait();
- return result->image();
-}
-
-void tst_qquickninepatchimage::ninePatch_data()
-{
- QTest::addColumn<int>("dpr");
- QTest::addColumn<QSize>("size");
-
- // original size, downsized, stretched
- const QList<QSize> sizes = QList<QSize>()
- << QSize(40, 40) // original
- << QSize(10, 40) // downsized (h)
- << QSize(40, 10) // downsized (v)
- << QSize(10, 10) // downsized (h & v)
- << QSize(80, 40) // stretched (h)
- << QSize(40, 80) // stretched (v)
- << QSize(80, 80) // stretched (h & v)
- << QSize(8, 8); // minimal (borders only)
-
- for (const QSize &sz : sizes) {
- for (int dpr = 1; dpr <= 4; ++dpr)
- QTest::newRow(qPrintable(QString::fromLatin1("DPR=%1, %2x%3").arg(dpr).arg(sz.width()).arg(sz.height()))) << dpr << sz;
- }
-}
-
-void tst_qquickninepatchimage::ninePatch()
-{
- QFETCH(int, dpr);
- QFETCH(QSize, size);
-
- QHighDpiScaling::setGlobalFactor(dpr);
-
- QQuickView view(testFileUrl("ninepatchimage.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickImage *ninePatchImage = qobject_cast<QQuickImage *>(view.rootObject());
- QVERIFY(ninePatchImage);
- ninePatchImage->setSource(testFileUrl("foo.9.png"));
- ninePatchImage->setSize(size);
-
- const QImage ninePatchImageGrab = grabItemToImage(ninePatchImage).scaled(size * dpr);
-
- // Generate an image to compare against the actual 9-patch image.
- QImage generatedImage(size * dpr, ninePatchImageGrab.format());
- generatedImage.fill(Qt::red);
-
- QImage blueRect(4 * dpr, 4 * dpr, ninePatchImageGrab.format());
- blueRect.fill(Qt::blue);
-
- QPainter painter(&generatedImage);
- // Top-left
- painter.drawImage(0, 0, blueRect);
- // Top-right
- painter.drawImage(generatedImage.width() - blueRect.width(), 0, blueRect);
- // Bottom-right
- painter.drawImage(generatedImage.width() - blueRect.width(), generatedImage.height() - blueRect.height(), blueRect);
- // Bottom-left
- painter.drawImage(0, generatedImage.height() - blueRect.height(), blueRect);
-
- if ((QGuiApplication::platformName() == QLatin1String("offscreen"))
- || (QGuiApplication::platformName() == QLatin1String("minimal")))
- QEXPECT_FAIL("", "Grabbing does not work on offscreen/minimal platforms", Abort);
-
- QCOMPARE(ninePatchImageGrab, generatedImage);
-}
-
-void tst_qquickninepatchimage::padding_data()
-{
- QTest::addColumn<int>("dpr");
-
- for (int dpr = 1; dpr <= 4; ++dpr)
- QTest::newRow(qPrintable(QString::fromLatin1("DPR=%1").arg(dpr))) << dpr;
-}
-
-void tst_qquickninepatchimage::padding()
-{
- QFETCH(int, dpr);
-
- QHighDpiScaling::setGlobalFactor(dpr);
-
- QQuickView view(testFileUrl("ninepatchimage.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickImage *ninePatchImage = qobject_cast<QQuickImage *>(view.rootObject());
- QVERIFY(ninePatchImage);
- ninePatchImage->setSource(testFileUrl("padding.9.png"));
-
- QCOMPARE(ninePatchImage->property("topPadding").toReal(), 8);
- QCOMPARE(ninePatchImage->property("leftPadding").toReal(), 18);
- QCOMPARE(ninePatchImage->property("rightPadding").toReal(), 20);
- QCOMPARE(ninePatchImage->property("bottomPadding").toReal(), 10);
-}
-
-void tst_qquickninepatchimage::inset_data()
-{
- QTest::addColumn<int>("dpr");
- QTest::addColumn<QString>("file");
- QTest::addColumn<QMarginsF>("insets");
-
- const QStringList files = QStringList() << "inset-all.9.png" << "inset-topleft.9.png" << "inset-bottomright.9.png";
- const QList<QMarginsF> insets = QList<QMarginsF>() << QMarginsF(2, 1, 3, 4) << QMarginsF(2, 1, 0, 0) << QMarginsF(0, 0, 3, 4);
-
- for (int i = 0; i < files.count(); ++i) {
- QString file = files.at(i);
- for (int dpr = 1; dpr <= 4; ++dpr)
- QTest::newRow(qPrintable(QString::fromLatin1("%1 DPR=%2").arg(file).arg(dpr))) << dpr << file << insets.at(i);
- }
-}
-
-Q_DECLARE_METATYPE(QMarginsF)
-
-void tst_qquickninepatchimage::inset()
-{
- QFETCH(int, dpr);
- QFETCH(QString, file);
- QFETCH(QMarginsF, insets);
-
- QHighDpiScaling::setGlobalFactor(dpr);
-
- QQuickView view(testFileUrl("ninepatchimage.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickImage *ninePatchImage = qobject_cast<QQuickImage *>(view.rootObject());
- QVERIFY(ninePatchImage);
- ninePatchImage->setSource(testFileUrl(file));
-
- QCOMPARE(ninePatchImage->property("topInset").toReal(), insets.top());
- QCOMPARE(ninePatchImage->property("leftInset").toReal(), insets.left());
- QCOMPARE(ninePatchImage->property("rightInset").toReal(), insets.right());
- QCOMPARE(ninePatchImage->property("bottomInset").toReal(), insets.bottom());
-}
-
-void tst_qquickninepatchimage::implicitSize_data()
-{
- QTest::addColumn<int>("dpr");
- QTest::addColumn<QString>("file");
- QTest::addColumn<QSizeF>("implicitSize");
-
- const struct TestFile {
- QString name;
- QSizeF sizeHint;
- } testFiles [] = {
- { "foo.9.png", QSizeF(40, 40) },
- { "padding.9.png", QSizeF(40, 40) },
- { "inset-all.9.png", QSizeF(45, 45) },
- { "inset-topleft.9.png", QSizeF(42, 41) },
- { "inset-bottomright.9.png", QSizeF(43, 44) }
- };
-
- for (const TestFile &file : testFiles) {
- for (int dpr = 1; dpr <= 4; ++dpr)
- QTest::newRow(qPrintable(QString::fromLatin1("%1 DPR=%2").arg(file.name).arg(dpr))) << dpr << file.name << file.sizeHint;
- }
-}
-
-void tst_qquickninepatchimage::implicitSize()
-{
- QFETCH(int, dpr);
- QFETCH(QString, file);
- QFETCH(QSizeF, implicitSize);
-
- QHighDpiScaling::setGlobalFactor(dpr);
-
- QQuickView view(testFileUrl("ninepatchimage.qml"));
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
- view.requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(&view));
-
- QQuickImage *ninePatchImage = qobject_cast<QQuickImage *>(view.rootObject());
- QVERIFY(ninePatchImage);
- ninePatchImage->setSource(testFileUrl(file));
-
- QCOMPARE(ninePatchImage->implicitWidth(), implicitSize.width());
- QCOMPARE(ninePatchImage->implicitHeight(), implicitSize.height());
-}
-
-QTEST_MAIN(tst_qquickninepatchimage)
-
-#include "tst_qquickninepatchimage.moc"