Rework addition of Symbian splash screen to reduce the source impact (uses SVG from Bug 2414)
Notes: by using the OPTION SOURCEDIR parameter in the mifconv extension instructions, I can
arrange to use the same source file name in sfimage, without having to export over the original
Nokia file. This means that the name inside splashscreen.mbg is the same, which removes the need
for the conditional compilation in SplashScreen.cpp, and gets rid of sf_splashscreen.mmp.
// Copyright (c) 2005-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:
// The following test case is used to test the ecom style converter plugin and test the list and converter APIs
//
//
/**
@file
@internalComponent - Internal Symbian test code
*/
#include <e32std.h>
#include <e32cons.h>
#include <s32file.h>
#include <e32test.h>
#include <ecom/ecom.h>
#include <concnf.h>
#include <conlist.h>
#include "TLoadEcomCnvStep.h"
#include "TTestEcomConverter.hrh"
/**
Auxiliary Fn for TestCaseID TLoadEcomCnvStep-ExecuteL
Construct CCnaConverterList object and call ConvFromListL & ConvToListL
*/
void CTLoadEComCnvStep::TestListsL()
{
TDataType dataType;
CCnaConverterList* list=CCnaConverterList::NewLC();
list->UpdateL();
CArrayFixFlat<SConverterInfo>* info;
info= new(ELeave) CArrayFixFlat<SConverterInfo>(5);
CleanupStack::PushL(info);
list->ConvFromListL(mimeEngEpoc32CPlaintext,info);
TInt count =info->Count();
INFO_PRINTF1(_L("Test from list\n"));
for (TInt i=0;i<count;i++)
{
INFO_PRINTF1((*info)[i].iTranslation);
INFO_PRINTF2(_L(" uid= %d \n"),(*info)[i].iUid);
if(list->MimeTypeFrom(dataType,(*info)[i])==KErrNone)
{
TPtrC mimeType(dataType.Des());
INFO_PRINTF2(_L(" mimeType= %S \n\n"),&mimeType);
}
else
{
INFO_PRINTF2(_L("***** ERROR: MimeTypeFrom returned KErrNotFound\n\n"),i);
}
}
info->Reset();
list->ConvToListL(mimeFrenchxyzzyFrot,info);
count =info->Count();
INFO_PRINTF1(_L("Test to list\n"));
for (TInt j=0;j<count;j++)
{
INFO_PRINTF1((*info)[j].iTranslation);
INFO_PRINTF2(_L(" uid= %d \n"),(*info)[j].iUid);
if(list->MimeTypeTo(dataType,(*info)[j])==KErrNone)
{
TPtrC mimeType(dataType.Des());
INFO_PRINTF2(_L(" mimeType= %S \n\n"),&mimeType);
}
else
{
INFO_PRINTF2(_L("***** ERROR: MimeTypeTo returned KErrNotFound\n\n"),j);
}
}
CleanupStack::PopAndDestroy(2);
}
/**
@SYMTestCaseID TLoadEcomCnvStep-ExecuteL
@SYMPREQ REQ2689
@SYMTestCaseDesc Construct CCnaConverterList object and get the converter by uid as well as mime style
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions
To construct CCnaConverterList object and get the instance of the converter passing the relevant UID\n
Using the list object its following APIs are tested
API Calls:\n
CCnaConverterList::NewLC();
CCnaConverterList::NewConverterL(TUid aUid);
CCnaConverterList::Count();
CCnaConverterList::ConvFromL(const TDataType& aMimeType);
CCnaConverterList::ConvToL(const TDataType& aMimeType);
CCnaConverterList::ConverterL(const TDataType& aFrom,const TDataType& aTo);
CTestEcomConverter::ConvertL(const TFileName& aSourceFile, const TFileName& aTargetFile,
MConverterUiObserver* aObserver=NULL);
@SYMTestExpectedResults Test should complete without any panic.
*/
void CTLoadEComCnvStep::ExecuteL()
{
TUid uid;
uid.iUid=KTestEcomConvImplementationUid;
CCnaConverterList* list=CCnaConverterList::NewLC();
list->UpdateL();
INFO_PRINTF2(_L("Number of converters found %d\n"),list->Count());
CConverterBase* conv=list->NewConverterL(uid);
CleanupStack::PushL(conv);
conv->ConvertL(_L("file1"), _L("File2"));
INFO_PRINTF1(_L("Converter by uid\n"));
CleanupStack::PopAndDestroy(); // conv
TUid fromUid=list->ConvFromL(mimeEngEpoc32CPlaintext);
INFO_PRINTF2(_L(" ConvFromUid= %d \n"),fromUid);
TUid toUid=list->ConvToL(mimeFrenchxyzzyFrot);
INFO_PRINTF2(_L(" ConvToUid= %d \n"),toUid);
TUid converterUid=list->ConverterL(mimeEngEpoc32CPlaintext,mimeFrenchxyzzyFrot);
INFO_PRINTF2(_L(" ConvterterUid= %d \n"),converterUid);
conv=list->NewConverterL(fromUid);
CleanupStack::PushL(conv);
conv->ConvertL(_L("file1"), _L("file2"));
INFO_PRINTF1(_L("Converter by mime type\n"));
CleanupStack::Pop(); // conv
delete conv;
CleanupStack::PopAndDestroy(); // list
INFO_PRINTF1(_L("Destroyed converter list\n"));
TestListsL();
}
CTLoadEComCnvStep::CTLoadEComCnvStep()
/**
Constructor
*/
{
// Call base class method to set up the human readable name for logging
SetTestStepName(KTLoadEComCnvStep);
}
CTLoadEComCnvStep::~CTLoadEComCnvStep()
{
}
TVerdict CTLoadEComCnvStep::doTestStepL()
{
INFO_PRINTF1(_L("Test Started"));
__UHEAP_MARK; // mark heap state
mimeEngEpoc32CPlaintext = TDataType(_L8("foo/bar"));
mimeFrenchxyzzyFrot = TDataType(_L8("xyzzy/frot"));
TRAPD(error,ExecuteL()); // do most stuff under cleanup stack
TEST(error == KErrNone);
REComSession::FinalClose();
__UHEAP_MARKEND; // check no memory leak
INFO_PRINTF1(_L("Test Finished"));
return TestStepResult();
}