--- 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);
- }
-
-