diff options
Diffstat (limited to 'tests/auto/quicktest')
-rw-r--r-- | tests/auto/quicktest/quicktest.pro | 3 | ||||
-rw-r--r-- | tests/auto/quicktest/testevent/testevent.pro | 8 | ||||
-rw-r--r-- | tests/auto/quicktest/testevent/tst_testevent.cpp | 81 |
3 files changed, 91 insertions, 1 deletions
diff --git a/tests/auto/quicktest/quicktest.pro b/tests/auto/quicktest/quicktest.pro index 3b4ec23a64..ee22131753 100644 --- a/tests/auto/quicktest/quicktest.pro +++ b/tests/auto/quicktest/quicktest.pro @@ -1,3 +1,4 @@ TEMPLATE = subdirs SUBDIRS = \ - signalspy + signalspy \ + testevent diff --git a/tests/auto/quicktest/testevent/testevent.pro b/tests/auto/quicktest/testevent/testevent.pro new file mode 100644 index 0000000000..bd97e13b89 --- /dev/null +++ b/tests/auto/quicktest/testevent/testevent.pro @@ -0,0 +1,8 @@ +CONFIG += testcase +TARGET = tst_testevent +macos:CONFIG -= app_bundle + +SOURCES += tst_testevent.cpp +QT += quick testlib qmltest-private + +include (../../shared/util.pri) diff --git a/tests/auto/quicktest/testevent/tst_testevent.cpp b/tests/auto/quicktest/testevent/tst_testevent.cpp new file mode 100644 index 0000000000..8adb98f33b --- /dev/null +++ b/tests/auto/quicktest/testevent/tst_testevent.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** 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 <qtest.h> + +#include <QtQuick/qquickitem.h> +#include <QtQuick/qquickwindow.h> +#include "QtQuickTest/private/quicktestevent_p.h" + +class tst_testevent : public QObject +{ + Q_OBJECT +public: + +private slots: + void moveSetsQuickItemIsUnderMouse(); +}; + +void tst_testevent::moveSetsQuickItemIsUnderMouse() +{ + QQuickWindow w; + w.resize(400, 400); + w.show(); + w.requestActivate(); + QTest::qWaitForWindowActive(&w); + + QTRY_COMPARE(QGuiApplication::focusWindow(), &w); + + QQuickItem *item = new QQuickItem(w.contentItem()); + item->setX(0); + item->setY(0); + item->setWidth(100); + item->setHeight(100); + + QQuickItem *item2 = new QQuickItem(w.contentItem()); + item2->setX(100); + item2->setY(100); + item2->setWidth(100); + item2->setHeight(100); + + QuickTestEvent te; + te.mouseMove(w.contentItem(), 10, 10, /*delay*/ -1, Qt::NoButton); + + QVERIFY(item->isUnderMouse()); + QVERIFY(!item2->isUnderMouse()); + + te.mouseMove(w.contentItem(), 110, 110, /*delay*/ -1, Qt::NoButton); + + QVERIFY(!item->isUnderMouse()); + QVERIFY(item2->isUnderMouse()); + +} + +QTEST_MAIN(tst_testevent) + +#include "tst_testevent.moc" |