diff options
author | Mitch Curtis <[email protected]> | 2021-08-12 14:39:51 +0200 |
---|---|---|
committer | Mitch Curtis <[email protected]> | 2021-08-16 12:52:59 +0200 |
commit | 809339d1484cf556512534367b8170bc26baf072 (patch) | |
tree | 12871313b658f36d058b5ef25af1e247e9c46ce9 /tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp | |
parent | b01b4f00eae8022c6a97d90f54dac395144ae095 (diff) |
Now that qtquickcontrols2 has been merged into qtdeclarative,
we should make it obvious that this repo should no longer be
used, by preventing it from being built.
Task-number: QTBUG-95173
Pick-to: 6.2
Change-Id: I95bd6a214f3d75a865ab163ee0a1f9ffbeb7a051
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp')
-rw-r--r-- | tests/auto/quickcontrols2/qquickninepatchimage/tst_qquickninepatchimage.cpp | 254 |
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" |