fontservices/fontstore/tfs/T_LinkedFontUpdateTests.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 02:02:46 +0200
changeset 0 1fb32624e06b
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* 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: 
* T_LinkedFontUpdateTests.cpp
*
*/

#ifndef T_LINKEDFONTUPDATETESTS_H_
#define T_LINKEDFONTUPDATETESTS_H_

#include "TGraphicsHarness.h"
//Global variables for Linked Font Names
_LIT(KAddElementFontName, "UpdateAddFont");
_LIT(KRemoveElementFontName, "UpdateRemoveFont");
_LIT(KUpdateFontName, "UpdateFont");

//Element Names
_LIT(KElement1Name, "DejaVu Sans Mono");
_LIT(KElement2Name, "DejaVu Sans Condensed");
_LIT(KElement3Name, "DejaVu Serif Condensed");

//Class for first linked fonts test step
class CTLinkedFontsUpdateStage1Step : public CTGraphicsStep
	{
public:
	CTLinkedFontsUpdateStage1Step();
protected:
	// From CTGraphicsStep
	virtual CTGraphicsBase* CreateTestL();
	};

_LIT(KTLinkedFontsUpdateStage1Step, "TLinkedFontsUpdateStage1");

class CTLinkedFontsUpdateStage1 : public CTGraphicsBase
	{
public:
	CTLinkedFontsUpdateStage1(CTestStep* aStep);
	~CTLinkedFontsUpdateStage1();
	static void TestPanic(TInt aPanic);
protected:
// From CTGraphicsStep
	virtual void RunTestCaseL(TInt aCurTestCase);
protected:
	void SetupTestsL();
	void CloseTestsL();
	void RegisterThenUpdateTestL();
	void NegativeUpdateTestsL();
	
private:
	CLinkedTypefaceSpecification* CreateAddTypefaceLC(TBool aUpdate);
	CLinkedTypefaceSpecification* CreateRemoveTypefaceLC(TBool aUpdate);
	CLinkedTypefaceSpecification* CreateUpdateTypefaceLC(TBool aUpdate);
	CLinkedTypefaceSpecification* CreateNegativeTestTypefaceLC(const TDesC& aName);
	void AddGroups(CLinkedTypefaceSpecification* aSpec);
	
private:
	RFbsSession* iFbs;
	CFbsTypefaceStore* iTfStore;
	TBool iFontLinkingSupported;
	};


//Class for second linked fonts test step
class CTLinkedFontsUpdateStage2Step : public CTGraphicsStep
	{
public:
	CTLinkedFontsUpdateStage2Step();
protected:
	// From CTGraphicsStep
	virtual CTGraphicsBase* CreateTestL();
	};

_LIT(KTLinkedFontsUpdateStage2Step, "TLinkedFontsUpdateStage2");

class CTLinkedFontsUpdateStage2 : public CTGraphicsBase
	{
public:
	CTLinkedFontsUpdateStage2(CTestStep* aStep);
	~CTLinkedFontsUpdateStage2();
	static void TestPanic(TInt aPanic);
protected:
// From CTGraphicsStep
	virtual void RunTestCaseL(TInt aCurTestCase);
protected:
	void SetupTestsL();
	void CloseTestsL();
	void ValidateLinkedFontsL();
private:
	RFbsSession* iFbs;
	CFbsTypefaceStore* iTfStore;
	};

#endif /*T_LINKEDFONTUPDATETESTS_H_*/