diff options
Diffstat (limited to 'tests/auto/quickcontrols2/qquickninepatchimage')
23 files changed, 0 insertions, 317 deletions
diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/CMakeLists.txt b/tests/auto/quickcontrols2/qquickninepatchimage/CMakeLists.txt deleted file mode 100644 index d9a18c49..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/CMakeLists.txt +++ /dev/null @@ -1,56 +0,0 @@ -# Generated from qquickninepatchimage.pro. - -##################################################################### -## tst_qquickninepatchimage Test: -##################################################################### - -# Collect test data -file(GLOB_RECURSE test_data_glob - RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/data/*.qml) -list(APPEND test_data ${test_data_glob}) -file(GLOB_RECURSE test_data_glob - RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/data/*.png) -list(APPEND test_data ${test_data_glob}) - -qt_internal_add_test(tst_qquickninepatchimage - SOURCES - ../shared/qtest_quickcontrols.h - ../shared/util.cpp ../shared/util.h - ../shared/visualtestutil.cpp ../shared/visualtestutil.h - tst_qquickninepatchimage.cpp - DEFINES - QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/quickcontrols2\\\" - LIBRARIES - Qt::GuiPrivate - Qt::QuickControls2Private - Qt::QuickPrivate - PUBLIC_LIBRARIES - Qt::CorePrivate - Qt::Gui - Qt::GuiPrivate - Qt::Qml - Qt::QmlPrivate - Qt::Quick - Qt::QuickControls2 - Qt::QuickControls2Private - Qt::QuickPrivate - Qt::QuickTemplates2Private - Qt::QuickTest - Qt::TestPrivate - TESTDATA ${test_data} -) - -## Scopes: -##################################################################### - -qt_internal_extend_target(tst_qquickninepatchimage CONDITION ANDROID OR IOS - DEFINES - QT_QMLTEST_DATADIR=\\\":/data\\\" -) - -qt_internal_extend_target(tst_qquickninepatchimage CONDITION NOT ANDROID AND NOT IOS - DEFINES - QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" -) diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/foo.9.png b/tests/auto/quickcontrols2/qquickninepatchimage/data/foo.9.png Binary files differdeleted file mode 100644 index bac09a4d..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/foo.9.png +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 43e4b478..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 4d199c84..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 018b8341..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-all.9.png b/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-all.9.png Binary files differdeleted file mode 100644 index a1899429..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-all.9.png +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index d00d719c..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 6130fd50..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 2c2d1694..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-bottomright.9.png b/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-bottomright.9.png Binary files differdeleted file mode 100644 index 2b3e58cb..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-bottomright.9.png +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 70aceb61..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 032400ce..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index d5cf85aa..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-topleft.9.png b/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-topleft.9.png Binary files differdeleted file mode 100644 index 05a2ff70..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/inset-topleft.9.png +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index a88f87a5..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 16349d22..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 160fab61..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/ninepatchimage.qml b/tests/auto/quickcontrols2/qquickninepatchimage/data/ninepatchimage.qml deleted file mode 100644 index 410a61f9..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/ninepatchimage.qml +++ /dev/null @@ -1,7 +0,0 @@ -import QtQuick.Controls -import QtQuick.Controls.impl -import QtQuick.Controls.Imagine -import QtQuick.Controls.Imagine.impl - -NinePatchImage { -} diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/padding.9.png b/tests/auto/quickcontrols2/qquickninepatchimage/data/padding.9.png Binary files differdeleted file mode 100644 index 8a65afad..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/padding.9.png +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index 101fc0cb..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index e07a93a2..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null diff --git a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] b/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] Binary files differdeleted file mode 100644 index a3506444..00000000 --- a/tests/auto/quickcontrols2/qquickninepatchimage/data/[email protected] +++ /dev/null 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" |