summaryrefslogtreecommitdiffstats
path: root/tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp
diff options
context:
space:
mode:
authorJo Asplin <jo.asplin@nokia.com>2011-11-25 09:30:03 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-30 09:30:22 +0100
commit9acec431c360379a21cdbe36d8e342083f344c3c (patch)
treedcd0e4d4d60f7f9cfb6f6d210b6ebaf016573d1b /tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp
parent75b66dc8b036c4f4ef3ff8ea109efd698b72732d (diff)
Moved integrationtests/* into other/
Currently there seems to be no precise definition of what an integrationtest is in the context of Qt testing. To avoid confusion, the tests under integrationtests/ are moved into other/ (which is effectively where we keep tests that don't clearly fit into any other category). Tests can be moved back into an integrationtests/ directory at a later point, should an unambiguous definition be established. Change-Id: I3bb289be2dc2aca11b51a8ce8fcc5942f06d6c5c Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp')
-rw-r--r--tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp214
1 files changed, 0 insertions, 214 deletions
diff --git a/tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp b/tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp
deleted file mode 100644
index d603f82f27..0000000000
--- a/tests/auto/integrationtests/macnativeevents/expectedeventlist.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "expectedeventlist.h"
-#include <QDebug>
-#include <QCoreApplication>
-#include <QAbstractEventDispatcher>
-#include <QtTest/QtTest>
-
-ExpectedEventList::ExpectedEventList(QObject *target)
- : QObject(target), eventCount(0)
-{
- target->installEventFilter(this);
- debug = qgetenv("NATIVEDEBUG").toInt();
- if (debug > 0)
- qDebug() << "Debug level sat to:" << debug;
-}
-
-ExpectedEventList::~ExpectedEventList()
-{
- qDeleteAll(eventList);
-}
-
-void ExpectedEventList::append(QEvent *e)
-{
- eventList.append(e);
- ++eventCount;
-}
-
-void ExpectedEventList::timerEvent(QTimerEvent *)
-{
- timer.stop();
- QAbstractEventDispatcher::instance()->interrupt();
-}
-
-bool ExpectedEventList::waitForAllEvents(int maxEventWaitTime)
-{
- if (eventList.isEmpty())
- return true;
-
- int eventCount = eventList.size();
- timer.start(maxEventWaitTime, this);
-
- while (timer.isActive()) {
- QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents);
- if (eventList.isEmpty())
- return true;
-
- if (eventCount < eventList.size()){
- eventCount = eventList.size();
- timer.start(maxEventWaitTime, this);
- }
- }
-
- int eventListNr = eventCount - eventList.size() + 1;
- qWarning() << "Stopped waiting for expected event nr" << eventListNr;
- return false;
-}
-
-void ExpectedEventList::compareMouseEvents(QEvent *received, QEvent *expected)
-{
- QMouseEvent *e1 = static_cast<QMouseEvent *>(received);
- QMouseEvent *e2 = static_cast<QMouseEvent *>(expected);
-
- // Do a manual check first to be able to write more sensible
- // debug output if we know we're going to fail:
- if (e1->pos() == e2->pos()
- && (e1->globalPos() == e2->globalPos())
- && (e1->button() == e2->button())
- && (e1->buttons() == e2->buttons())
- && (e1->modifiers() == e2->modifiers())) {
- if (debug > 0)
- qDebug() << " Received (OK):" << e1 << e1->globalPos();
- return; // equal
- }
-
- // INVARIANT: The two events are not equal. So we fail. Depending
- // on whether debug mode is no or not, we let QTest fail. Otherwise
- // we let the test continue for debugging puposes.
- int eventListNr = eventCount - eventList.size();
- if (debug == 0) {
- qWarning() << "Expected event" << eventListNr << "differs from received event:";
- QCOMPARE(e1->pos(), e2->pos());
- QCOMPARE(e1->globalPos(), e2->globalPos());
- QCOMPARE(e1->button(), e2->button());
- QCOMPARE(e1->buttons(), e2->buttons());
- QCOMPARE(e1->modifiers(), e2->modifiers());
- } else {
- qWarning() << "*** FAIL *** : Expected event" << eventListNr << "differs from received event:";
- qWarning() << "Received:" << e1 << e1->globalPos();
- qWarning() << "Expected:" << e2 << e2->globalPos();
- }
-}
-
-void ExpectedEventList::compareKeyEvents(QEvent *received, QEvent *expected)
-{
- QKeyEvent *e1 = static_cast<QKeyEvent *>(received);
- QKeyEvent *e2 = static_cast<QKeyEvent *>(expected);
-
- // Do a manual check first to be able to write more sensible
- // debug output if we know we're going to fail:
- if (e1->key() == e2->key()
- && (e1->modifiers() == e2->modifiers())
- && (e1->count() == e2->count())
- && (e1->isAutoRepeat() == e2->isAutoRepeat())) {
- if (debug > 0)
- qDebug() << " Received (OK):" << e1 << QKeySequence(e1->key()).toString(QKeySequence::NativeText);
- return; // equal
- }
-
- // INVARIANT: The two events are not equal. So we fail. Depending
- // on whether debug mode is no or not, we let QTest fail. Otherwise
- // we let the test continue for debugging puposes.
- int eventListNr = eventCount - eventList.size();
- if (debug == 0) {
- qWarning() << "Expected event" << eventListNr << "differs from received event:";
- QCOMPARE(e1->key(), e2->key());
- QCOMPARE(e1->modifiers(), e2->modifiers());
- QCOMPARE(e1->count(), e2->count());
- QCOMPARE(e1->isAutoRepeat(), e2->isAutoRepeat());
- } else {
- qWarning() << "*** FAIL *** : Expected event" << eventListNr << "differs from received event:";
- qWarning() << "Received:" << e1 << QKeySequence(e1->key()).toString(QKeySequence::NativeText);
- qWarning() << "Expected:" << e2 << QKeySequence(e2->key()).toString(QKeySequence::NativeText);
- }
-}
-
-bool ExpectedEventList::eventFilter(QObject *, QEvent *received)
-{
- if (debug > 1)
- qDebug() << received;
- if (eventList.isEmpty())
- return false;
-
- bool eat = false;
- QEvent *expected = eventList.first();
- if (expected->type() == received->type()) {
- eventList.removeFirst();
- switch (received->type()) {
- case QEvent::MouseButtonPress:
- case QEvent::MouseButtonRelease:
- case QEvent::MouseMove:
- case QEvent::MouseButtonDblClick:
- case QEvent::NonClientAreaMouseButtonPress:
- case QEvent::NonClientAreaMouseButtonRelease:
- case QEvent::NonClientAreaMouseButtonDblClick:
- case QEvent::NonClientAreaMouseMove: {
- compareMouseEvents(received, expected);
- eat = true;
- break;
- }
- case QEvent::KeyPress:
- case QEvent::KeyRelease: {
- compareKeyEvents(received, expected);
- eat = true;
- break;
- }
- case QEvent::Resize: {
- break;
- }
- case QEvent::WindowActivate: {
- break;
- }
- case QEvent::WindowDeactivate: {
- break;
- }
- default:
- break;
- }
- if (eventList.isEmpty())
- QAbstractEventDispatcher::instance()->interrupt();
- }
-
- return eat;
-}
-