--- a/cmmanager/cmapplsettingsui/tsrc/ut/hbautotest.h Tue Aug 31 15:35:44 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef HBAUTOTEST_H
-#define HBAUTOTEST_H
-
-#include <hbnamespace.h>
-#include <hbmainwindow.h>
-#include <QtTest/QtTest>
-
-class HbMainWindow;
-class HbWidget;
-class HbAutoTestMainWindow;
-class HbAutoTest;
-class HbAutoTestMouseEvent;
-/*
-INSTRUCTIONS:
-The class HbAutoTest is meant to be used with Orbit applications auto testing instead of GUI testing APIs of QTestLib.
-
-The functions of this class is to used similarily to the related QTestLib functions.
-
-Use HbAutoTestMainWindow (defined below) instead of HbMainWindow to enble filtering.
-Filterin filters out UI events that are not sent by function defined in HbAutoTest class.
-
-*/
-
-class HbAutoTestMouseEvent : public QMouseEvent
-{
-public:
- HbAutoTestMouseEvent(Type type, const QPoint & pos, const QPoint & globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers )
- : QMouseEvent(type,pos,globalPos,button,buttons,modifiers){}
-};
-
-class HbAutoTestKeyEvent : public QKeyEvent
-{
-public:
- HbAutoTestKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(),
- bool autorep = false, ushort count = 1 )
- : QKeyEvent(type, key, modifiers, text, autorep, count){}
-};
-
-class HbAutoTest
-{
-public:
-
- static void mouseMove (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos = QPointF(), int delay = -1 );
- static void mousePress (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos = QPointF(), int delay = -1);
- static void mouseRelease (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos = QPointF(), int delay = -1);
- static void mouseClick (HbAutoTestMainWindow *window, const HbWidget *widget, QPointF pos = QPointF(), int delay = -1);
-
-private:
- static void drag(HbAutoTestMainWindow *window, QPointF targetPoint);
- static QPointF middlePointOfWidget( const HbWidget* widget);
-
- static bool pointerPressed;
- static QPointF pressPoint;
-
-//Key event Part: copy-pasted from QTestLib and modified to support HbAutoTestKeyEvent to enable filtering.
-//see HbAutoTestMainWindow below.
-public:
-
- static Qt::Key asciiToKey(char ascii);
- static char keyToAscii(Qt::Key key);
-
- static void simulateEvent(QWidget *widget, bool press, int code,
- Qt::KeyboardModifiers modifier, QString text, bool repeat, int delay=-1);
-
- static void sendKeyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key code,
- QString text, Qt::KeyboardModifiers modifier, int delay=-1);
-
- static void sendKeyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key code,
- char ascii, Qt::KeyboardModifiers modifier, int delay=-1);
-
- static void keyEvent(QTest::KeyAction action, QWidget *widget, char ascii,
- Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key key,
- Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyClicks(QWidget *widget, const QString &sequence,
- Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyPress(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyRelease(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyClick(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyPress(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyRelease(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-
- static void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
-};
-
-class HbTestEvent
-{
-public:
- virtual void simulate(QWidget *w) = 0;
- virtual HbTestEvent *clone() const = 0;
-
- virtual ~HbTestEvent() {}
-};
-
-class HbTestKeyEvent: public HbTestEvent
-{
-public:
- inline HbTestKeyEvent(QTest::KeyAction action, Qt::Key key, Qt::KeyboardModifiers modifiers, int delay)
- : _action(action), _delay(delay), _modifiers(modifiers), _ascii(0), _key(key) {}
- inline HbTestKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers, int delay)
- : _action(action), _delay(delay), _modifiers(modifiers),
- _ascii(ascii), _key(Qt::Key_unknown) {}
- inline HbTestEvent *clone() const { return new HbTestKeyEvent(*this); }
-
- inline void simulate(QWidget *w)
- {
- if (_ascii == 0)
- HbAutoTest::keyEvent(_action, w, _key, _modifiers, _delay);
- else
- HbAutoTest::keyEvent(_action, w, _ascii, _modifiers, _delay);
- }
-
-protected:
- QTest::KeyAction _action;
- int _delay;
- Qt::KeyboardModifiers _modifiers;
- char _ascii;
- Qt::Key _key;
-};
-
-class HbTestKeyClicksEvent: public HbTestEvent
-{
-public:
- inline HbTestKeyClicksEvent(const QString &keys, Qt::KeyboardModifiers modifiers, int delay)
- : _keys(keys), _modifiers(modifiers), _delay(delay) {}
- inline HbTestEvent *clone() const { return new HbTestKeyClicksEvent(*this); }
-
- inline void simulate(QWidget *w)
- {
- HbAutoTest::keyClicks(w, _keys, _modifiers, _delay);
- }
-
-private:
- QString _keys;
- Qt::KeyboardModifiers _modifiers;
- int _delay;
-};
-
-class HbTestDelayEvent: public HbTestEvent
-{
-public:
- inline HbTestDelayEvent(int msecs): _delay(msecs) {}
- inline HbTestEvent *clone() const { return new HbTestDelayEvent(*this); }
-
- inline void simulate(QWidget * /*w*/) { QTest::qWait(_delay); }
-
-private:
- int _delay;
-};
-
-class HbTestEventList: public QList<HbTestEvent *>
-{
-public:
- inline HbTestEventList() {}
- inline HbTestEventList(const HbTestEventList &other): QList<HbTestEvent *>()
- { for (int i = 0; i < other.count(); ++i) append(other.at(i)->clone()); }
- inline ~HbTestEventList()
- { clear(); }
- inline void clear()
- { qDeleteAll(*this); QList<HbTestEvent *>::clear(); }
-
- inline void addKeyClick(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { addKeyEvent(QTest::Click, qtKey, modifiers, msecs); }
- inline void addKeyPress(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { addKeyEvent(QTest::Press, qtKey, modifiers, msecs); }
- inline void addKeyRelease(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { addKeyEvent(QTest::Release, qtKey, modifiers, msecs); }
- inline void addKeyEvent(QTest::KeyAction action, Qt::Key qtKey,
- Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { append(new HbTestKeyEvent(action, qtKey, modifiers, msecs)); }
-
- inline void addKeyClick(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { addKeyEvent(QTest::Click, ascii, modifiers, msecs); }
- inline void addKeyPress(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { addKeyEvent(QTest::Press, ascii, modifiers, msecs); }
- inline void addKeyRelease(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { addKeyEvent(QTest::Release, ascii, modifiers, msecs); }
- inline void addKeyClicks(const QString &keys, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { append(new HbTestKeyClicksEvent(keys, modifiers, msecs)); }
- inline void addKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
- { append(new HbTestKeyEvent(action, ascii, modifiers, msecs)); }
-
- inline void addDelay(int msecs)
- { append(new HbTestDelayEvent(msecs)); }
-
- inline void simulate(QWidget *w)
- {
- for (int i = 0; i < count(); ++i)
- at(i)->simulate(w);
- }
-};
-
-class HbAutoTestMainWindow : public HbMainWindow
-{
-public:
- HbAutoTestMainWindow() : HbMainWindow() {}
-
- void mousePressEvent(QMouseEvent *event)
- {
- qDebug(
- "HbAutoTestMainWindow::mousePressEvent: x(%d) y(%d)",
- event->x(),
- event->y());
- if ( dynamic_cast<HbAutoTestMouseEvent *>(event) ) {
- HbMainWindow::mousePressEvent(event);
- } else {
- ;//Do nothing
- }
- }
-
- void mouseMoveEvent(QMouseEvent *event)
- {
- if ( dynamic_cast<HbAutoTestMouseEvent *>(event) ) {
- HbMainWindow::mouseMoveEvent(event);
- } else {
- ;//Do nothing
- }
- }
-
- void mouseReleaseEvent(QMouseEvent *event)
- {
- if ( dynamic_cast<HbAutoTestMouseEvent *>(event) ) {
- HbMainWindow::mouseReleaseEvent(event);
- } else {
- ;//Do nothing
- }
- }
-
- void keyPressEvent(QKeyEvent *event)
- {
- if ( dynamic_cast<HbAutoTestKeyEvent *>(event) ) {
- HbMainWindow::keyPressEvent(event);
- } else {
- ;//Do nothing
- }
- }
- void keyReleaseEvent(QKeyEvent *event)
- {
- if ( dynamic_cast<HbAutoTestKeyEvent *>(event) ) {
- HbMainWindow::keyReleaseEvent(event);
- } else {
- ;//Do nothing
- }
- }
-
- void mouseDoubleClickEvent(QMouseEvent *event)
- {
- Q_UNUSED(event);
- //Just ignore, not supported in Orbit
- }
-};
-
-
-Q_DECLARE_METATYPE(HbTestEventList)
-#endif //HBAUTOTEST_H