sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #include "T_CheckLocale.h" sl@0: sl@0: RTest test(_L("T_OldAPIinOldModel")); sl@0: sl@0: sl@0: //Old locale API should matain backward compatibility in the old locale model sl@0: //(with the old locale DLL format) sl@0: sl@0: void TestOldLocaleAPI() sl@0: { sl@0: TExtendedLocale firstExtendLocale; sl@0: sl@0: test.Start(_L(" @SYMTestCaseID:TI18N-EUSER-CIT-4015 old LoadLocale() API on old locale model")); sl@0: firstExtendLocale.LoadSystemSettings(); sl@0: test( KErrNone == firstExtendLocale.LoadLocale(KOldCNLocaleName()) ); sl@0: test( KErrNone == firstExtendLocale.SaveSystemSettings() ); sl@0: TestLocaleDLLName(test, KOldCNLocaleName(), KOldCNLocaleName(), KOldCNLocaleName() ); sl@0: TestLocaleContent(test, KCNLanguageID, KCNCurrencySymbol, KCNTCollationMethodID); sl@0: sl@0: firstExtendLocale.LoadSystemSettings(); sl@0: test( KErrNone == firstExtendLocale.LoadLocale(KOldUKLocaleName()) ); sl@0: test( KErrNone == firstExtendLocale.SaveSystemSettings() ); sl@0: TestLocaleDLLName(test, KOldUKLocaleName(), KOldUKLocaleName(), KOldUKLocaleName() ); sl@0: TestLocaleContent(test, KEnglishLanguageID, KUKCurrencySymbol, KStandardCollationID); sl@0: test.End(); sl@0: sl@0: //becasue TestLocaleContent() naturally check the system locale content, we mark this test case here. sl@0: test.Start(_L(" @SYMTestCaseID:TI18N-EUSER-CIT-4019 publish locale content to the system")); sl@0: test.End(); sl@0: sl@0: test.Start(_L(" @SYMTestCaseID:TI18N-EUSER-CIT-4016 old LoadLocaleAspect() API on old locale model")); sl@0: firstExtendLocale.LoadSystemSettings(); sl@0: test( KErrNone == firstExtendLocale.LoadLocaleAspect(ELocaleLanguageSettings, KOldUKLocaleName())); sl@0: test( KErrNone == firstExtendLocale.LoadLocaleAspect(ELocaleCollateSetting, KOldCNLocaleName())); sl@0: test( KErrNone == firstExtendLocale.LoadLocaleAspect(ELocaleLocaleSettings, KOldUSLocaleName())); sl@0: test( KErrNone == firstExtendLocale.SaveSystemSettings() ); sl@0: TestLocaleDLLName(test, KOldUKLocaleName(), KOldUSLocaleName(), KOldCNLocaleName() ); sl@0: TestLocaleContent(test, KEnglishLanguageID, KUSCurrencySymbol, KCNTCollationMethodID); sl@0: sl@0: firstExtendLocale.LoadSystemSettings(); sl@0: test( KErrNone == firstExtendLocale.LoadLocaleAspect(ELocaleLanguageSettings, KOldGELocaleName())); sl@0: test( KErrNone == firstExtendLocale.LoadLocaleAspect(ELocaleCollateSetting, KOldGELocaleName())); sl@0: test( KErrNone == firstExtendLocale.LoadLocaleAspect(ELocaleLocaleSettings, KOldGELocaleName())); sl@0: test( KErrNone == firstExtendLocale.SaveSystemSettings() ); sl@0: TestLocaleDLLName(test, KOldGELocaleName(), KOldGELocaleName(), KOldGELocaleName() ); sl@0: TestLocaleContent(test, KGELanguageID, KGECurrencySymbol, KGETCollationMethodID); sl@0: test.End(); sl@0: } sl@0: sl@0: sl@0: void TestOldLocaleModel() sl@0: { sl@0: TestOldLocaleAPI(); sl@0: } sl@0: sl@0: TInt E32Main() sl@0: { sl@0: CTrapCleanup* tc = CTrapCleanup::New(); sl@0: test(tc != NULL); sl@0: sl@0: __UHEAP_MARK; sl@0: sl@0: test.Start(_L("The test for old locale API in old locale model")); sl@0: test.Title(); sl@0: TRAPD(err, ::TestOldLocaleModel()) sl@0: test(err == KErrNone); sl@0: sl@0: test.Printf(_L("\nTest for old locale API in old locale model finished!")); sl@0: sl@0: test.End(); sl@0: test.Close(); sl@0: sl@0: __UHEAP_MARKEND; sl@0: sl@0: delete tc; sl@0: sl@0: return(KErrNone); sl@0: }