diff -r 000000000000 -r 2e3d3ce01487 filehandling/fileconverterfw/Tef/TCnfStep.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filehandling/fileconverterfw/Tef/TCnfStep.cpp Tue Feb 02 10:12:00 2010 +0200 @@ -0,0 +1,152 @@ +// 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: +// + +/** + @file + @internalComponent - Internal Symbian test code +*/ + +#include +#include +#include +#include "TCnfStep.h" + +void CTCnfStep::ChangeLocaleL(TLanguage aLanguage) + { + TBuf<50> libraryName; +#ifdef SYMBIAN_DISTINCT_LOCALE_MODEL + libraryName.Format(_L("elocl_lan.%03d"), aLanguage); + TExtendedLocale myExtendedLocale; + TInt err = myExtendedLocale.LoadLocaleAspect(libraryName); + TEST(err == KErrNone); + User::LeaveIfError(err); + err = myExtendedLocale.SaveSystemSettings(); + TEST(err == KErrNone); + User::LeaveIfError(err); + +#else + libraryName.Format(_L("ELOCL.%02d"), aLanguage); + TInt err = UserSvr::ChangeLocale(libraryName); + User::LeaveIfError(err); + TEST(err == KErrNone); +#endif + } + +void CTCnfStep::CreateConv1L() + { + _LIT(KEnglishabc,"english_abc"); + _LIT(KEnglishdef,"english_def"); + _LIT(KFrenchabc,"french_abc"); + _LIT(KFrenchdef,"french_def"); + + TInt ret = 0; + + CMimeInfo* mime = CMimeInfo::NewLC(mimeWord_Tcnf); + mime->AddLanguageL(TLanguageInfo(ELangEnglish,engword_Tcnf)); + mime->AddLanguageL(TLanguageInfo(ELangFrench,frword_Tcnf)); + + CleanupStack::PopAndDestroy(); //mime + + _LIT(KPath,"z:\\resource\\convert\\10004c41.RSC"); + TFileName resourceFile; + resourceFile.Copy(KPath); + CCnaConvInfoFileReader2* readConverter=CCnaConvInfoFileReader2::NewL(resourceFile); + CleanupStack::PushL(readConverter); + readConverter->RestoreL(); + CCnaConverter* con2 = readConverter->AtL(0); + CleanupStack::PushL(con2); + + TLanguage originalLanguage = User::Language(); + TRAP(ret,ChangeLocaleL(ELangEnglish)); + TEST(ret == KErrNone); + TEST(User::Language() == ELangEnglish); + TDataType dt1(_L8("text/abc")); + TTranslation trans = con2->MimeFromText(dt1); + TEST(trans == KEnglishabc); + + TDataType dt2(_L8("text/def")); + trans = con2->MimeToText(dt2); + TEST(trans == KEnglishdef); + + TRAP(ret,ChangeLocaleL(ELangFrench)); + TEST(ret == KErrNone); + TEST(User::Language() == ELangFrench); + if(User::Language() == ELangFrench) + { + trans = con2->MimeFromText(dt1); + TEST(trans == KFrenchabc); + + trans = con2->MimeToText(dt2); + TEST(trans == KFrenchdef); + } + TRAP(ret,ChangeLocaleL(originalLanguage)); + TEST(ret == KErrNone); + + CleanupStack::PopAndDestroy(2); //con2 and readConverter + } + +void CTCnfStep::testConverterCNFWriterL() + { + TUid uid; + uid.iUid=123; + CCnaConverter* con1=CCnaConverter::NewL(uid); + CleanupStack::PushL(con1); + TEST(con1->Uid()==uid); + uid.iUid=1234; + con1->SetUid(uid); + TEST(con1->Uid()==uid); + CleanupStack::PopAndDestroy(); //con1 + + CreateConv1L(); + } + +CTCnfStep::~CTCnfStep() +/** + Destructor + */ + { + } + +CTCnfStep::CTCnfStep() +/** + Constructor + */ + { + // Call base class method to set up the human readable name for logging + SetTestStepName(KTCnfStep); + } + +TVerdict CTCnfStep::doTestStepL() + { + INFO_PRINTF1(_L("Testing the Conarc dll...")); + + // run the testcode (inside an alloc heaven harness) + + __UHEAP_MARK; + INFO_PRINTF1(_L("About to test the Converter CNF")); + + mimeWord_Tcnf = TDataType(_L8("mime/msword")); + engword_Tcnf = (_L("englishword")); + frword_Tcnf = (_L("frenchword")); + + TRAPD(r,CTCnfStep::testConverterCNFWriterL()); + TEST(r==KErrNone); + INFO_PRINTF1(_L("test finished\n")); + + REComSession::FinalClose(); + __UHEAP_MARKEND; + + return TestStepResult(); + }