diff -r bf7481649c98 -r 7f25ef56562d windowing/windowserver/tauto/TEVENT.H --- a/windowing/windowserver/tauto/TEVENT.H Fri Jun 11 14:58:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,423 +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 __TEVENT_H__ -#define __TEVENT_H__ - -#include -#include -#include -#include "../tlib/testbase.h" -#include "AUTO.H" -#include "AUTODLL.H" -#include "../TClick/CLICK.H" -#include "TGraphicsHarness.h" -#ifndef TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA -#include -#include -#endif //TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA - -const TInt EMaxEventQueueSize=32; -const TInt EMinQueueSize = 2; - - -class CTEventTest; -class CTQueueClient; - -class TWsQTEvent : public TWsEvent - { - friend class CTEventTest; -public: - inline TTime& Time() {return iTime;} - }; - -class CTQueueTestEvent : public CTEvent - { - enum {EEventBufferSize=40}; -public: - CTQueueTestEvent(RWsSession *aWs, CTEventTest *aTest); - void ConstructL(); - void AddExpectedEvent(TWsEvent &aEvent); - inline void ResetCount(TInt aSet) {iEventCount=0;iEventSet=aSet;iLastEventError=EFalse;} - TInt EventsLeft(); - inline void SetCheckTimeStamp(TBool aCheck) {iCheckTimeStamp = aCheck;} -protected: - void doRunL(); -private: - void TestL(TInt aTest); -private: - CCirBuf iEventBuffer; - CTEventTest *iTest; - TInt iEventCount; - TInt iEventSet; - TBool iCheckTimeStamp; - TPartialRedrawType iRedrawType; - TBool iLastEventError; - }; - -const TInt EWinPositionX=6; -const TInt EWinPositionY=9; -const TInt EWinWidth=100; -const TInt EWinHeight=50; -// (6,9) -// +----------------------+ -// | (31,21) | -// | +--------------+ | -// | | | | -// | | | | -// | +--------------+ | -// | (81,46) | -// +----------------------+ (106,59) - -class CTQueueClient : public CTClient - { -private: - enum {EMaxKeysDown=50}; -public: - CTQueueClient(CTEventTest *aTest); - ~CTQueueClient(); - void ConstructL(TBool aCreateChild); - void ConstructEventHandlerL(); - void AddExpectedEvent(TWsEvent &aEvent); - TInt WindowGroupIdentifier(); - CTWinBase* GetHandle(TPoint& aPos); - void SetChildCapture(TInt aCaptureFlags); - inline void ResetCount(TInt aSet) {EventQueue()->ResetCount(aSet);} - inline void EnableFocusChangeEvents() {iGroup->GroupWin()->EnableFocusChangeEvents();} - inline void DisableFocusChangeEvents() {iGroup->GroupWin()->DisableFocusChangeEvents();} - inline void EnableGroupListChangeEvents() {iGroup->GroupWin()->EnableGroupListChangeEvents();} - inline void DisableGroupListChangeEvents() {iGroup->GroupWin()->DisableGroupListChangeEvents();} - inline CTQueueTestEvent* EventQueue() {return STATIC_CAST(CTQueueTestEvent*,iEventHandler);} - inline TPoint ChildTopLeft() {return TPoint(EWinWidth/4,EWinHeight/4);} - inline TSize ChildSize() {return TSize(EWinWidth/2,EWinHeight/2);} - void CreateEventTestGroupOnSecondScreenL(); - void CloseEventTestGroupOnSecondScreen(); -private: - inline TPoint ParentTopLeft() {return TPoint(EWinPositionX,EWinPositionY);} - inline TPoint ChildAbsTopLeft() {return ParentTopLeft()+ChildTopLeft();} -private: - TInt iKeysDown[EMaxKeysDown]; - TInt iNumKeysDown; - CTEventTest *iTest; -public: - CTBackedUpWin *iChildWin; - CTBackedUpWin *iWin; - TBool iChildCapturing; - TBool iCapturing; - CWsScreenDevice* iSndScreen; - RWindowGroup* iWinGp1; - RWindowGroup* iWinGp2; - }; - -class REventAnimBase : public RTestAnim - { -public: - enum EAnimationType - { - EEventAnim, - EEventPostingAnim - }; - REventAnimBase(RAnimDll* aDll) :RTestAnim(*aDll) {} - virtual void Destroy(); - void Reset(); - TInt ErrorCode(); - TInt NumberOfEventsReceived(); - TInt AddExpectedEvent(TBool aEat, const TRawEvent& aEvent); - TInt AddExpectedEvent(const TAnimRawEvent& aEvent); - static RAnimDll* LoadL(); - }; - -/** - Client side handle to server-side anim class used for Anim Event tests - @internalComponent - @test - */ -class REventAnim : public REventAnimBase - { -public: - static REventAnim* NewL(RWindowBase* aWin, RAnimDll* aDll, REventAnimBase::EAnimationType aType=EEventAnim); - inline REventAnim(RAnimDll* aDll) : REventAnimBase(aDll) {} - inline TInt AddEvent(const TAnimRawEvent& aEvent) {return REventAnimBase::AddExpectedEvent(aEvent);}; - inline TInt GetError() {return REventAnimBase::ErrorCode();}; - inline TInt GetNumEvents() {return REventAnimBase::NumberOfEventsReceived();}; - TInt TestFail(TInt aNoEvents); - }; - -/** - Client side handle to server-side anim class used for Event Handler Removal tests - - RRemovableAnim is an anim which removes itself from the event handler list - after receiving n events, where n is the 'lifetime' of the anim measured in events received. - - @internalComponent - @test - */ -class RRemovableAnim : public REventAnimBase - { -public: - static RRemovableAnim* NewLC(RWindowBase* aWin, RAnimDll* aDll); - inline RRemovableAnim(RAnimDll* aDll) : REventAnimBase(aDll) {} - inline TInt AddExpectedEvent(const TRawEvent& aEvent) {return REventAnimBase::AddExpectedEvent(EFalse, aEvent);}; - TInt SetEventHandlerLifetime(TInt aEventCount); - TInt EventHandlerLifetime(); - TInt AddToEventHandlers(); - TInt RemoveFromEventHandlers(); - TBool TestPassed(); - }; - -class CTEventTest : public CTWsGraphicsBase - { - enum { - EKeyboardInitialRepeat1=1234567, - EKeyboardRepeat1=555666, - EKeyboardInitialRepeat2=2121212, - EKeyboardRepeat2=20000, - EDoubleClickTime1=900000, - EDoubleClickGap1=10, - EDoubleClickTime2=4000000, - EDoubleClickGap2=5, - ENumVisWins=2, - EPointerCursorUpdateGap=50000, //0.05secs Same as WsPointer::EPointerUpdateGapInMicroSeconds - EKeyboardInitialRepeat3=2147483447, // Max value - EKeyboardRepeat3=8000, // for repeat 3 - EKeyboardInitialRepeat4=-2, // Min value - EKeyboardRepeat4=6000, // for repeat 4 - EKeyboardRepeat5=7000, // for repeat 4z - EKeyboardRepeat6=-30000, // for repeat 4 - EKeyboardRepeat7=2147483447, // for repeat 4 - }; -public: - CTEventTest(CTestStep* aStep); - ~CTEventTest(); - //TestState DoTestL(); - void ConstructL(); - void General(); - void General2(); - void Failed(); - //void QueuePurgingL(); - //void SendEventL(); - //void InvisibleWindowL(); - //void JavaAdditionsL(); - void WindowCapBugL(); - //void XyInputTypeL(); - //void MovingPointerCursorL(); - //void RotatedModeL(); - //void AnimEvent(); - void CheckTimeInterval(const TTimeIntervalMicroSeconds32 &aTime,TInt EKeyboardRepeat1); - void KeyRepeatRate(TInt aInitialRepeat, TInt aRepeat); - void KeyRepeatRateNegTest(TInt aInitialRepeat, TInt aRepeat); - void DoubleClickSettings(TInt aInterval, TInt aDistance); - void NextSetOfEventsL(); - inline void ResetCount(TInt aSet) {iQueueClient->ResetCount(aSet);} -protected: -//from CTGraphicsStep - virtual void RunTestCaseL(TInt aCurTestCase); -private: - enum - { - EDoRot0 =0x01, - EDoRot90 =0x02, - EDoRot180=0x04, - EDoScale=0x80, - }; - enum TClients - { - ETheClient, - EQueueClient, - }; - enum TCaptureKeyApis - { - ECaptureKey1, - ECaptureKey2, - ECaptureKeyUpAndDowns1, - ECaptureKeyUpAndDowns2, - ECaptureLongKey1, - ECaptureLongKey2, - // Add additional enum values before this line - EMaxCaptureKeyApis - }; - enum TCancelCaptureKeyApis - { - ECancelCaptureKey, - ECancelCaptureKeyUpAndDowns, - ECancelCaptureLongKey, - // Add additional enum values before this line - EMaxCancelCaptureKeyApis - }; -private: - void RunTestsL(TBool aNeedChildWindows=EFalse); - void RunTestsRestoreAreaL(TBool aNeedChildWindows); - void QueuePurge_NextSetOfEventsL(); - void InitializeQueueSizeTestL(TBool aEventReadyCancel); - void SendEventTest_NextSetOfEvents(); - void InvisibleWindow_NextSetOfEvents(); - void JavaAdditions_NextSetOfEvents(); - void XyInputType_NextSetOfEvents(); - void MovingPointerCursor_NextSetOfEventsL(); - void WinCap_NextSetOfEvents(); - void RotatedMode_NextSetOfEventsL(); - void ScreenScaling_NextSetOfEventsL(); - void AnimEvent_NextSetOfEventsL(); - void FocusChanged_NextSetOfEventsL(); - void StopEvents_NextSetOfEventsL(); - void VirtualKeyboard_NextSetOfEventsL(); - void KeyClicks_NextSetOfEvents(); - void CaptureLong_NextSetOfEventsL(); - void Password_NextSetOfEvents(); - void GroupListChanged_NextSetOfEventsL(); - void VisibilityChanged_NextSetOfEventsL(); -#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS -#ifndef TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA - void SurfaceVisibilityChanged1_NextSetOfEventsL(); - void SurfaceVisibilityChanged2_NextSetOfEventsL(); - void SurfaceVisibilityChanged3_NextSetOfEventsL(); -#endif //TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA -#endif //SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS - void CheckTimeStamp_NextSetOfEventsL(); - void RepeatableKeysL(); - void PointerCapture_NextSetOfEventsL(); - void PointerBufferPurge_NextSetOfEventsL(); - void MismatchedCapture_NextSetOfEventsL(); - void EventHandlerRemoval_NextSetOfEventsL(); - void EventHandlerRemoval_CreateAnimsL(TInt aAnimCount); - void EventHandlerRemoval_PrepareAnims(const TInt* aLifeTimes, TInt aAnimCount); - void EventHandlerRemoval_CreateExpectedEvents(TInt aEventCount, TInt aLiveAnimCount); - void EventHandlerRemoval_AddExpectedEvent(TRawEvent aEvent, TInt aLiveAnimCount); - void EventHandlerRemoval_CheckExpectedEventsReceivedByAnims(); - void EventHandlerRemoval_CheckRecursionOfProcessRawEvent(); - void EventHandlerRemoval_ManuallyRemoveAllAnims(); - void EventHandlerRemoval_ResetAllAnims(); - void EventHandlerRemoval_RemoveAndResetAllAnims(); - void EventHandlerRemoval_DestroyAllAnims(); - void EventHandlerRemoval_AddEventHandlerMultipleTimes(); - void CheckPointerCursorInDifferentScreenMode(TSizeMode aMode,TPoint aOrigin); - void SimulateAndCheck(TPoint aOrigin,TSize aScale,TInt aXOffset,TInt aYOffset,TPointerEvent::TType aEventType,TRect aPointerCursorArea); - void AddExpectedKey(TInt aEventCode, TInt aScanCode, TInt aCode=0, TInt aRepeats=0, TUint aModifiers=0); - void AddExpectedKeyDownUp(TInt aScanCode, TInt aCode=0, TInt aRepeats=0, TUint aModifiers=0); - void AddExpectedEvent(TInt aEventCode, CTWinBase* aWin); - void AddExpectedEvent(TInt aEventCode); - void AddExpectedEvent(TInt aEventCode,RWindowGroup* aWindow); - void AddExpectedErrorMessage(TWsErrorMessage::TErrorCategory aCategory, TInt aError); - void CalculatePointerEvent(TWsEvent& aEvent,TPointerEvent::TType aType, TPoint aPos); - void CalculatePointerCaptureEvent(TWsEvent& aEvent,TPointerEvent::TType aType, TPoint aPos, TInt aHandle=0); - void AddExpectedPointer(TPointerEvent::TType aType, TPoint aPos); - void AddExpectedPointerCapture(TPointerEvent::TType aType, TPoint aPos, TInt aHandle=0); - void AddExpectedPointerClick(TPointerEvent::TType aType, TPoint aPos); - void AddExpectedPointerDownUp(TPoint aPos); - inline void AddExpectedPointerScr(TPointerEvent::TType aType, TPoint aPos); - inline void AddExpectedPointerDownUpScr(TPoint aPos); - void AddExpectedModifiersChanged(TInt aChangedModifiers, TInt aModifiers); - void AddExpectedEnterExit(TInt aEventCode, TPoint aPos); - void AddExpectedKeyAnim(TRawEvent::TType aEventCode, TInt aScanCode,TBool aEat); - void AddExpectedPointerAnim(TRawEvent::TType aEventCode, TPoint aPoint, TBool aEat=ETrue); - void AddExpectedVisibilityChange(TUint aFlags); - void AddExpectedVisibilityChange(TUint aFlags, CTBlankWindow* aWindow); - inline void SimulatePointerWin(TRawEvent::TType aType, TInt aX, TInt aY); - inline void SimulatePointerDownUpWin(TInt aX, TInt aY); - inline void SimulatePointer(TRawEvent::TType aType, TInt aX, TInt aY); - void doSendEvent(TWsEvent &aEvent); - void SendKey(TInt aEventCode, TInt aScanCode, TInt aCode=0, TInt iRepeats=0); - void SendEvent(TInt aEventCode); - void CreateEventTestGroup(); - void CloseEventTestGroup(); - void CreateAndCloseEventTestGroup(); - void TriggerOomMessage(TTimeIntervalMinutes aPeriod); - TBool SetClickType(TClickOutputModes aType); - CTBlankWindow* NewBlueForgroundWindowL(); - CTBlankWindow* NewBlueForgroundWindow(); - TInt KeyRepeatTime() const; - void EventQueuePtrCrashTest(); - TInt ClickCommandReply(TInt aCommand,TInt aData); - TInt CreateGroupWindow(RWindowGroup& aWinGp,TClients aClient,TInt& aWinGpId); - void CloseGroupWindow(RWindowGroup& aWinGp,TInt aWinGpId); - void CloseWindow(RWindowBase& aWin,TInt aHandle,TInt aWinGpId); - void EventQueueExpansionTestL(); - void RawEventRepeatTest_NextSetOfEventsL(); - void SimulateRepeatEvent(TInt aScanCode, TInt aRepeats=0); -#if !defined(TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA) - void SimulateButton1DownWithSimulatedMove(TInt aX, TInt aY); -#endif - void TestCaptureAndCancelCapturePair(TCaptureKeyApis aCaptureApi, TCancelCaptureKeyApis aCancelCaptureApi); - static TInt GenerateAnEvent(TAny* aEventTest); -private: - CTBlankWindow* iBlankWin; - RBlankWindow iBackingWindow; - TSize iPhysicalScreenSize; - TSize iWinSize; - RWindowGroup iEventTestGroup; - CTWindowGroup *iEventTestGroup2; - CTWindowGroup *iEventTestGroup3; - CTWindowGroup *iEventTestGroup4; - TInt iEventSet; - CTQueueClient *iQueueClient; - TBool iFailed; - REventAnim* iAnim; - TUint iScreenModeTests; //currently contains supported rotation and if screen scaling is possible - TInt iNumScrModes; - RSoundPlugIn iClick; - TBool iAddToClick; - TInt iCaptureKey; - TBool iTurnBackOnCapsLock; - TInt iCurrentMode; - TSizeMode iSizeMode; - TBool iTheClientFlush; - TBool iQuequeClientFlush; - CTBlankWindow* iVisWins1; - CTBlankWindow* iVisWins2; - CTBlankWindow* iVisWins3; - CTransWindow* iTransWin; - RAnimDll* iAnimDll; - RPointerArray* iRemovableAnims; - TBool iIs3DPointer; - TBool iPtrPluginLoaded; - TInt iYOffset; -#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS -#ifndef TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA - TSurfaceId iSurfaceId; - RSurfaceManager iSurfaceManager; - CPeriodic* iTimeOutCallback; -#endif // TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA -#endif // SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS - }; - -class CTQueueWindowGroup : public CTWindowGroup - { -public: - CTQueueWindowGroup(CTClient *aClient); - void ConstructL(); -private: - TInt iNumOnEvents; - }; - -class CTEventTestStep : public CTGraphicsStep - { -public: - CTEventTestStep(); -protected: - //from CTGraphicsStep - virtual CTGraphicsBase* CreateTestL(); - }; - -_LIT(KTEventTestStep,"TEventTest"); - - -#endif