windowing/windowserver/tman/TMAN.CPP
changeset 116 171fae344dd4
parent 103 2717213c588a
--- a/windowing/windowserver/tman/TMAN.CPP	Tue Jun 22 15:21:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,490 +0,0 @@
-// Copyright (c) 1995-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:
-// Manual window server tests
-// Note: Wherever possible tests should be put into the TAUTO automatic test
-// code test should only go here when manual operation is essential
-// 
-//
-
-#include <e32std.h>
-#include "W32STD.H"
-#include <e32svr.h>
-#include "TMAN.H"
-
-#define LOG_TESTS
-
-class ErrorDialog : public CTDialog
-	{
-public:
-	ErrorDialog(CTestBase *aTest);
-	void ButtonPressL(TInt aButton);
-private:
-	CTestBase *iTest;
-	};
-
-class TestWindowGroup : public CTWindowGroup
-	{
-public:
-	TestWindowGroup(CTClient *aClient);
-	void ConstructL();
-	void KeyL(const TKeyEvent &aKey,const TTime &aTime);
-	void KeyDownL(const TKeyEvent &aKey,const TTime &aTime);
-	void KeyUpL(const TKeyEvent &aKey,const TTime &aTime);
-	};
-
-class CTManScheduler : public CActiveScheduler
-	{
-public:
-	void SetClient(TestClient *aClient);
-	void Error(TInt anError) const;
-private:
-	void doErrorL(TInt anError) const;
-private:
-	TestClient *iClient;
-	};
-
-typedef CTestBase *(*CTestBaseCreate)();
-
-GLREF_C CTestBase *CreateScreenModeTest();
-GLREF_C CTestBase *CreateScaleTest();
-GLREF_C CTestBase *CreateTextTest();
-GLREF_C CTestBase *CreateDummyTest();
-GLREF_C CTestBase *CreateMultiConTest();
-GLREF_C CTestBase *CreateMultiCaptureKeyTest();
-GLREF_C CTestBase *CreateHotKeyTest();
-GLREF_C CTestBase *CreatePointerTest();
-GLREF_C CTestBase *CreatePointerCaptureTest();
-GLREF_C CTestBase *CreatePointerBufferTest();
-GLREF_C CTestBase *CreateModifiersChangedTest();
-GLREF_C CTestBase *CreatePointerKeyTest();
-GLREF_C CTestBase *CreatePasswordTest();
-GLREF_C CTestBase *CreatePointerCursorTest();
-GLREF_C CTestBase *CreateScreenModeTimes();
-
-// Tests that have not been converted to tauto yet
-CTestBaseCreate CreateTestClass[]={
-	CreateScreenModeTimes,
-	CreatePointerCursorTest,
-	CreatePointerTest,			//Mostly converted
-	CreatePointerKeyTest,		//Mostly converted
-	CreateModifiersChangedTest,		//Partially Conerted
-	CreatePointerBufferTest,
-	CreateTextTest,
-	CreateScaleTest,
-	CreateDummyTest,
-	};
-
-LogWindow *LogWin;
-
-void TManPanic(TInt aPanic)
-	{
-	User::Panic(_L("Auto"),aPanic);
-	}
-
-//
-// Log window, logs testing //
-//
-
-LogWindow::LogWindow() : CTWin()
-	{
-	}
-
-void LogWindow::ConstructL(CTWinBase &parent)
-	{
-	CTWin::ConstructL(parent);
-	iTitleHeight=iFont->HeightInPixels()+4;
-	}
-
-void LogWindow::Draw()
-	{
-	iGc->SetPenColor(TRgb::Gray16(8));
-	iGc->SetPenColor(TRgb::Gray16(0));
-	DrawBorder();
-	iGc->DrawLine(TPoint(0,iTitleHeight),TPoint(iSize.iWidth,iTitleHeight));
-	iGc->DrawText(iTestTitle, TPoint((iSize.iWidth-iFont->TextWidthInPixels(iTestTitle))/2,iFont->AscentInPixels()+2));
-	}
-
-void LogWindow::LogTest(TDesC &aTitle,TInt aNum)
-	{
-	iTestTitle.Format(TRefByValue<const TDesC>(_L("Test %d,%S")),aNum,&aTitle);
-	iWin.Invalidate();
-	Client()->iWs.Flush();
-	}
-
-//
-// Test window, simple window used to do test graphics in //
-//
-TestWindow::TestWindow() : CTWin()
-	{
-	}
-
-void TestWindow::SetUpL(TPoint pos,TSize size,CTWinBase *parent, CWindowGc &aGc)
-	{
-	iBorderWin=new(ELeave) BorderWindow();
-	iBorderWin->SetUpL(pos,size,parent,aGc);
-	CTWin::ConstructExtLD(*iBorderWin,TPoint(2,2),TSize(size.iWidth-4,size.iHeight-4));
-	Activate();
-	AssignGC(aGc);
-	}
-
-void TestWindow::Draw()
-	{
-	iGc->Clear();
-	}
-
-//
-BorderWindow::BorderWindow() : CTWin()
-	{
-	}
-
-void BorderWindow::ConstructL(CTWinBase &parent)
-	{
-	CTWin::ConstructL(parent);
-	}
-
-void BorderWindow::Draw()
-	{
-	iGc->SetBrushColor(TRgb::Gray16(0));
-	iGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
-	iGc->SetPenStyle(CGraphicsContext::ENullPen);
-	iGc->DrawRect(TRect(Size()));
-	}
-
-//
-
-TestWindowGroup::TestWindowGroup(CTClient *aClient) : CTWindowGroup(aClient)
-	{
-	}
-
-void TestWindowGroup::ConstructL()
-	{
-	CTWindowGroup::ConstructL();
-	GroupWin()->EnableScreenChangeEvents();
-	}
-
-void TestWindowGroup::KeyDownL(const TKeyEvent &aKey,const TTime &aTime)
-	{
-	if (iCurWin)
-		iCurWin->KeyDownL(aKey,aTime);
-	}
-
-void TestWindowGroup::KeyUpL(const TKeyEvent &aKey,const TTime &aTime)
-	{
-	if (iCurWin)
-		iCurWin->KeyUpL(aKey,aTime);
-	}
-
-void TestWindowGroup::KeyL(const TKeyEvent &aKey,const TTime &aTime)
-	{
-	if (aKey.iModifiers&EModifierFunc)
-		{
-		switch(aKey.iCode)
-			{
-			case 'f':
-				((TestClient *)Client())->Driver()->iTest->TriggerFail();
-				break;
-			}
-		}
-	else if (iCurWin)
-		iCurWin->WinKeyL(aKey,aTime);
-	}
-
-//
-
-TestClient::TestClient()
-	{
-	}
-
-void TestClient::ConstructL()
-	{
-	CTClient::ConstructL();
-
-	iGroup=new(ELeave) TestWindowGroup(this);
-	iGroup->ConstructL();
-
-	TSize screenSize=iGroup->Size();
-	TInt winWidth=(screenSize.iWidth/3)-10;
-	TInt winHeight=screenSize.iHeight-10;
-	LogWin=new(ELeave) LogWindow();
-	LogWin->SetUpL(TPoint(5+winWidth*2,5),TSize(winWidth,winHeight),iGroup,*iGc);
-	iDriver=new(ELeave) TestDriver(this);
-	}
-
-TestClient::~TestClient()
-	{
-	delete iDriver;
-	}
-
-TestDriver *TestClient::Driver()
-	{
-	return(iDriver);
-	}
-
-//
-// Error dialog //
-//
-
-ErrorDialog::ErrorDialog(CTestBase *aTest) : CTDialog(), iTest(aTest)
-	{}
-
-void ErrorDialog::ButtonPressL(TInt aButton)
-	{
-	switch(aButton)
-		{
-		case 0:
-			{
-			CTestBase *test=iTest;
-			CTDialog::Delete(this);
-			if (test)
-				test->Driver()->DestroyTest();
-			CActiveScheduler::Stop();
-			User::Leave(0);		// Signals RunL not to do another request
-			}
-			break;
-		case 1:
-			CTestBase *test=iTest;
-			CTDialog::Delete(this);
-			if (test)
-				{
-				test->Driver()->TestComplete();
-				test->Driver()->DestroyTest();
-				}
-			break;
-		}
-	}
-
-//
-// TestDriver, drives the test code //
-//
-
-TestDriver::TestDriver(TestClient *aClient) : CActive(-10), iClient(aClient)
-	{
-	CActiveScheduler::Add(this);
-	Request();
-	}
-
-TestClient *TestDriver::Client()
-	{
-	return(iClient);
-	}
-
-TestDriver::~TestDriver()
-	{
-	Cancel();
-	DestroyTest();
-	}
-
-void TestDriver::DoCancel()
-	{
-	TRequestStatus *pStat= &iStatus;
-	RThread().RequestComplete(pStat,KErrCancel);
-	}
-
-void TestDriver::Request()
-	{
-	TRequestStatus *pStat= &iStatus;
-	RThread().RequestComplete(pStat,KErrNone);
-	SetActive();
-	}
-
-void TestDriver::RunL()
-	{
-	iTest=(*CreateTestClass[iTestNum])();
-	iTest->StartTest(iTestNum,this);
-	iTest->ConstructL();
-	}
-
-void TestDriver::TestComplete()
-	{
-	iTestNum++;
-	if (iTestNum==sizeof(CreateTestClass)/sizeof(CreateTestClass[0]))
-		{
-		DisplayDialog(_L("Tests complete"),_L(""),_L(""));
-		CActiveScheduler::Stop();
-		}
-	else
-		Request();
-	}
-
-void TestDriver::DestroyTest()
-	{
-	delete iTest;
-	iTest=NULL;
-	}
-
-// CTestBase //
-
-CTestBase::CTestBase(const TDesC &aTitle) : CActive(-10)
-	{
-	CActiveScheduler::Add(this);
-	iTitle.Copy(aTitle);
-	}
-
-CTestBase::~CTestBase()
-	{
-	User::Free(iBuf1);
-	User::Free(iBuf2);
-	Cancel();
-	}
-
-void CTestBase::DoCancel()
-	{
-	TRequestStatus *pStat= &iStatus;
-	RThread().RequestComplete(pStat,KErrCancel);
-	}
-
-void CTestBase::Request()
-	{
-	TRequestStatus *pStat= &iStatus;
-	RThread().RequestComplete(pStat,KErrNone);
-	SetActive();
-	}
-
-void CTestBase::TriggerFail()
-	{
-	iFail=ETrue;
-	}
-
-TestClient *CTestBase::Client()
-	{
-	return(iDriver->Client());
-	}
-
-void CTestBase::LogLeave(TInt aErr)
-	{
-#if defined(LOG_TESTS)
-	TLogMessageText buf;
-	_LIT(KLeave,"MAN Left with error code %d in sub-test %d: ");
-	buf.AppendFormat(KLeave,aErr,iSubTestNum);
-	buf.Append(iSubTitle);
-	Client()->LogMessage(buf);
-#else
-	aErr=KErrNone;		//To stop a warning
-#endif
-	}
-
-void CTestBase::RunL()
-	{
-	TInt ret=EInvalid;
-	TRAPD(err,ret=DoTestL());
-	if (err!=KErrNone)
-		{
-		LogLeave(err);
-		if (err!=ETestFailed)
-			{
-			User::Leave(err);
-			}
-		}
-	else if (ret==EFinished)
-		{
-		iDriver->TestComplete();
-		iDriver->DestroyTest();
-		}
-	else if (ret==ENext)
-		Request();
-	}
-
-void CTestBase::StartTest(TInt aNum, TestDriver *aDriver)
-	{
-	iDriver=aDriver;
-	iTestNum=aNum;
-	LogWin->LogTest(iTitle,aNum);
-#if defined(LOG_TESTS)
-	TLogMessageText buf;
-	_LIT(ManNewTest,"MAN New Test %d: ");
-	buf.AppendFormat(ManNewTest,aNum);
-	buf.Append(iTitle);
-	Client()->LogMessage(buf);
-#endif
-	Request();
-	}
-
-void CTestBase::LogSubTest(const TDesC &aSubTitle,TInt aNum)
-	{
-	iSubTestNum=aNum;
-	iSubTitle=aSubTitle;
-#if defined(LOG_TESTS)
-	TLogMessageText buf;
-	_LIT(ManSubTest,"MAN SubTest %d: ");
-	buf.AppendFormat(ManSubTest,iSubTestNum);
-	buf.Append(iSubTitle);
-	Client()->LogMessage(buf);
-#endif
-	}
-
-void CTestBase::AbortL()
-	{
-	TestDriver *driver=iDriver;			
-	iDriver->DestroyTest();
-	driver->TestComplete();
-	User::Leave(ETestFailed);
-	}
-
-void CTestBase::TestL(TInt aCondition)
-	{
-	if (!aCondition || iFail)
-		{
-		iFail=EFalse;
-  		ErrorDialog *dialog=new ErrorDialog(this);
-		if (dialog)
-			{
-			dialog->SetTitle(_L("Test failed"));
-			dialog->SetNumButtons(2);
-			dialog->SetButtonText(0,_L("Abort all tests"));
-			dialog->SetButtonText(1,_L("Continue other tests"));
-			dialog->ConstructLD(*Client()->iGroup,*Client()->iGc);
-			dialog->Display();
-			}
-		User::Leave(ETestFailed);
-		}
-	}
-
-void CTManScheduler::SetClient(TestClient *aClient)
-	{
-	iClient=aClient;
-	}
-
-void CTManScheduler::Error(TInt aError) const
-	{
-	TRAP_IGNORE(doErrorL(aError));
-	CActiveScheduler::Stop();
-	}
-
-void CTManScheduler::doErrorL(TInt aError) const
-	{
-	CTDialog *dialog=new(ELeave) CTDialog();
-	if (dialog)
-		{
-		TWindowTitle title;
-		title.Format(TRefByValue<const TDesC>(_L("Error %d")),aError);
-		dialog->SetTitle(title);
-		dialog->SetNumButtons(1);
-		dialog->SetButtonText(0,_L("Abort tests"));
-		dialog->ConstructLD(*iClient->iGroup,*iClient->iGc);
-		dialog->Display();
-		}
-	}
-
-//
-
-GLDEF_C CTClient *CreateClientL()
-	{
-	return(new(ELeave) TestClient());
-	}
-
-
-GLDEF_C TInt E32Main()
-{
-return(TestLibStartUp(CreateClientL));
-}