windowing/windowserver/tauto/tmultiptrevent.h
changeset 116 171fae344dd4
parent 103 2717213c588a
--- a/windowing/windowserver/tauto/tmultiptrevent.h	Tue Jun 22 15:21:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-// Copyright (c) 2008-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 TMULTIPTREVENT_H_
-#define TMULTIPTREVENT_H_
-
-#include <e32std.h>
-#include <e32cmn.h>
-#include "w32std.h"
-#include "../tlib/testbase.h"
-#include "AUTO.H"
-#include "AUTODLL.H"
-#include "../TClick/multiptrclick.h"
-#include "TGraphicsHarness.h"
-
-class CTMultiPtrEventTest;
-class CTMultiPtrEventClient;
-
-/*
- * CTEvent derived class which acts as eventhandler and eventbuffer 
- * Stores the events in buffer, which is used for comparing events received from wserv.
- */ 
-class CTMultiPtrEventBuffer : public CTEvent
-	{
-	enum {EEventBufferSize=40, EMovePtsBuffer=10};
-public:
-	CTMultiPtrEventBuffer(RWsSession *aWs, CTMultiPtrEventTest *aTest, CTMultiPtrEventClient* aClient);
-	void ConstructL();
-	void AddExpectedEvent(TWsEvent &aEvent);
-	void AddExpectedMovePtEvent(TPoint &aMovePt);
-	TInt EventsRemaining();
-	void SetEventCount(TInt aCount) {iEventCount = aCount;}
-	void SetNestedLoopState(TBool aLoopStart) {iNestedLoopStarted = aLoopStart;}
-	TBool NestedLoopState() {return iNestedLoopStarted;}
-	void GetMoveBufferAndCompareL();
-protected:
-	// Pure virtual from CTEventBase
-	void doRunL();
-private:
-	void TestL(TInt aTest);
-	void TestL(TInt aTest, TInt aVal1, TInt aVal2,const char *oper, const char *aTestStr, 
-	           const TWsEvent *aEvent, const TWsEvent *aExpected, const char *aFile, TUint aLine);
-    void TestL(TInt aTest, TPoint aVal1, TPoint aVal2,const char *oper, const char *aTestStr, 
-               const TWsEvent *aEvent, const TWsEvent *aExpected, const char *aFile, TUint aLine);
-private:
-	CCirBuf<TWsEvent> iEventBuffer;
-	CCirBuf<TPoint> iMovePtsBuffer;
-	CTMultiPtrEventTest* iTest;
-	TInt iEventCount;
-	CTMultiPtrEventClient* iClient;
-	TBool iNestedLoopStarted;
-	};
-
-
-/* 
- * CTClient derived class which gives Wserv client environment 
- * i,e iWs, iScreen, iGc, iGroup, iEventHandler etc...
- * Owns CTMultiPtrEventBuffer and stores in iEventhandler of its base class
- * Accepts the event from test class and passes them on to buffer class
- */ 
-class CTMultiPtrEventClient : public CTClient
-	{
-public:
-	CTMultiPtrEventClient(CTMultiPtrEventTest *aTest, TBool aSecondaryClient = EFalse);
-	~CTMultiPtrEventClient();
-	void ConstructL();
-	
-	inline CTBlankWindow* ParentWin() { return iParentWin; }
-	inline CTBlankWindow* ChildWin() { return iChildWin; }
-	inline CTMultiPtrEventBuffer* EventBuffer() {return static_cast<CTMultiPtrEventBuffer*>(iEventHandler);}
-	inline void SetExpectNonAdvancedPointerEvents() {iExpectNonAdvancedPointerEvents=ETrue;};
-	inline void ClearExpectNonAdvancedPointerEvents() {iExpectNonAdvancedPointerEvents=EFalse;};
-
-	TBool IsSecondaryClient() {return iSecondaryClient;}
-	
-	void AddExpectedPointerEvent(TPointerEvent::TType aType, TPoint aPos, TUint8 aPointerNumber, TUint aHandle = 0);
-	void AddExpectedPointerEvent(TPointerEvent::TType aType, TPoint aPos, TInt aZ, TUint aModifier, TUint8 aPointerNumber, TUint aHandle = 0);
-	void AddExpectedWsEvent(TEventCode aType, TInt aPointerNumber = 0, TUint aHandle = 0);
-	void AddExpectedMovePoint(TPoint aPos);
-	void CalculatePtrPosAndSet3Ddata(TWsEvent& aEvent, TPointerEvent::TType aType, TPoint aPos, TUint aModifiers, TInt aZ, TUint8 aPointerNumber, TUint aHandle);
-	void ConstructGroupBlankWinL();
-	void DeleteGroupBlankWin();
-	TBool CheckOrdinalPosition(TInt aWinAutoFocus1);
-	
-	// Virtual from CTClient
-	void ConstructEventHandlerL();
-	
-private:
-	CTMultiPtrEventTest* iTest;
-	TSize iParentWinSize;
-	TPoint iParentWinPos;
-	TSize iChildWinSize;
-	TPoint iChildWinPos;
-	CTBlankWindow* iParentWin;
-	CTBlankWindow* iChildWin;
-
-	TBool iSecondaryClient;
-	
-	// For AutoFocus test
-	CTWindowGroup* iGroupWinAutoFocus1;
-	CTWindowGroup* iGroupWinAutoFocus2;
-	CTBlankWindow* iWinAutoFocus1;
-	CTBlankWindow* iWinAutoFocus2;
-	
-	TSize iWinSizeAutoFocus1;
-	TPoint iWinPosAutoFocus1;
-	TSize iWinSizeAutoFocus2;
-	TPoint iWinPosAutoFocus2;
-	TBool iExpectNonAdvancedPointerEvents;
-	};
-
-class RMultiPointerAnim : public RTestAnim
-	{
-public:
-	static RMultiPointerAnim* NewL(RWindowBase* aWin, RAnimDll* aDll);
-	RMultiPointerAnim(RAnimDll* aDll) :RTestAnim(*aDll) {}
-	TInt AddExpectedAnimPointerEvent(TRawEvent::TType aType, TPoint aPos, TInt aZ, TUint aModifier, TUint8 aPointerNumber, TBool aEat = ETrue);
-	};
-
-/*
- * CTWsGraphicsBase derived class which implements RunTestCaseL pure virtual.
- * Runs all the testcases for multi poniter events.
- * For each test case it creates CTMultiPtrEventClient object and creates a nested activescheduler
- * Calls NextSetOfEventsL() which in turn calls respective tests depending upong the testcase number
- * For each test simulates the events and adds the same event to CTMultiPtrEventBuffer
- * When all the tests for a particular testcase completes stops activescheduler
- * Repeats the same for all testcases
- */ 
-class CTMultiPtrEventTest : public CTWsGraphicsBase
-	{
-public:
-	CTMultiPtrEventTest(CTestStep* aStep);
-	~CTMultiPtrEventTest();
-	void ConstructL();
-	void NextSetOfEventsL();
-	void Failed();
-	
-	// Functions for simulating events, which use UserSvr::AddEvent
-	void SimulatePointerEvent(TRawEvent::TType aType, TInt aX, TInt aY, TUint8 aPointerNumber);
-	void SimulatePointerEvent(TRawEvent::TType aType, TInt aX, TInt aY, TInt aZ, TUint8 aPointerNumber);
-	void SimulatePointerDownUp(TInt aX, TInt aY, TInt aZ, TUint8 aPointerNumber);
-	
-	// Functions for adding event, calls the client's AddExpectedPointer
-	void AddExpectedPointerEvent(TPointerEvent::TType aType, TPoint aPos, TUint8 aPointerNumber, TUint aHandle = 0);
-	void AddExpectedPointerEvent(TPointerEvent::TType aType, TPoint aPos, TInt aZ, TUint aModifier, TUint8 aPointerNumber, TUint aHandle = 0, TBool aSecondaryClient = EFalse);
-	void AddExpectedPointerDownUp(TPoint aPos, TInt aZ, TUint8 aPointerNumber);
-	void AddExpectedWsEvent(TEventCode aType, TBool aSecondaryClient = EFalse, TInt aPointerNumber = 0, TUint aHandle = 0);
-	void AddExpectedMultiPtrClickEvent(TPointerEvent::TType aType, TPoint aPos, TInt aZ, TUint aModifier, TUint8 aPointerNumber, TUint aHandle = 0);
-	void AddExpectedMultiPtrClickOtherEvent(TPointerEvent::TType aType, TPoint aPos, TInt aZ, TUint aModifier, TUint8 aPointerNumber, TUint aHandle);
-	
-	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);	
-	
-	// Supplementary function for tests
-	void TestDragForMultiPointer(TPoint aPtrPos, TInt aPrValue, TUint8 aPointerNumber);
-	void SimulateAndAddLoneUpEvents(TInt aNumSimulation, TInt aNumAddition, TPoint aPos);
-	void TestAndDisplayAnimError();
-	void GetRemainingEventsFromSecondaryClient();
-	void TestAndDisplayPtrClickError();
-	void CreatePointerClickPluginL();
-	void SetAutoFlush();
-	void ResetFlushStopAS();
-	void TestFilteringForMultiPointer(TBool aFiltering);
-	void TestGrabbingForMultiPointer(TBool aGrabbing);
-	void CreateGroupWinL();
-	void DeleteGroupWin();
-	void CreateGroupWinForCapturingL();
-	void DeleteGroupWinForCapturing();
-	void CreateAnimDllAndAnimL();
-	void DestroyAnimDllAndAnim();
-	void TestCloseProximityHighPressureAPIsL();
-	void TestCapturingForMultiPointer(TBool aAllGroups);
-	void SetThresholdValues(TInt aEnterCloseProx, TInt aExitCloseProx, TInt aEnterHighPres, TInt aExitHighPres);
-	void NegativeTestingOfProximityPressureAPIsL();
-	void TestErrorCodeL(TInt aExpErrCode, TInt aActualErrCode);
-	void SimulateProximityAndPressureEvents(TInt aCloseProxEnterValue, TInt aCloseProxExitValue, TInt aHighPresEnterValue, TInt aHighPresExitValue);
-	void SetDefaultScreenMode();
-	TPoint GetPointerPostionOnRotatedMode(TPoint aPointerPos, CFbsBitGc::TGraphicsOrientation aRotation);
-	void LogEventsAdded();
-	
-	// All tests
-	void MultiPointerEvents();
-	void PurgingMultiPointerEvents();
-	void MultiPointerEventsForAnimsL();
-	void MultiClientMultiPointerEvents();
-	void MultiPointerEventsForPointerClickL();
-	void MultiPointerEventsInDiffScreenModes();
-	void FilteringMultiPointerEvents();
-	void GrabbingMultiPointerEvents();
-	void VirtualKeyBoardForMultiplePointers();
-	void DoubleClickForMultiplePointers();
-	void MultiPointerOutOfRangeEvents();
-	void AutoForeGroundForMultiplePointersL();
-	void EmulationRulesForMultiplePointers();
-    void CloseProximityAndHighPressureEventsL();
-	void OutOfBoundValueTesting();
-	void CapturingMultiPointerEvents();
-	void NegativeTestsForProximityPressureEventsL();
-	void PointerRepeatEventForMultiplePointers();
-	void SetExpectNonAdvancedPointerEvents(TBool aSecondaryClient=EFalse);
-	void ClearExpectNonAdvancedPointerEvents(TBool aSecondaryClient=EFalse);
-	
-protected:
-	void RunTestCaseL(TInt aCurTestCase);
-private:
-	void RunTestsL();
-private:
-	TInt iEventSet;			// Set of events for one particular test case
-	TBool iFailed;
-	TBool iActiveSchedulerStarted;
-	TBool iTheClientFlush;
-	TBool iClientFlush;
-	TBool iSecClientFlush;
-	TSize iPhysicalScreenSize;
-	TRect iOrigPtrCursorArea;
-	
-	TUint iPointerNumber;
-	TInt iMaxDevPointers;
-	TInt iMaxUiPointers;
-	TInt iMaxPressure;
-	TInt iPressureStep;
-	TInt iMaxProximity;
-	TInt iProximityStep;
-
-	TInt iEnterCloseProximityThreshold;
-	TInt iExitCloseProximityThreshold;
-	TInt iEnterHighPressureThreshold;
-	TInt iExitHighPressureThreshold;	
-	 
-	CTMultiPtrEventClient *iMultiPtrEventClient;
-	CTMultiPtrEventClient *iSecMultiPtrEventClient;
-	
-	RAnimDll* iAnimDll;
-	RMultiPointerAnim* iAnim;
-	
-	RSoundPlugIn iClick;
-	TBool iPtrPluginLoaded;
-	RChunk iChunk;
-	RHeap* iHeap;
-	TAny* iErrDesc;
-	
-	TInt iCurrentScreenMode;
-	TBool iChangeScreenMode;
-	
-	CTWindowGroup* iGroupWinForEmul;
-	CTBlankWindow* iWinForEmul;
-	
-	CTWindowGroup* iGroupWinForCapturing;
-	CTBlankWindow* iWinForCapturing;
-	
-	TInt iYOffset;
-	};
-
-class CTMultiPtrEventTestStep : public CTGraphicsStep
-	{
-public:
-	CTMultiPtrEventTestStep();
-protected:
-	//from CTGraphicsStep
-	virtual CTGraphicsBase* CreateTestL();
-	};
-
-_LIT(KTMultiPtrEventTestStep, "TMultiPtrEventTest");
-
-#endif /*TMULTIPTREVENT_H_*/