diff options
Diffstat (limited to 'tests/auto/widgets/effects')
9 files changed, 62 insertions, 111 deletions
diff --git a/tests/auto/widgets/effects/CMakeLists.txt b/tests/auto/widgets/effects/CMakeLists.txt index 3c0af4537a..fdc82023fb 100644 --- a/tests/auto/widgets/effects/CMakeLists.txt +++ b/tests/auto/widgets/effects/CMakeLists.txt @@ -1,4 +1,5 @@ -# Generated from effects.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause add_subdirectory(qgraphicseffect) add_subdirectory(qpixmapfilter) diff --git a/tests/auto/widgets/effects/effects.pro b/tests/auto/widgets/effects/effects.pro deleted file mode 100644 index e598707f3e..0000000000 --- a/tests/auto/widgets/effects/effects.pro +++ /dev/null @@ -1,5 +0,0 @@ -TEMPLATE=subdirs -SUBDIRS=\ - qgraphicseffect \ - qpixmapfilter \ - diff --git a/tests/auto/widgets/effects/qgraphicseffect/BLACKLIST b/tests/auto/widgets/effects/qgraphicseffect/BLACKLIST index 64a92d18aa..69367f06fd 100644 --- a/tests/auto/widgets/effects/qgraphicseffect/BLACKLIST +++ b/tests/auto/widgets/effects/qgraphicseffect/BLACKLIST @@ -1,2 +1,2 @@ -[prepareGeometryChangeInvalidateCache] -opensuse-42.3 +[draw] +wayland diff --git a/tests/auto/widgets/effects/qgraphicseffect/CMakeLists.txt b/tests/auto/widgets/effects/qgraphicseffect/CMakeLists.txt index b8665dc2d2..e9d32b1a8d 100644 --- a/tests/auto/widgets/effects/qgraphicseffect/CMakeLists.txt +++ b/tests/auto/widgets/effects/qgraphicseffect/CMakeLists.txt @@ -1,13 +1,20 @@ -# Generated from qgraphicseffect.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qgraphicseffect Test: ##################################################################### -qt_add_test(tst_qgraphicseffect +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qgraphicseffect LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + +qt_internal_add_test(tst_qgraphicseffect SOURCES tst_qgraphicseffect.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::CorePrivate Qt::Gui Qt::GuiPrivate diff --git a/tests/auto/widgets/effects/qgraphicseffect/qgraphicseffect.pro b/tests/auto/widgets/effects/qgraphicseffect/qgraphicseffect.pro deleted file mode 100644 index 177d1a7c42..0000000000 --- a/tests/auto/widgets/effects/qgraphicseffect/qgraphicseffect.pro +++ /dev/null @@ -1,7 +0,0 @@ -CONFIG += testcase -TARGET = tst_qgraphicseffect - -QT += widgets widgets-private testlib -QT += core-private gui-private - -SOURCES += tst_qgraphicseffect.cpp diff --git a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp index 38181c8af0..3d1988e5da 100644 --- a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp @@ -1,30 +1,5 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QtTest/QtTestWidgets> @@ -68,12 +43,12 @@ void tst_QGraphicsEffect::initTestCase() class CustomItem : public QGraphicsRectItem { public: - CustomItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = 0) + CustomItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = nullptr) : QGraphicsRectItem(x, y, width, height, parent), numRepaints(0), - m_painter(0), m_styleOption(0) + m_painter(nullptr), m_styleOption(nullptr) {} - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override { m_painter = painter; m_styleOption = option; @@ -84,8 +59,8 @@ public: void reset() { numRepaints = 0; - m_painter = 0; - m_styleOption = 0; + m_painter = nullptr; + m_styleOption = nullptr; } int numRepaints; @@ -98,19 +73,20 @@ class CustomEffect : public QGraphicsEffect public: CustomEffect() : QGraphicsEffect(), numRepaints(0), m_margin(10), - doNothingInDraw(false), m_painter(0), m_styleOption(0), m_source(0), m_opacity(1.0) + doNothingInDraw(false), m_painter(nullptr), m_styleOption(nullptr), + m_source(nullptr), m_opacity(1.0) {} - QRectF boundingRectFor(const QRectF &rect) const + QRectF boundingRectFor(const QRectF &rect) const override { return rect.adjusted(-m_margin, -m_margin, m_margin, m_margin); } void reset() { numRepaints = 0; m_sourceChangedFlags = QGraphicsEffect::ChangeFlags(); - m_painter = 0; - m_styleOption = 0; - m_source = 0; + m_painter = nullptr; + m_styleOption = nullptr; + m_source = nullptr; m_opacity = 1.0; } @@ -123,7 +99,7 @@ public: int margin() const { return m_margin; } - void draw(QPainter *painter) + void draw(QPainter *painter) override { ++numRepaints; if (doNothingInDraw) @@ -135,7 +111,7 @@ public: drawSource(painter); } - void sourceChanged(QGraphicsEffect::ChangeFlags flags) + void sourceChanged(QGraphicsEffect::ChangeFlags flags) override { m_sourceChangedFlags |= flags; } int numRepaints; @@ -378,7 +354,9 @@ void tst_QGraphicsEffect::draw() // Effect is already enabled; nothing should happen. effect->setEnabled(true); - QTest::qWait(50); + // Send only posted events, not window system events, + // so that we don't get any spontaneous paint events. + QCoreApplication::sendPostedEvents(); QCOMPARE(effect->numRepaints, 0); QCOMPARE(item->numRepaints, 0); @@ -408,7 +386,7 @@ void tst_QGraphicsEffect::opacity() void tst_QGraphicsEffect::grayscale() { - if (qApp->desktop()->depth() < 24) + if (QGuiApplication::primaryScreen()->depth() < 24) QSKIP("Test only works on 32 bit displays"); QGraphicsScene scene(0, 0, 100, 100); @@ -455,7 +433,7 @@ void tst_QGraphicsEffect::grayscale() void tst_QGraphicsEffect::colorize() { - if (qApp->desktop()->depth() < 24) + if (QGuiApplication::primaryScreen()->depth() < 24) QSKIP("Test only works on 32 bit displays"); QGraphicsScene scene(0, 0, 100, 100); @@ -509,10 +487,10 @@ public: , repaints(0) {} - QRectF boundingRectFor(const QRectF &rect) const + QRectF boundingRectFor(const QRectF &rect) const override { return rect; } - void draw(QPainter *painter) + void draw(QPainter *painter) override { QCOMPARE(sourcePixmap(Qt::LogicalCoordinates).handle(), pixmap.handle()); QVERIFY((painter->worldTransform().type() <= QTransform::TxTranslate) == (sourcePixmap(Qt::DeviceCoordinates).handle() == pixmap.handle())); @@ -551,10 +529,10 @@ void tst_QGraphicsEffect::drawPixmapItem() class DeviceEffect : public QGraphicsEffect { public: - QRectF boundingRectFor(const QRectF &rect) const + QRectF boundingRectFor(const QRectF &rect) const override { return rect; } - void draw(QPainter *painter) + void draw(QPainter *painter) override { QPoint offset; QPixmap pixmap = sourcePixmap(Qt::DeviceCoordinates, &offset, QGraphicsEffect::NoPad); @@ -645,10 +623,10 @@ void tst_QGraphicsEffect::dropShadowClipping() class MyGraphicsItem : public QGraphicsWidget { public: - MyGraphicsItem(QGraphicsItem *parent = 0) : + MyGraphicsItem(QGraphicsItem *parent = nullptr) : QGraphicsWidget(parent), nbPaint(0) {} - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override { nbPaint++; QGraphicsWidget::paint(painter, option, widget); @@ -693,6 +671,7 @@ void tst_QGraphicsEffect::prepareGeometryChangeInvalidateCache() QGraphicsView view(&scene); view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); + QTRY_VERIFY(view.windowHandle()->isActive()); QTRY_VERIFY(item->nbPaint >= 1); item->nbPaint = 0; diff --git a/tests/auto/widgets/effects/qpixmapfilter/CMakeLists.txt b/tests/auto/widgets/effects/qpixmapfilter/CMakeLists.txt index 56feb2c09e..c19e6c7cfd 100644 --- a/tests/auto/widgets/effects/qpixmapfilter/CMakeLists.txt +++ b/tests/auto/widgets/effects/qpixmapfilter/CMakeLists.txt @@ -1,13 +1,20 @@ -# Generated from qpixmapfilter.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qpixmapfilter Test: ##################################################################### -qt_add_test(tst_qpixmapfilter +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qpixmapfilter LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + +qt_internal_add_test(tst_qpixmapfilter SOURCES tst_qpixmapfilter.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Gui Qt::GuiPrivate Qt::Widgets diff --git a/tests/auto/widgets/effects/qpixmapfilter/qpixmapfilter.pro b/tests/auto/widgets/effects/qpixmapfilter/qpixmapfilter.pro deleted file mode 100644 index 4fbe13cce7..0000000000 --- a/tests/auto/widgets/effects/qpixmapfilter/qpixmapfilter.pro +++ /dev/null @@ -1,7 +0,0 @@ -CONFIG += testcase -TARGET = tst_qpixmapfilter - -QT += widgets widgets-private testlib -QT += gui-private - -SOURCES += tst_qpixmapfilter.cpp diff --git a/tests/auto/widgets/effects/qpixmapfilter/tst_qpixmapfilter.cpp b/tests/auto/widgets/effects/qpixmapfilter/tst_qpixmapfilter.cpp index 7d7c1e79a9..39087aeaaf 100644 --- a/tests/auto/widgets/effects/qpixmapfilter/tst_qpixmapfilter.cpp +++ b/tests/auto/widgets/effects/qpixmapfilter/tst_qpixmapfilter.cpp @@ -1,33 +1,8 @@ -/**************************************************************************** -** -** 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> +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + + +#include <QTest> #include <qpixmap.h> #include <private/qpixmapfilter_p.h> #include <qpainter.h> @@ -59,7 +34,8 @@ public: CustomFilter() : QPixmapFilter((QPixmapFilter::FilterType) Type, 0) { }; - void draw(QPainter *p, const QPointF &pt, const QPixmap &src, const QRectF &srcRect = QRectF()) const { + void draw(QPainter *p, const QPointF &pt, const QPixmap &src, const QRectF &srcRect = QRectF()) const override + { p->drawPixmap(QRectF(pt, srcRect.size()), src, srcRect); } }; @@ -400,13 +376,13 @@ void tst_QPixmapFilter::blurIndexed8() QImage original = img; qt_blurImage(img, 10, true, false); QCOMPARE(original.size(), img.size()); - QVERIFY2(qFuzzyCompare(img.devicePixelRatioF(), qreal(2)), - QByteArray::number(img.devicePixelRatioF()).constData()); + QVERIFY2(qFuzzyCompare(img.devicePixelRatio(), qreal(2)), + QByteArray::number(img.devicePixelRatio()).constData()); original = img; qt_blurImage(img, 10, true, true); - QVERIFY2(qFuzzyCompare(img.devicePixelRatioF(), qreal(2)), - QByteArray::number(img.devicePixelRatioF()).constData()); + QVERIFY2(qFuzzyCompare(img.devicePixelRatio(), qreal(2)), + QByteArray::number(img.devicePixelRatio()).constData()); QCOMPARE(original.size(), QSize(img.height(), img.width())); } |