diff -r 0818dd463d41 -r 924385140d98 appfw/apparchitecture/tef/T_LocaleStep.cpp --- a/appfw/apparchitecture/tef/T_LocaleStep.cpp Thu Aug 19 10:05:08 2010 +0300 +++ b/appfw/apparchitecture/tef/T_LocaleStep.cpp Tue Aug 31 15:24:25 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2005-2010 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" @@ -35,13 +35,19 @@ #include #include #include "T_LocaleStep.h" +#include "T_SisFileInstaller.h" const TUid KUidTestApp = { 10 }; //uid of tstapp. const TUid KUidCustomiseDefaultIconApp = {0x10208181}; // uid of CustomiseDefaultIconApp. -const TInt KDelayForOnDemand = 20000; //a small delay +const TInt KDelayForOnDemand = 4000000; //a small delay const TInt KDelay = 4000000; // Most apparc tests have 2.5 secs wait time to let apparc update the app-list, but on safer side let us give 4 secs. const TInt KViewCount = 3; // Total no of views in tstapp +_LIT(KTstAppStandAloneSisFile, "z:\\apparctest\\apparctestsisfiles\\TSTAPP_standalone.sis"); +_LIT(KTstAppStandAloneComponent, "TSTAPP_standalone"); + +_LIT(KTstCustomiseDefaultIconAppSisFile, "z:\\apparctest\\apparctestsisfiles\\CustomiseDefaultIconApp.sis"); +_LIT(KTstCustomiseDefaultIconAppComponent, "CustomiseDefaultIconApp"); /** Auxiliary Fn for Test Case ID T-LocaleStep-TestAllLanguages @@ -51,7 +57,7 @@ */ void CT_LocaleStep::ChangeLocaleL(TLanguage aLanguage) - { + {/* #ifdef SYMBIAN_DISTINCT_LOCALE_MODEL _LIT(KLitLocaleDllNameBase, "elocl_lan"); _LIT(KLitLocaleDllNameExtension, ".loc"); @@ -87,7 +93,64 @@ #else User::LeaveIfError(UserSvr::ChangeLocale(localeDllName)); #endif - CleanupStack::PopAndDestroy(); // localeDll + CleanupStack::PopAndDestroy(); // localeDll */ + +#ifdef SYMBIAN_DISTINCT_LOCALE_MODEL + _LIT(KLitLanguageLocaleDllNameBase, "elocl_lan"); + //Region and collation code values are hard coded, as the check, after changing the locale is made for the language only. + _LIT(KLitRegionLocaleDllNameBase, "elocl_reg.826"); + _LIT(KLitCollationLocaleDllNameBase, "elocl_col.001"); + _LIT(ThreeDigExt,".%03d"); + TExtendedLocale localeDll; + const TUidType uidType(TUid::Uid(0x10000079),TUid::Uid(0x100039e6)); + TBuf<16> languageLocaleDllName(KLitLanguageLocaleDllNameBase); + languageLocaleDllName.AppendFormat(ThreeDigExt, aLanguage); + TBuf<16> regionLocaleDllName(KLitRegionLocaleDllNameBase); + TBuf<16> collationLocaleDllName(KLitCollationLocaleDllNameBase); + // Try to load the locale dll + TInt error=localeDll.LoadLocale(languageLocaleDllName, regionLocaleDllName, collationLocaleDllName); + + if (error==KErrNotFound) + { + // Locale dll is not found for the asked language. + ERR_PRINTF2(_L("Failed to find the locale dll for %d"), aLanguage); + } + + User::LeaveIfError(error); + localeDll.SaveSystemSettings(); +#else + _LIT(KLitLocaleDllNameBase, "ELOCL"); + _LIT(TwoDigExt,".%02d"); + + RLibrary localeDll; + CleanupClosePushL(localeDll); + + const TUidType uidType(TUid::Uid(0x10000079),TUid::Uid(0x100039e6)); + TBuf<16> localeDllName(KLitLocaleDllNameBase); + localeDllName.AppendFormat(TwoDigExt, language); + + // Try to load the locale dll + TInt error=localeDll.Load(localeDllName, uidType); + if (error==KErrNotFound) + { + // Locale dll is not found for the asked language. + ERR_PRINTF2(_L("Failed to find the locale dll for %d"), language); + } + + User::LeaveIfError(error); + User::LeaveIfError(UserSvr::ChangeLocale(localeDllName)); + CleanupStack::PopAndDestroy(); // localeDll +#endif + + // Check if the device locale has changed + if (aLanguage == User::Language()) + { + SetTestStepResult(EPass); + } + else + { + ERR_PRINTF3(_L("Failed to change the locale to %d whereas the current locale is"), aLanguage, User::Language()); + } } // CheckIcons is a function used in testcase TestLocaleDefaultIconL to check the size of the default icons @@ -758,6 +821,11 @@ Override of base class virtual */ { + CSisFileInstaller sisFileInstaller; + INFO_PRINTF2(_L("Installing sis file from -> %S"), &KTstAppStandAloneSisFile); + sisFileInstaller.InstallSisAndWaitForAppListUpdateL(KTstAppStandAloneSisFile); + INFO_PRINTF2(_L("Installing sis file from -> %S"), &KTstCustomiseDefaultIconAppSisFile); + sisFileInstaller.InstallSisAndWaitForAppListUpdateL(KTstCustomiseDefaultIconAppSisFile); SetTestStepResult(EPass); return TestStepResult(); } @@ -768,6 +836,9 @@ Override of base class virtual */ { + CSisFileInstaller sisFileInstaller; + sisFileInstaller.UninstallSisL(KTstAppStandAloneComponent); + sisFileInstaller.UninstallSisL(KTstCustomiseDefaultIconAppComponent); return TestStepResult(); }