--- 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 <e32std.h>
-#include <e32cmn.h>
-#include <w32std.h>
-#include "../tlib/testbase.h"
-#include "AUTO.H"
-#include "AUTODLL.H"
-#include "../TClick/CLICK.H"
-#include "TGraphicsHarness.h"
-#ifndef TEST_GRAPHICS_WSERV_TAUTOSERVER_NONNGA
-#include <graphics/surfacemanager.h>
-#include <graphics/surfaceupdateclient.h>
-#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<TWsEvent> 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<RRemovableAnim>* 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