diff options
Diffstat (limited to 'tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp')
-rw-r--r-- | tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp | 57 |
1 files changed, 18 insertions, 39 deletions
diff --git a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp index bd1b56ebc1..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,9 +43,9 @@ 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) override @@ -84,8 +59,8 @@ public: void reset() { numRepaints = 0; - m_painter = 0; - m_styleOption = 0; + m_painter = nullptr; + m_styleOption = nullptr; } int numRepaints; @@ -98,7 +73,8 @@ 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 override @@ -108,9 +84,9 @@ public: { 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; } @@ -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); @@ -645,7 +623,7 @@ 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) override @@ -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; |