diff -r 594d59766373 -r 7d48bed6ce0c telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.h Tue Aug 31 15:45:17 2010 +0300 @@ -0,0 +1,84 @@ +/* +* 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 UT_DIALPADHASHEVENTFILTER_H +#define UT_DIALPADHASHEVENTFILTER_H + +#include +#include + +class Dialpad; +class DialpadHashEventFilter; +class HbLineEdit; +class QTimer; + +// helper class +class KeyEventCatcher : public QObject +{ +public: + bool eventFilter(QObject* watched, QEvent * event) + { + Q_UNUSED(watched); + + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); + mKeyPresses.append(keyEvent->key()); + return false; + } else if (event->type() == QEvent::KeyRelease) { + QKeyEvent *keyEvent = static_cast(event); + mKeyReleases.append(keyEvent->key()); + return false; + } + return false; + } + +public: + QList mKeyPresses; + QList mKeyReleases; +}; + +class UT_DialpadHashEventFilter : public QObject, public MockService +{ + Q_OBJECT + +public: + + UT_DialpadHashEventFilter(); + ~UT_DialpadHashEventFilter(); + +private slots: + + void init(); + void cleanup(); + // void callEventFilter(); + +#ifdef Q_OS_SYMBIAN + // These are actual hash event filter unit tests + void testeventFilter(); + void testhandleLongKeyPress(); + void testhandleCallButtonPress(); + void testhandleMailboxOperation(); +#endif + +private: + Dialpad *m_dialPad; + DialpadHashEventFilter *m_eventFilter; + HbLineEdit *m_lineEditMock; + QTimer *mLongPressTimer; +}; + +#endif // UT_DIALPADHASHEVENTFILTER_H