diff -r bf7481649c98 -r 7f25ef56562d windowing/windowserver/tauto/TCapKey.H --- a/windowing/windowserver/tauto/TCapKey.H Fri Jun 11 14:58:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,313 +0,0 @@ -// Copyright (c) 1996-2009 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: -// - -/** - @file - @test - @internalComponent - Internal Symbian test code -*/ - -#ifndef __TCAPKEY_H__ -#define __TCAPKEY_H__ - -#include -#include -#include "../tlib/testbase.h" -#include "AUTO.H" -#include "TGraphicsHarness.h" - -enum TTestMode - { - EModeNormalCapture, - EModeNormalCaptureWithPriority, - EModeWaitingForFirstNormalCapWithPriority, - EModeWaitingForFirstDown, - EModeWaitingForFirstDownWithPriority, - EModeKeyUpsAndDowns, - EModeKeyUpsAndDownsWithPriority, - EModeAbortKeys, - }; -enum TCapKeyRetValues - { - ECapKeyOkay, - ECapKeyRetry, - ECapKeyFail, - }; - -struct SCapKeyParams - { - TInt connIndex; // Connection that should capture this key - TUint keyCode; - TUint modifier_mask; - TUint modifiers; - TInt priority; - }; - -struct SCapKeyTestParams - { - TText *txt; // Text message telling user what to do - TInt connIndex; // Connection that receive the key press - TUint keyCode; // Expected key code - TUint modifier_mask;// Modifiers mask for expected modifiers - TUint modifiers; // Expected modifiers - }; - -struct SAbortKeyTests - { - TUint keyCode; // Expected key code - TUint modifier_mask;// Modifiers mask for expected modifiers - TUint modifiers; // Expected modifiers - }; - -LOCAL_D SCapKeyParams capKeys[]={ - {1,19,EModifierFunc|EModifierCtrl,EModifierFunc|EModifierCtrl,0}, - {2,'b',EModifierFunc|EModifierCtrl,EModifierFunc,0}, - {2,'n',EModifierFunc|EModifierCtrl,EModifierFunc,0}, - {0,3,EModifierFunc|EModifierCtrl,EModifierFunc|EModifierCtrl,0}, - {2,'q',0,0,0}, - {2,'w',0,0,0}, - }; - -LOCAL_D SCapKeyParams capKeysWithPriority[]={ - {2,'h',0,0,7}, - {1,'h',EModifierFunc|EModifierCtrl|EModifierShift,0,7}, - {0,'h',EModifierFunc|EModifierCtrl|EModifierShift,0,7}, - {2,'j',EModifierFunc|EModifierCtrl|EModifierShift,0,6}, - {1,'j',EModifierFunc|EModifierCtrl|EModifierShift,0,6}, - {0,'j',EModifierFunc|EModifierCtrl|EModifierShift,0,5}, - {2,'k',EModifierFunc|EModifierCtrl|EModifierShift,0,4}, - {1,'k',EModifierFunc|EModifierCtrl|EModifierShift,0,3}, - {0,'k',EModifierFunc|EModifierCtrl|EModifierShift,0,2}, - }; - -LOCAL_D SCapKeyParams capUpAndDownKeys[]={ - {2,EStdKeySpace,EModifierFunc|EModifierCtrl|EModifierShift,0,0}, - {2,EStdKeyEnter,EModifierFunc|EModifierCtrl|EModifierShift,EModifierShift,0}, - }; - -LOCAL_D SCapKeyParams capUpAndDownKeysWithPriority[]={ - {2,'H',EModifierFunc|EModifierCtrl|EModifierShift,0,7}, - {1,'H',EModifierFunc|EModifierCtrl|EModifierShift,0,7}, - {0,'H',EModifierFunc|EModifierCtrl|EModifierShift,0,7}, - {2,'J',EModifierFunc|EModifierCtrl|EModifierShift,0,6}, - {1,'J',EModifierFunc|EModifierCtrl|EModifierShift,0,6}, - {0,'J',EModifierFunc|EModifierCtrl|EModifierShift,0,5}, - {2,'K',EModifierFunc|EModifierCtrl|EModifierShift,0,4}, - {1,'K',EModifierFunc|EModifierCtrl|EModifierShift,0,3}, - {0,'K',EModifierFunc|EModifierCtrl|EModifierShift,0,2}, - }; - -LOCAL_D SCapKeyTestParams capKeyTests[]={ - {(TText *)_S("Press q"),2,'q',EModifierFunc|EModifierCtrl|EModifierShift,0}, - {(TText *)_S("Press w"),2,'w',EModifierFunc|EModifierCtrl|EModifierShift,EModifierFunc}, - {(TText *)_S("Press a"),0,'a',0}, - {(TText *)_S("Press s"),1,19,EModifierFunc|EModifierCtrl|EModifierShift,EModifierFunc|EModifierCtrl}, - {(TText *)_S("Press n"),2,'n',EModifierFunc|EModifierCtrl|EModifierShift,EModifierFunc}, - {(TText *)_S("Press b"),0,2,EModifierFunc|EModifierCtrl|EModifierShift,EModifierFunc|EModifierCtrl}, - {(TText *)_S("Press d"),0,'d',EModifierFunc|EModifierCtrl|EModifierShift,EModifierFunc}, - {(TText *)_S("Press c"),0,3,EModifierFunc|EModifierCtrl|EModifierShift,EModifierFunc|EModifierCtrl}, -// -// Capture normal keys with priority -// - {(TText *)_S("Press h"),0,'h',EModifierFunc|EModifierCtrl|EModifierShift,0}, - {(TText *)_S("Press j"),1,'j',EModifierFunc|EModifierCtrl|EModifierShift,0}, - {(TText *)_S("Press k"),2,'k',EModifierFunc|EModifierCtrl|EModifierShift,0}, -// -// Capture ups and downs -// - {(TText *)_S("Press "),2,EStdKeySpace,EModifierFunc|EModifierCtrl|EModifierShift,0}, - {(TText *)_S("Press "),0,EStdKeyEnter,EModifierShift,0}, - {(TText *)_S("Press "),0,EStdKeySpace,EModifierFunc|EModifierCtrl|EModifierShift,EModifierShift}, - {(TText *)_S("Press "),2,EStdKeyEnter,EModifierShift,EModifierShift}, - -// -// Capture ups and downs -// - {(TText *)_S("Press H"),0,'H',EModifierFunc|EModifierCtrl|EModifierShift,0}, - {(TText *)_S("Press J"),1,'J',EModifierFunc|EModifierCtrl|EModifierShift,0}, - {(TText *)_S("Press K"),2,'K',EModifierFunc|EModifierCtrl|EModifierShift,0}, -// -// Priority keys -// - {(TText *)_S("Press c"),0,0,0,0}, - {(TText *)_S("Press d"),0,0,0,0}, - {(TText *)_S("Press z"),0,0,0,0}, - }; - -LOCAL_D SAbortKeyTests abortKeyTests[]={ - {3,EModifierCtrl,EModifierCtrl}, - {4,EModifierCtrl,EModifierCtrl}, - {'z',EModifierFunc|EModifierCtrl|EModifierShift,0} - }; - -struct SErrorCapKey - { - TInt keyCode; - TUint modifier_mask; - TUint modifiers; - }; - -LOCAL_D SErrorCapKey errorKeys[]={ - {'a',EModifierFunc|EModifierShift,EModifierFunc|EModifierCtrl}, - {'1',0,EModifierFunc}, - {3,EModifierCtrl,EModifierCtrl|EModifierShift}, - }; - -const TInt numCapKeys=sizeof(capKeys)/sizeof(capKeys[0]); -const TInt numCapKeysWithPriority=sizeof(capKeysWithPriority)/sizeof(capKeysWithPriority[0]); -const TInt numTests=sizeof(capKeyTests)/sizeof(capKeyTests[0]); -const TInt numErrorKeys=sizeof(errorKeys)/sizeof(errorKeys[0]); -const TInt numAbortKeyTests=sizeof(abortKeyTests)/sizeof(abortKeyTests[0]); -const TInt numUpDownKeys=sizeof(capUpAndDownKeys)/sizeof(capUpAndDownKeys[0]); -const TInt numUpDownKeysWithPriority=sizeof(capUpAndDownKeysWithPriority)/sizeof(capUpAndDownKeysWithPriority[0]); -const TInt numUpDownKeyTests=4; -const TInt numUpDownKeyWithPriorityTests=3; -const TInt numCapKeyWithPriorityTests=3; -const TInt numCapKeyTests=numTests-numAbortKeyTests-numUpDownKeyTests-numUpDownKeyWithPriorityTests-numCapKeyWithPriorityTests; - -LOCAL_D TInt capKeyHandle[numCapKeys]; -LOCAL_D TInt capKeyWithPriorityHandle[numCapKeysWithPriority]; -LOCAL_D TInt capUpDownKeyHandle[numUpDownKeys]; -LOCAL_D TInt capUpDownKeyWithPriorityHandle[numUpDownKeysWithPriority]; - -class CCKWindow; -class CTCaptureKey; -class CCKAbortConnection; - -class CCKConnectionBase : public CTClient - { -public: - CCKConnectionBase(CTCaptureKey *aTest); - void ConstructL(); -protected: - CTCaptureKey *iTest; - }; - -class CCKConnection : public CCKConnectionBase - { -public: - CCKConnection(CTCaptureKey *aTest, TInt aConnIndex); - ~CCKConnection(); - void ConstructL(); - void CheckKeyL(const SCapKeyTestParams &aKeyTest, const TKeyEvent &aKey); - void SubStateChanged(); - void KeyTestL(TInt aBool); - void KeyL(const TKeyEvent &aKey,const TTime &aTime); - void CheckUpDownL(const SCapKeyTestParams &aKeyTest, const TKeyEvent &aKey); - void CheckUpDownL(const TKeyEvent &aKey); - inline TInt Index() {return iConnIndex;} -protected: - TInt iConnIndex; - CCKWindow *iWin; - }; - -class CAbortHandler : public CTEventBase - { -public: - CAbortHandler(RWsSession *aWs, CCKAbortConnection *aConnection); - ~CAbortHandler(); - void Request(); -protected: - void DoCancel(); - void doRunL(); -protected: - CCKAbortConnection *iConnection; - }; - -class CCKAbortConnection : public CCKConnectionBase - { -public: - CCKAbortConnection(CTCaptureKey *aTest); - ~CCKAbortConnection(); - void ConstructL(); - void ReceivedAbortEvent(TInt aHandle, TKeyEvent *aKey); - void Foreground(); -protected: - CAbortHandler *iAbortHandler; - TInt iAbortKeyIndex; - }; - -class CCKWindow : public CTWin - { -public: - CCKWindow(CTCaptureKey *aTest, TInt aConnIndex); - void SetUpL(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc); - void Draw(); -protected: - TInt iConnIndex; - CTCaptureKey *iTest; - TRgb iBack; - }; - -class CCKWindowGroup : public CTWindowGroup - { -public: - CCKWindowGroup(CTClient *aClient, CTCaptureKey *aTest); - void KeyL(const TKeyEvent &aKey,const TTime &aTime); - void KeyDownL(const TKeyEvent &aKey,const TTime &); - void KeyUpL(const TKeyEvent &aKey,const TTime &); - void CheckUpDown(const SCapKeyTestParams &aKeyTest, const TKeyEvent &aKey); -private: - CTCaptureKey *iTest; - }; - -class CTCaptureKey : public CTWsGraphicsBase - { -public: - CTCaptureKey(CTestStep* aStep); - ~CTCaptureKey(); - void ConstructL(); - void EndCaptureKeyTest(); - inline TInt State() {return iState;} - TInt SubState() const; - void IncSubState(); - void BadParams(); - void CapKeyPurgingL(); - void SetUpPriorityKeyTest(); - void CaptureWithPriorityTest(); - void CaptureUpsAndDownsTest(); - void CaptureUpsAndDownsWithPriorityTest(); - TTestMode Mode(); - void SetMode(TTestMode aMode); - inline TestClient* Client() {return TheClient;} - void SendEvents(); - void CapKeyPowerOffL(); - inline TInt ScreenNumber() {return iTest->ScreenNumber();} -protected: - virtual void RunTestCaseL(TInt aCurTestCase); -private: - CCKConnection *iConn1; - CCKConnection *iConn2; - CCKConnection *iConn3; - CCKAbortConnection *iAbortConn; - TSize iWinSize; - TInt iState; - TInt iSubState; - TTestMode iMode; - }; - -class CTCaptureKeyStep : public CTGraphicsStep - { -public: - CTCaptureKeyStep(); -protected: - //from CTGraphicsStep - virtual CTGraphicsBase* CreateTestL(); - }; - -_LIT(KTCaptureKeyStep,"TCaptureKey"); - - -#endif