localisation/localesupport/TestNrl/TestNrl.cpp
changeset 31 56f325a607ea
parent 15 4122176ea935
child 32 c9417927a896
child 33 0173bcd7697c
--- a/localisation/localesupport/TestNrl/TestNrl.cpp	Mon Dec 21 16:14:42 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,864 +0,0 @@
-/*
-* Copyright (c) 2001-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: 
-* TCUSTOMWRAP.CPP 
-*
-*/
-
-
-#include <e32base.h>
-#include <msvapi.h>
-#include <msvids.h>
-#include <mtclreg.h>
-#include <eikstart.h>
-
-#include <basched.h>
-#include <banamedplugins.h>
-#include <bautils.h>
-#include <coecntrl.h>
-#include <coeccntx.h>
-#include <coemain.h>
-#include <charconv.h>
-#include <convnames.h>
-#include <e32keys.h>
-#include <techview\eikon.hrh>
-#include <eikappui.h>
-#include <eikapp.h>
-#include <eikdoc.h>
-#include <eikenv.h>
-#include <techview\eikrted.h>
-#include <techview\eikedwin.h>
-#include <eikdef.h>
-#include <techview\eikdialg.h>
-#include <techview\eikdlgtb.h>
-#include <techview\eikrted.h>
-#include <techview\eiksbfrm.h>
-#include <techview\eikconso.h>
-#include <txtrich.h>
-#include <hal.h>
-#include <fbs.h>
-#include "TestNrl.hrh"
-#include <testnrl.rsg>
-#include <techview\eikon.rsg>
-#include <prnsetup.h>
-
-#include <biodb.h>	
-#include <biouids.h>
-#include <gdi.h>
-
-// forward declarations
-class CNRLTestAppUi;
-//class CEikScrollBarFrame;
-
-const TInt EGranularity=4;
-
-_LIT(KNewLine,"\n");
-_LIT(KLitResourceFileNameAppendage, "_NAME.RSC");
-#ifdef _DEBUG
-_LIT(KPanicText, "NonRom_Test");
-#endif
-
-class TDummyObserver: public MMsvSessionObserver
-	{
-public:
-		virtual void HandleSessionEventL(TMsvSessionEvent, TAny*, TAny*, TAny*) {};
-	};
-
-
-//
-// class CNRLTestControl
-//
-
-class CNRLTestControl : public CCoeControl
-    {
-public:
-
-    void ConstructL(const TRect& aRect);
-	void ActivateL();
-	~CNRLTestControl();
-	TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-	void PrintToScreen (TRefByValue<const TDesC> aFmt,...);
-	void PrintLineToScreen (TRefByValue<const TDesC> aFmt,...);
-
-private: // from CCoeControl
-	void Draw(const TRect&) const;
-	
-private:
-	CEikConsoleScreen* iConsole;
-    };
-
-
-CNRLTestControl::~CNRLTestControl ()
-	{
-	delete iConsole;
-	}
-
-
-void CNRLTestControl::ConstructL (const TRect& aRect)
-	{
-	CreateWindowL();
-	Window().SetShadowDisabled(ETrue);
-    Window().SetBackgroundColor(KRgbGray);
-    EnableDragEvents();
-	SetRect(aRect);
-	SetBlank();
-	TRect consoleSize = aRect;
-	consoleSize.Shrink(1,1);
-	iConsole=new(ELeave) CEikConsoleScreen;
-	iConsole->ConstructL(_L("TEST"),TPoint(1,1),consoleSize.Size(),CEikConsoleScreen::ENoInitialCursor,EEikConsWinInPixels);
-	}
-
-void CNRLTestControl::ActivateL ()
-	{
-	CCoeControl::ActivateL();
-	iConsole->SetKeepCursorInSight(ETrue);
-	iConsole->SetHistorySizeL(500,5);
-	iConsole->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff,CEikScrollBarFrame::EOn);
-	iConsole->Write(_L("\nStarting tests for Non-Rom Localisation\nThis test requires some user interaction\n"));
-	iConsole->FlushChars();
-	iConsole->DrawCursor();
-	iConsole->SetAtt(ATT_NORMAL);
-	}
-
-void CNRLTestControl::Draw(const TRect& /* aRect*/) const
-	{
-	CWindowGc& gc = SystemGc();
-	TRect rect=Rect();
-	//rect.Shrink(10,10);
-	gc.DrawRect(rect);
-	rect.Shrink(1,1);
-	}
-
-
-TKeyResponse CNRLTestControl::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
-    {
-	if (aType!=EEventKey)
-		return(EKeyWasConsumed);
-    TInt modifiers=aKeyEvent.iModifiers;
-    TInt code=aKeyEvent.iCode;
-
-
-
-	TRect range = iConsole->Selection(); // get current selected range
-	switch (code)
-		{
-		case EKeyUpArrow:
-			iConsole->Up();
-			if (modifiers & EModifierShift)
-				{
-				range.iTl = iConsole->CursorPos();
-				iConsole->SetSelection(range); 
-				}
-			else
-				iConsole->SelectCursor(); 
-			break;
-		case EKeyDownArrow:
-			iConsole->Down();
-			if (modifiers & EModifierShift)
-				{
-				range.iTl = iConsole->CursorPos();
-				iConsole->SetSelection(range); 
-				}
-			else
-				iConsole->SelectCursor(); 
-			break;
-		case EKeyLeftArrow:
-			iConsole->Left();
-			if (modifiers & EModifierShift)
-				{
-				range.iTl = iConsole->CursorPos();
-				iConsole->SetSelection(range); 
-				}
-			else
-				iConsole->SelectCursor(); 
-			break;
-		case EKeyRightArrow:
-			iConsole->Right();
-			if (modifiers & EModifierShift)
-				{
-				range.iTl = iConsole->CursorPos();
-				iConsole->SetSelection(range); 
-				}
-			else
-				iConsole->SelectCursor(); 
-			break;
-		case EKeyEnter: 
-				iConsole->Cr();
-				iConsole->Lf();
-			break;
-		default:
-			{
-			iConsole->SelectCursor();	// forget previous selection
-			TBuf<1> chr;
-			chr.Format(_L("%c"),code);
-			iConsole->Write(chr);
-			iConsole->FlushChars();
-			}
-			break;
-		}
-    return(EKeyWasConsumed);
-    }
-
-
-void CNRLTestControl::PrintToScreen(TRefByValue<const TDesC> aFmt,...)
-	{
-	VA_LIST list;
-	VA_START(list,aFmt);
-	TBuf<128> buf;
-	buf.FormatList(aFmt,list);
-	iConsole->Write(buf);
-	}
-
-void CNRLTestControl::PrintLineToScreen(TRefByValue<const TDesC> aFmt,...)
-	{
-	VA_LIST list;
-	VA_START(list,aFmt);
-	TBuf<128> buf;
-	buf.FormatList(aFmt,list);
-	iConsole->Write(buf);
-	iConsole->Write(KNewLine);
-
-	}
-
-
-
-// 
-//  ---------------------- CNRLTestAppView definition ---------------- 
-//
-
-
-class CNRLTestAppUi : public CEikAppUi ,private CBaNamedPlugins::MFallBackName
-	{
-public:
-	void ConstructL();
-	void CreateControlL();
-	~CNRLTestAppUi();
-	
-	void StartTestsL();
-	void TestLocaleL(const TDesC& aTestHeader);
-	void TestCollation(const TDesC& aTestHeader);
-	void TestResourcesL(const TDesC& aTestHeader);
-	void TestCharSetNamesL(const TDesC& aTestHeader);
-	void TestFEPNamesL(const TDesC& aTestHeader);
-	void TestDisplayMessagingL(const TDesC& aTestHeader);
-	void TestBIFL(const TDesC& aTestHeader);
-	void TestPrinterNameL(const TDesC& aTestHeader);
-	void TestLocalisableBitmapL(const TDesC& aTestHeader);
-
-
-private: // from CEikAppUi -- framework
-	void HandleCommandL(TInt aCommand);
-
-	virtual HBufC* FallBackNameL(const TDesC& aFullResourceFileName) const;
-	
-	void WriteTestHeader(const TDesC& aTestHeader) const;
-	void Pass(const TDesC& aTestHeader);
-	void FailL(const TDesC& aTestHeader);
-	void ReportEndResult() const;
-private: 
-	CNRLTestControl* iNRLTestControl;
-	CDesCArray* iFailedTests;
-	};
-
-void CNRLTestAppUi::ConstructL()
-	{
-	BaseConstructL();
-	CreateControlL();
-
-	}
-
-// The cleanup operation of the TCleanupItem
-
-LOCAL_C void DestroyResourceFileArray(TAny* aArrayOfResourceFiles)
-	{
-	RArray<CBaNamedPlugins::TResourceFile>& arrayOfResourceFiles=*STATIC_CAST(RArray<CBaNamedPlugins::TResourceFile>*, aArrayOfResourceFiles);
-	for (TInt i=arrayOfResourceFiles.Count()-1; i>=0; --i)
-		{
-		const CBaNamedPlugins::TResourceFile& resourceFile=arrayOfResourceFiles[i];
-		delete resourceFile.iFullFileName;
-		delete resourceFile.iIdentifier;
-		}
-	arrayOfResourceFiles.Close();
-	}
-
-
-
-void CNRLTestAppUi::CreateControlL()
-	{
-	iNRLTestControl=new(ELeave) CNRLTestControl;
-    iNRLTestControl->ConstructL(ClientRect());
-	AddToStackL(iNRLTestControl);
-	iNRLTestControl->ActivateL();
-	iFailedTests=new(ELeave) CDesCArrayFlat(3);
-	}
-
-CNRLTestAppUi::~CNRLTestAppUi()
-	{
-	RemoveFromStack(iNRLTestControl);
-	delete iNRLTestControl;
-	for (TInt i=0; i<iFailedTests->Count();i++)
-		iFailedTests->Delete(i);
-	delete iFailedTests;
-	}
-
-void CNRLTestAppUi::HandleCommandL(TInt aCommand)
-	{
-	switch(aCommand)
-		{
-		case EAppCmdExit:
-			Exit();
-			break;
-		case EAppCmdTest:
-			StartTestsL ();
-			break;
-		default:
-			break;
-		}
-	} 
-
-
-_LIT(KTestAnnouncer,"----------------");
-_LIT(KLocaleTestTitle,"Locale ");
-_LIT(KResourceTestTitle,"Application Resource ");
-_LIT(KCharSetNamesTest,"Charset Names ");
-_LIT(KFEPNameTestTitle,"FEP Names ");
-_LIT(KCollationTestTitle, "Collation Table ");
-_LIT(KTDisplayMessaging,"Messaging Resources ");
-_LIT(KBIFTestTitle,"BIF Files ");
-_LIT(KPrinterNameTestTitle,"Printer Names ");
-_LIT(KLocalisableBimap,"Bitmap Files ");
-_LIT(KOriginalBitmapPath,"z:\\resource\\apps\\testnrl.mbm");
-_LIT(KNonROM,"Non-ROM");
-
-void CNRLTestAppUi::WriteTestHeader(const TDesC& aTestHeader) const 
-	{
-	iNRLTestControl->PrintToScreen(KNewLine);
-	iNRLTestControl->PrintToScreen(aTestHeader);
-	iNRLTestControl->PrintLineToScreen (_L("Test"));
-	iNRLTestControl->PrintToScreen(KNewLine);
-
-	}
-
-
-void CNRLTestAppUi::StartTestsL ()
-	{
-	TestLocaleL(KLocaleTestTitle);
-	TestResourcesL (KResourceTestTitle);
-	TestCharSetNamesL(KCharSetNamesTest);
-	TestCollation(KCollationTestTitle);
-	TestFEPNamesL(KFEPNameTestTitle);
-	TestDisplayMessagingL(KTDisplayMessaging);
-	TestBIFL(KBIFTestTitle);
-	TestPrinterNameL (KPrinterNameTestTitle);
-	TestLocalisableBitmapL (KLocalisableBimap);
-	ReportEndResult();
-	
-	}
-
-
-void CNRLTestAppUi::TestLocaleL (const TDesC& aTestHeader)
-	{
-
-	// print on console that we are starting the Locale Testing
-	// just checking it is not enough, need to display as well that 
-	// the result is as expected. 
-	//Test a few other things besides the 
-	// locale number, some thing like a currency symbol. == $$$ 
-	
-	WriteTestHeader(aTestHeader);
-	iNRLTestControl->PrintLineToScreen(_L("Have to ensure that the correct locale is picked up"));
-	iNRLTestControl->PrintLineToScreen(_L("Expected Locale with language extension"));
-
-	TInt language; 
-	(void)HAL::Get(HAL::ELanguageIndex,language);
-	iNRLTestControl->PrintLineToScreen(_L("%d"),language);
-	iNRLTestControl->PrintToScreen(_L("Current Locales language extension:	"));
-
-	TInt currentLangId;
-	currentLangId = TInt(User::Language());
-	iNRLTestControl->PrintLineToScreen(_L("%d"),currentLangId);
-
-	if (currentLangId == 95 )
-		{
-		TCurrencySymbol theCurrencySymbol;
-		_LIT(KExpectedCurrencySymbol,"$$$");
-		if(theCurrencySymbol==KExpectedCurrencySymbol)
-			{
-			iNRLTestControl->PrintLineToScreen(_L("The correct locale was loaded"));
-			Pass(aTestHeader);
-			}
-		}
-	else
-		{
-		iNRLTestControl->PrintToScreen(_L("The correct locale was not loaded"));
-		FailL(aTestHeader);
-		}
-	}
-
-void CNRLTestAppUi::TestResourcesL(const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-	iNRLTestControl->PrintLineToScreen (_L("Reading information from resource file..."));
-
-	TResourceReader resourceReader;
-	CCoeEnv::Static()->CreateResourceReaderLC(resourceReader,R_NRL_COLLATE);
-	CDesCArray* collation=new(ELeave) CDesCArrayFlat(3);
-	CleanupStack::PushL(collation);
-	TInt n=resourceReader.ReadUint16();
-	
-	for (TInt i=0;i<n;i++)
-		collation->AppendL(resourceReader.ReadTPtrC());
-
-	for (TInt j=0;j<n;j++)
-		{
-		iNRLTestControl->PrintLineToScreen((*collation)[j]);
-		}
-	
-	_LIT(KResourceData,"David");
-	TInt resourceTest; 
-	collation->Find(KResourceData,resourceTest,ECmpCollated);
-	if(resourceTest!=collation->MdcaCount())
-		{
-		Pass(aTestHeader);
-		}
-	else
-		{
-		FailL(aTestHeader);
-		}
-	CleanupStack::PopAndDestroy(2);//resourceReader,collation
-	}
-
-void CNRLTestAppUi::TestCharSetNamesL(const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-	RFs& aSession = iCoeEnv->FsSession();
-	CArrayFix<CCnvCharacterSetConverter::SCharacterSet>* charsetArray=CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableLC(aSession);
-	MDesCArray* nameArry=CCnvCharacterSetNames::NewL(aSession,charsetArray->Array());
-	TInt index=((CCnvCharacterSetNames*)nameArry)->IndexOfIdentifier(KCharacterSetIdentifierAscii);
-	TInt testResult;
-	testResult=0;
-	TPtrC bigFive=nameArry->MdcaPoint(index);
-	TInt findNonROM;
-	findNonROM=bigFive.Find(KNonROM);
-	if(findNonROM!=KErrNotFound)
-		{
-		iNRLTestControl->PrintToScreen(KNewLine);
-		iNRLTestControl->PrintLineToScreen(bigFive);
-		testResult=1;
-		}
-	if(testResult)
-		Pass(aTestHeader);
-	else
-		FailL(aTestHeader);
-	delete nameArry;
-	CleanupStack::PopAndDestroy();//charsetArray
-	}
-
-
-
-void CNRLTestAppUi::TestCollation(const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-	iNRLTestControl->PrintToScreen(_L("This test locale has it's own collation table\n"));
-	iNRLTestControl->PrintToScreen(_L("Set Collation values in the order E-D-C-B-A\n"));
-	iNRLTestControl->PrintToScreen(_L("Loading a few names which have been sorted using collation\n"));
-	iNRLTestControl->PrintToScreen(_L("David should appear before BeiBei\n\n"));
-	TResourceReader resourceReader;
-	CCoeEnv::Static()->CreateResourceReaderLC(resourceReader,R_NRL_COLLATE);
-	CDesCArray* collation=new(ELeave) CDesCArrayFlat(3);
-	CleanupStack::PushL(collation);
-	TInt n=resourceReader.ReadUint16();
-	
-	for (TInt i=0;i<n;i++)
-		collation->AppendL(resourceReader.ReadTPtrC());
-	//David is the first name stored in the array before the array is sorted.
-	//When the array is sorted, David should still be the first name
-	// because this locales collation table reverses the ordering between A & E 
-	TPtrC david = (*collation)[0];
-	collation->Sort(ECmpCollated);
-	for (TInt j=0;j<n;j++)
-		{
-		iNRLTestControl->PrintLineToScreen((*collation)[j]);
-		}
-	
-	TInt coltest;
-	
-	// searching for Davids name in the array,
-	// according to the new collation rules David's name should be 
-	// the first itm in the array. 
-
-	collation->Find(david,coltest,ECmpCollated);
-	// if coltest=0 then Davids is the first item, 
-	// the new collation table was used. 
-	if (!coltest)
-		{
-		Pass(aTestHeader);
-		}
-	else
-		{
-		FailL(aTestHeader);
-		}
-		
-	CleanupStack::PopAndDestroy(2);//resourceReader,collation
-	}
-
-
-void CNRLTestAppUi::TestFEPNamesL(const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-	iNRLTestControl->PrintLineToScreen (_L("Fep Names are stored in resource files in the fep directory in system"));
-	iNRLTestControl->PrintLineToScreen (_L("Compiled new resources with the word Non-ROM added into a few test fep names"));
-	
-	RArray<CBaNamedPlugins::TResourceFile> arrayOfResourceFiles;
-	CleanupStack::PushL(TCleanupItem(DestroyResourceFileArray, &arrayOfResourceFiles));//arrayOfResourceFiles
-	RFs& fileServerSession=iCoeEnv->FsSession();
-	TInt numberofsession=fileServerSession.ResourceCount();
-	TInt i;
-	TParse* parser=new(ELeave) TParse;
-	CleanupStack::PushL(parser);//parser
-	TFileName* fileName=new(ELeave) TFileName;
-	CleanupStack::PushL(fileName);//fileName
-	 
-
-	RArray<TUid> uidsOfAvailableFeps;
-	CleanupClosePushL(uidsOfAvailableFeps);
-	CDesCArray*  fileNamesOfAvailableFeps = new(ELeave) CDesCArrayFlat(EGranularity);
-	CleanupDeletePushL(fileNamesOfAvailableFeps);//fileNamesOfAvailableFeps
-	iCoeEnv->AvailableFepsL(uidsOfAvailableFeps,fileNamesOfAvailableFeps);//it is allocated some memory here!!!
-	
-	
-	
-	for (i=fileNamesOfAvailableFeps->MdcaCount()-1; i>=0; --i)
-		{
-		const TPtrC fullFileNameOfDll(fileNamesOfAvailableFeps->MdcaPoint(i));
-		*fileName=TParsePtrC(fullFileNameOfDll).Name();
-		fileName->Append(KLitResourceFileNameAppendage);
-		User::LeaveIfError(parser->SetNoWild(*fileName, &fullFileNameOfDll, NULL));
-		CBaNamedPlugins::TResourceFile resourceFile;
-		resourceFile.iFullFileName=parser->FullName().AllocLC();
-		resourceFile.iIdentifier=fullFileNameOfDll.AllocLC();
-		resourceFile.iUid=uidsOfAvailableFeps[i];
-		resourceFile.iFormat=CBaNamedPlugins::TResourceFile::EFormatTbuf;
-		User::LeaveIfError(arrayOfResourceFiles.Append(resourceFile));
-		CleanupStack::Pop(2, resourceFile.iFullFileName);//iFullFileName,iIdentifier
-		}
-	CleanupStack::PopAndDestroy(4, parser);//parser,fileName,uidsOfAvailableFeps,fileNamesOfAvailableFeps
-
-	CBaNamedPlugins::CParameters* parameters=CBaNamedPlugins::CParameters::NewLC(fileServerSession, arrayOfResourceFiles.Array());
-	parameters->SetFallBackName(*this);
-	CBaNamedPlugins* namedPlugins=CBaNamedPlugins::NewL(*parameters);//numberofsession increased after this
-	numberofsession=fileServerSession.ResourceCount(); 
-	const TInt numberOfAvailableFeps=namedPlugins->MdcaCount();
-	TInt testResult; 
-	testResult=0;
-	for (i=0; i<numberOfAvailableFeps; ++i)
-		{
-		TPtrC fepNames = namedPlugins->MdcaPoint(i);
-		RDebug::Print(fepNames);
-		TInt findNonROM;
-		findNonROM=fepNames.Find(KNonROM);
-		if (findNonROM!=KErrNotFound)
-			{
-			iNRLTestControl->PrintLineToScreen(fepNames);
-			testResult =1;
-			}
-		}
-	if (testResult)
-		{
-		Pass(aTestHeader);
-		}
-	else
-		{
-		FailL(aTestHeader);
-		}
-	delete namedPlugins;
-	CleanupStack::PopAndDestroy(2, &arrayOfResourceFiles);//arrayOfResourceFiles,parameters
-	}
-
-HBufC* CNRLTestAppUi::FallBackNameL(const TDesC& aFullResourceFileName) const
-	{
-	const TPtrC nameAndExtension(TParsePtrC(aFullResourceFileName).NameAndExt());
-	__ASSERT_DEBUG(nameAndExtension.Right(KLitResourceFileNameAppendage().Length())==KLitResourceFileNameAppendage, User::Panic(KPanicText,-1));
-	return nameAndExtension.Left(nameAndExtension.Length()-KLitResourceFileNameAppendage().Length()).AllocL();
-	}
-
-void CNRLTestAppUi::TestDisplayMessagingL(const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-	iNRLTestControl->PrintLineToScreen (_L("MTM are stored in resource files in the MTM directory in System"));
-	iNRLTestControl->PrintLineToScreen (_L("Compiled new resources with the word Non-ROM added into the MTM resources"));
-
-	TDummyObserver obs;
-	CMsvSession *session=CMsvSession::OpenSyncL(obs);
-	CleanupStack::PushL(session);
-	CClientMtmRegistry *reg=CClientMtmRegistry::NewL(*session);
-	CleanupStack::PushL(reg);
-	TInt count=reg->NumRegisteredMtmDlls();
-	
-	TInt testResult; 
-	testResult=0;
-	while(count--)
-		{
-		const CMtmDllInfo& info=reg->RegisteredMtmDllInfo(reg->MtmTypeUid(count));
-		TPtrC mtmNames = info.HumanReadableName();
-		TInt findNonROM;
-		findNonROM=mtmNames.Find(KNonROM);
-		if (findNonROM!=KErrNotFound)
-			{
-			iNRLTestControl->PrintLineToScreen (mtmNames);
-			testResult =1;
-			}
-		
-		}
-
-	CleanupStack::PopAndDestroy(reg);
-
-	CMsvEntry *entry=session->GetEntryL(KMsvRootIndexEntryId);
-	CleanupStack::PushL(entry);
-
-	entry->SetEntryL(KMsvDraftEntryId);
-	iNRLTestControl->PrintLineToScreen (entry->Entry().iDetails);
-	
-
-	entry->SetEntryL(KMsvGlobalInBoxIndexEntryId);
-	iNRLTestControl->PrintLineToScreen (entry->Entry().iDetails);
-
-	entry->SetEntryL(KMsvGlobalOutBoxIndexEntryId);
-	iNRLTestControl->PrintLineToScreen (entry->Entry().iDetails);
-
-	entry->SetEntryL(KMsvSentEntryId);
-	iNRLTestControl->PrintLineToScreen (entry->Entry().iDetails);
-
-	CleanupStack::PopAndDestroy(entry);
-	CleanupStack::PopAndDestroy(session);
-	
-	if (testResult)
-		{
-		Pass(aTestHeader);
-		}
-	else
-		{
-		FailL(aTestHeader);
-		}
-	}
-
-
-
-void CNRLTestAppUi::TestBIFL (const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-	iNRLTestControl->PrintLineToScreen(_L("BIF files are now stored as resources in System\\BIf directory"));
-	iNRLTestControl->PrintLineToScreen(_L("Compiled new BIF resources with the phrase Non-ROM added ... "));
-
-	RFs& gFs=iCoeEnv->FsSession();
-	
-	iNRLTestControl->PrintLineToScreen(_L("Opening & Searching DB"));
-
-	CBIODatabase* bioDB = CBIODatabase::NewL(gFs);
-	CleanupStack::PushL( bioDB );
-	iNRLTestControl->PrintLineToScreen(_L("Opened DB Successfully!"));
-
-	TInt testResult; 
-	testResult=0;
-	for (TInt i=0; i < bioDB->BIOCount(); i++)
-		{
-			const CBioInfoFileReader& bifReader = bioDB->BifReader(i);
-
-			TPtrC desc;
-			desc.Set(bifReader.Description()); 
-			TInt findNonROM;
-			findNonROM=desc.Find((KNonROM));
-			if (findNonROM!=KErrNotFound)
-				{
-				iNRLTestControl->PrintLineToScreen(desc);
-				testResult =1;
-				}
-		}
-
-	if (testResult)
-		{
-		Pass(aTestHeader);
-		}
-	else
-		{
-		FailL(aTestHeader);
-		}
-	CleanupStack::PopAndDestroy();	// bioDB
-	
-	}
-
-void CNRLTestAppUi::TestPrinterNameL (const TDesC& aTestHeader)
-	{
-	
-	WriteTestHeader(aTestHeader);
-
-	CDesCArray* list=new(ELeave) CDesCArrayFlat(EGranularity);
-	CleanupStack::PushL(list);
-
-	CPrintSetup* aPrintSetup = CPrintSetup::NewL();
-	CleanupStack::PushL(aPrintSetup);
-	aPrintSetup->AddPrinterDriverDirL( KDefaultPrinterDriverPath );
-	RFs& filesession = iCoeEnv->FsSession();
-	CPrinterModelList* aModelList;
-	aModelList = aPrintSetup->ModelNameListL(filesession);
-	CEikonEnv::GetPrinterNamesL(aModelList,*list);
-
-	aPrintSetup->FreeModelList();
-
-	TInt foundNonRomResource=0; 
-
-	for (TInt i=0; i < list->Count(); ++i)
-		{
-		TPtrC desc;
-		desc.Set((*list)[i]);
-		TInt findNonROM; 
-		findNonROM = desc.Find((KNonROM));
-		if (findNonROM!=KErrNotFound)
-			{
-			iNRLTestControl->PrintLineToScreen (desc);
-			foundNonRomResource=1;
-			}
-		}
-	if (foundNonRomResource)
-		Pass(aTestHeader);
-	else
-		FailL(aTestHeader);
-
-
-	CleanupStack::PopAndDestroy(2); // list, aPrintSetup, aModelList
-	
-	}
-
-void CNRLTestAppUi::TestLocalisableBitmapL(const TDesC& aTestHeader)
-	{
-	WriteTestHeader(aTestHeader);
-
-	TFileName filename(KOriginalBitmapPath);
-	CWsBitmap* aBitmap;
-	aBitmap=iEikonEnv->CreateBitmapL(filename,1);
-	TBool nonROM;
-	nonROM=aBitmap->IsRomBitmap();
-	if(nonROM)
-		{
-		FailL(aTestHeader);
-		}
-	else
-		{
-		iNRLTestControl->PrintLineToScreen(_L("Right, the bitmap loaded should not be in ROM"));
-		Pass(aTestHeader);
-		}
-
-	delete aBitmap;
-	}
-
-
-void CNRLTestAppUi::Pass(const TDesC& aTestHeader)
-	{
-	iNRLTestControl->PrintToScreen(KNewLine);
-	iNRLTestControl->PrintLineToScreen(KTestAnnouncer);
-	iNRLTestControl->PrintLineToScreen(_L("Expected new %S loaded"),&aTestHeader);
-	iNRLTestControl->PrintLineToScreen(KTestAnnouncer);
-	}
-
-void CNRLTestAppUi::FailL(const TDesC& aTestHeader)
-	{
-	iNRLTestControl->PrintToScreen(KNewLine);
-	iNRLTestControl->PrintLineToScreen(KTestAnnouncer);
-	iNRLTestControl->PrintLineToScreen(_L("Unexpected old %S loaded"),&aTestHeader);
-	iNRLTestControl->PrintLineToScreen(KTestAnnouncer);
-	iFailedTests->AppendL(aTestHeader);
-
-	}
-
-void CNRLTestAppUi::ReportEndResult() const
-	{
-	TInt failedTestsCount = iFailedTests->Count();
-	if (failedTestsCount)
-		{
-		// Print a list of the Tests Failed 
-		iNRLTestControl->PrintLineToScreen(_L("The following tests failed\n"));
-		for (TInt i=0; i<failedTestsCount; ++i)
-			{
-			iNRLTestControl->PrintLineToScreen ((*iFailedTests)[i]);
-			}
-		}
-	else
-		{
-		// No Tests Failed, say that new resources were loaded where expected to
-		}
-	}
-
-
-//
-//  --------------------- CNRLTestAppDoc class Definition ------------ 
-//
-
-class CNRLTestAppDoc : public CEikDocument
-	{
-public:
-	CNRLTestAppDoc(CEikApplication& aApp);
-private:
-	CEikAppUi* CreateAppUiL();
-	};
-
-
-CNRLTestAppDoc::CNRLTestAppDoc(CEikApplication& aApp):CEikDocument(aApp)
-	{
-	// Nothing else to do, just call the base class constructor
-	//
-	}
-
-CEikAppUi* CNRLTestAppDoc::CreateAppUiL()
-	{
-	return new (ELeave) CNRLTestAppUi;
-	}
-//
-//  ------------------------------ CNRLTestApp ----------------------- 
-//
-
-
-const TUid KTestNRLid = {0x1000AC5D};
-
-class CNRLTestApp : public CEikApplication
-	{
-private:
-	CApaDocument* CreateDocumentL();
-	TUid AppDllUid() const;
-
-	};
-
-TUid CNRLTestApp::AppDllUid() const 
-	{
-	return KTestNRLid;
-	}
-
-CApaDocument* CNRLTestApp::CreateDocumentL()
-	{
-	return new (ELeave) CNRLTestAppDoc(*this);
-	}
-
-////////////////////////////////////////////////////////////////////////////////////////////
-//
-
-	static CApaApplication* NewApplication()
-		{
-		return new CNRLTestApp;
-		}
-
-	TInt E32Main()
-		{
-		return EikStart::RunApplication(&NewApplication);
-		}
-
-