--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tzservices/tzloc/test/rtest/t_localizationupdate.cpp Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,567 @@
+// Copyright (c) 2008-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:
+//
+
+
+#include <e32base.h>
+#include <e32std.h>
+#include <e32des16.h>
+#include <e32test.h>
+#include <tzlocalizer.h>
+#include <tzlocalizedcityrecord.h>
+#include "testserver.h"
+#include <f32file.h>
+
+_LIT(KDefaultLocale, "elocl.loc");
+#ifdef SYMBIAN_DISTINCT_LOCALE_MODEL
+_LIT(KFrenchLocale, "elocl_lan.002");
+#else
+_LIT(KFrenchLocale, "elocl.02");
+#endif
+const TInt KDefaultTzId = 2592;
+const TInt KDefaultCityGroupId = 1;
+const TInt KParisTzId = 2656;
+
+_LIT(KSrcTzLocRscFile1, "z:\\timezonelocalization\\timezonegroups.r01");
+_LIT(KSrcTzLocRscFile2, "z:\\timezonelocalization\\timezonegroups.r02");
+_LIT(KSrcTzLocRscFile3, "z:\\timezonelocalization\\timezonegroups.rsc");
+_LIT(KSrcTzLocRscFile4, "z:\\timezonelocalization\\timezones.r01");
+_LIT(KSrcTzLocRscFile5, "z:\\timezonelocalization\\timezones.r02");
+_LIT(KSrcTzLocRscFile6, "z:\\timezonelocalization\\timezones.rsc");
+
+_LIT(KDestTzLocRscDir, "c:\\resource\\timezonelocalization\\");
+_LIT(KDestTzLocRscFile1, "c:\\resource\\timezonelocalization\\timezonegroups.r01");
+_LIT(KDestTzLocRscFile2, "c:\\resource\\timezonelocalization\\timezonegroups.r02");
+_LIT(KDestTzLocRscFile3, "c:\\resource\\timezonelocalization\\timezonegroups.rsc");
+_LIT(KDestTzLocRscFile4, "c:\\resource\\timezonelocalization\\timezones.r01");
+_LIT(KDestTzLocRscFile5, "c:\\resource\\timezonelocalization\\timezones.r02");
+_LIT(KDestTzLocRscFile6, "c:\\resource\\timezonelocalization\\timezones.rsc");
+
+_LIT(KTzLocTemporaryFile,"c:\\private\\100012a5\\DBS_2000836D_DBS_DSC.db");
+_LIT(KTzLocDb,"c:\\private\\100012a5\\DBS_10206A8B_TzLocalization.db");
+
+_LIT(KSrcTzLocModifiedDir, "z:\\timezonelocalization\\modified");
+
+_LIT(KSrcTzLocLocaleModifiedDir, "z:\\timezonelocalization\\locale\\");
+
+_LIT(KAgendaServer,"agsvexe*");
+_LIT(KTzServer,"Tzserver*");
+
+RTest test(_L("TZ Localization Resource Files Update Test Suite"));
+
+
+LOCAL_C void CopyFilesL(RPIMTestServer& aTestServer)
+ {
+ aTestServer.CopyFileL(KSrcTzLocRscFile1,KDestTzLocRscFile1);
+ aTestServer.CopyFileL(KSrcTzLocRscFile2,KDestTzLocRscFile2);
+ aTestServer.CopyFileL(KSrcTzLocRscFile3,KDestTzLocRscFile3);
+ aTestServer.CopyFileL(KSrcTzLocRscFile4,KDestTzLocRscFile4);
+ aTestServer.CopyFileL(KSrcTzLocRscFile5,KDestTzLocRscFile5);
+ aTestServer.CopyFileL(KSrcTzLocRscFile6,KDestTzLocRscFile6);
+ }
+
+
+LOCAL_C void DeleteFilesL(RPIMTestServer& aTestServer)
+ {
+ aTestServer.DeleteFileL(KDestTzLocRscFile1);
+ aTestServer.DeleteFileL(KDestTzLocRscFile2);
+ aTestServer.DeleteFileL(KDestTzLocRscFile3);
+ aTestServer.DeleteFileL(KDestTzLocRscFile4);
+ aTestServer.DeleteFileL(KDestTzLocRscFile5);
+ aTestServer.DeleteFileL(KDestTzLocRscFile6);
+ aTestServer.DeleteDirL(KDestTzLocRscDir);
+ }
+
+LOCAL_C void DeleteEnglishFilesL(RPIMTestServer& aTestServer)
+ {
+ aTestServer.DeleteFileL(KDestTzLocRscFile1);
+ aTestServer.DeleteFileL(KDestTzLocRscFile3);
+ aTestServer.DeleteFileL(KDestTzLocRscFile4);
+ aTestServer.DeleteFileL(KDestTzLocRscFile6);
+ aTestServer.DeleteDirL(KDestTzLocRscDir);
+ }
+
+/**
+@SYMTestCaseID PIM-APPSERV-LOC-TZL-ECL-0001
+
+@SYMTestCaseDesc
+ The purpose of this test is to verify the use of eclipsed system TZ
+ localization resources.
+
+@SYMTestActions
+ 1. Use the CTzLocalizer API to obtain a copy of the cities
+ (preUpdateCities) for a given city group identifier.
+
+ 2. Copy system TZ localization resources that adds a city to the city group
+ used in action 1 to the appropriate location on the C: drive.
+
+ 3. Use the CTzLocalizer API to obtain a copy of the cities
+ (postUpdateCities) for the same city group identifier used in action 1.
+
+@SYMTestExpectedResults
+ The preUpdateCities object should not contain the added city and the
+ postUpdateCities object should contain the added city.
+
+@SYMREQ
+ REQ9952
+
+@SYMTestType
+ CT
+
+@SYMTestPriority
+ 1
+*/
+LOCAL_C void TestUpdatedLocalizationFilesL()
+ {
+ RPIMTestServer serv;
+ CleanupClosePushL(serv);
+ User::LeaveIfError(serv.Connect());
+
+ serv.CloseTzSession();
+ TRAP_IGNORE(serv.KillProcessL(KAgendaServer));
+ TRAP_IGNORE(serv.KillProcessL(KTzServer));
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ CTzLocalizer* localizer = CTzLocalizer::NewLC();
+ // Set timezone to be London.
+ localizer->SetTimeZoneL(KDefaultTzId);
+
+ CTzLocalizedCityGroup* group = localizer->GetCityGroupL(KDefaultCityGroupId);
+ CleanupStack::PushL(group);
+ CTzLocalizedCityArray* cities = localizer->GetCitiesInGroupL(*group);
+ CleanupStack::PushL(cities);
+
+ TInt countDefault = cities->Count();
+ test.Printf(_L("The number of cities found in a city group in the default files are %d\n"), countDefault);
+
+ CleanupStack::PopAndDestroy(cities);
+ CleanupStack::PopAndDestroy(group);
+ CleanupStack::PopAndDestroy(localizer);
+
+ CopyFilesL(serv);
+
+ CTzLocalizer* localizerFlash = CTzLocalizer::NewLC();
+ localizerFlash->SetTimeZoneL(KDefaultTzId);
+
+ CTzLocalizedCityGroup* groupFlash = localizerFlash->GetCityGroupL(KDefaultCityGroupId);
+ CleanupStack::PushL(groupFlash);
+ CTzLocalizedCityArray* citiesFlash = localizerFlash->GetCitiesInGroupL(*groupFlash);
+ CleanupStack::PushL(citiesFlash);
+ TInt countFlash = citiesFlash->Count();
+
+ test.Printf(_L("The number of cities found in a city group in the files under system drive are %d\n"), countFlash);
+ __ASSERT_ALWAYS(countDefault < countFlash, User::Panic(_L("Number of cities found in the file on ROM and flash is the same"), 1));
+
+ CleanupStack::PopAndDestroy(citiesFlash);
+ CleanupStack::PopAndDestroy(groupFlash);
+ CleanupStack::PopAndDestroy(localizerFlash);
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+
+ CleanupStack::PopAndDestroy(&serv);
+ }
+
+/**
+@SYMTestCaseID PIM-localizationupdate-0001
+
+@SYMTestCaseDesc
+ The purpose of this test is to verify the use of eclipsed system
+ TZ localization resources.
+
+@SYMTestActions
+ 1. The current locale of the system is changed to French
+
+ 2. Fetch the number of cities in the group
+
+ 3. Files are copied to system drive
+
+ 4. Fetch the number of cities in the group
+
+ 5. Delete the files on system drive
+
+ 6. Fetch the number of cities in the group
+
+@SYMTestExpectedResults
+ Number of cities in Step 2 and 6 is 2
+
+ Number of cities in Step 4 is 52
+
+@SYMREQ
+ REQ9952
+@SYMTestType
+ CT
+
+@SYMTestPriority
+ 1
+*/
+LOCAL_C void TestEclipsingOfRscFileL()
+ {
+ _LIT(KLocaleChangeStart, "Changing locale to French\n");
+ test.Printf(KLocaleChangeStart);
+
+ TExtendedLocale extendedLocale;
+ extendedLocale.LoadSystemSettings();
+ TBuf<100> localeDllLocationString ;
+ localeDllLocationString.Copy(KFrenchLocale);
+ extendedLocale.LoadLocaleAspect(ELocaleLanguageSettings, localeDllLocationString) ;
+ extendedLocale.SaveSystemSettings();
+
+ RPIMTestServer serv;
+ CleanupClosePushL(serv);
+ User::LeaveIfError(serv.Connect());
+
+ serv.CloseTzSession();
+ TRAP_IGNORE(serv.KillProcessL(KAgendaServer));
+ TRAP_IGNORE(serv.KillProcessL(KTzServer));
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ CTzLocalizer* localizer = CTzLocalizer::NewLC();
+ // Set timezone to be London
+ localizer->SetTimeZoneL(KDefaultTzId);
+
+ // Get the default city and cities within the group
+ CTzLocalizedCityGroup* group = localizer->GetCityGroupL(KDefaultCityGroupId);
+ CleanupStack::PushL(group);
+ CTzLocalizedCityArray* cities = localizer->GetCitiesInGroupL(*group);
+ CleanupStack::PushL(cities);
+
+ // Get the number of cities
+ TInt countDefault = cities->Count();
+ test.Printf(_L("The number of cities found in a city group in the default files are %d\n"), countDefault);
+
+ CleanupStack::PopAndDestroy(cities);
+ CleanupStack::PopAndDestroy(group);
+ CleanupStack::PopAndDestroy(localizer);
+
+ // Copy files on to system drive
+ serv.CopyFileL(KSrcTzLocLocaleModifiedDir, KDestTzLocRscDir);
+
+ // Get cities and city group
+ CTzLocalizer* localizerFlash = CTzLocalizer::NewLC();
+ localizerFlash->SetTimeZoneL(KDefaultTzId);
+
+ // Fetch cities
+ CTzLocalizedCityGroup* groupFlash = localizerFlash->GetCityGroupL(KDefaultCityGroupId);
+ CleanupStack::PushL(groupFlash);
+ CTzLocalizedCityArray* citiesFlash = localizerFlash->GetCitiesInGroupL(*groupFlash);
+ CleanupStack::PushL(citiesFlash);
+
+ // Get the number of cities in the group
+ TInt countFlash = citiesFlash->Count();
+ test.Printf(_L("The number of cities found in a city group in the files under system drive are %d\n"), countFlash);
+
+ // Test whether number of cities from system drive is more than ones on ROM
+ test(countDefault < countFlash);
+
+ // Cleanup
+ CleanupStack::PopAndDestroy(citiesFlash);
+ CleanupStack::PopAndDestroy(groupFlash);
+ CleanupStack::PopAndDestroy(localizerFlash);
+
+ // Delete the resource files
+ DeleteEnglishFilesL(serv);
+ serv.DeleteFileL(KTzLocDb);
+
+ // Get cities and city group
+ CTzLocalizer* newLocalizer = CTzLocalizer::NewLC();
+ CTzLocalizedCityGroup* newGroup = newLocalizer->GetCityGroupL(KDefaultCityGroupId);
+ CleanupStack::PushL(newGroup);
+ CTzLocalizedCityArray* newCities = newLocalizer->GetCitiesInGroupL(*newGroup);
+ CleanupStack::PushL(newCities);
+
+ // Get the count of cities
+ TInt newCount = newCities->Count();
+ test.Printf(_L("The number of cities found in a city group in the files under ROM are %d\n"), newCount);
+ test(newCount < countFlash);
+
+ // Cleanup
+ CleanupStack::PopAndDestroy(newCities);
+ CleanupStack::PopAndDestroy(newGroup);
+ CleanupStack::PopAndDestroy(newLocalizer);
+ CleanupStack::PopAndDestroy(&serv);
+
+ // Revert the system locale to English
+ localeDllLocationString.Copy(KDefaultLocale);
+ TInt ret = extendedLocale.LoadLocaleAspect(ELocaleLanguageSettings, localeDllLocationString) ;
+ if(ret != KErrNone)
+ {
+ test.Printf(_L("Could not revert to default locale. Error code is %d"), ret);
+ }
+ extendedLocale.SaveSystemSettings();
+ }
+
+LOCAL_C void TestImpactOfTimeZoneDeleteOnCityL()
+ {
+ RPIMTestServer serv;
+ CleanupClosePushL(serv);
+ User::LeaveIfError(serv.Connect());
+
+ serv.CloseTzSession();
+
+ TRAP_IGNORE(serv.KillProcessL(KAgendaServer));
+ TRAP_IGNORE(serv.KillProcessL(KTzServer));
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ RTz tz;
+ CleanupClosePushL(tz);
+ User::LeaveIfError(tz.Connect());
+
+ CTzLocalizer* localizer = CTzLocalizer::NewLC();
+ localizer->SetTimeZoneL(KDefaultTzId);
+
+ _LIT(KUserCity1, "UserCity1");
+ CTzLocalizedCity* city1 = localizer->AddCityL(KDefaultTzId, KUserCity1);
+ delete city1;
+
+ _LIT(KUserCity2, "UserCity2");
+ CTzLocalizedCity* city2 = localizer->AddCityL(KDefaultTzId, KUserCity2);
+ delete city2;
+
+ _LIT(KUserCity3, "UserCity3");
+ CTzLocalizedCity* city3 = localizer->AddCityL(KParisTzId, KUserCity3);
+ delete city3;
+
+ //Read the number of cities
+ RPointerArray<CTzLocalizedCityRecord> cityRecords;
+ tz.LocalizationReadCitiesL(cityRecords);
+ test.Printf(_L("Check if the number of cities read is correct\n"));
+ test(cityRecords.Count() == 3);
+ cityRecords.ResetAndDestroy();
+ cityRecords.Close();
+ CleanupStack::PopAndDestroy(localizer);
+
+ // Copy the files that do not contain information on Paris
+ TRAPD(err, serv.CopyFileL(KSrcTzLocModifiedDir, KDestTzLocRscDir));
+ if (err != KErrNone)
+ {
+ _LIT(KErrCopyFiles, "Couldn't copy database file\n");
+ test.Printf(KErrCopyFiles);
+ User::Leave(err);
+ }
+ tz.SwiObsBeginL();
+ tz.SwiObsFileChangedL(RTz::EFilterResourceTimezonelocalization);
+ tz.SwiObsEndL();
+
+ CTzLocalizer* newLocalizer = CTzLocalizer::NewLC();
+ newLocalizer->SetTimeZoneL(KDefaultTzId);
+ //Read the number of cities again
+ RPointerArray<CTzLocalizedCityRecord> cityRecords2;
+ tz.LocalizationReadCitiesL(cityRecords2);
+ test.Printf(_L("Again, check if the number of cities read is correct\n"));
+ test(cityRecords2.Count() == 2);
+ cityRecords2.ResetAndDestroy();
+ cityRecords2.Close();
+ CleanupStack::PopAndDestroy(newLocalizer);
+ CleanupStack::PopAndDestroy(&tz);
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ CleanupStack::PopAndDestroy(&serv);
+ }
+
+LOCAL_C void TestImpactOfTimeZoneDeleteOnZoneL()
+ {
+ RPIMTestServer serv;
+ CleanupClosePushL(serv);
+ User::LeaveIfError(serv.Connect());
+
+ serv.CloseTzSession();
+ TRAP_IGNORE(serv.KillProcessL(KAgendaServer));
+ TRAP_IGNORE(serv.KillProcessL(KTzServer));
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ RTz tz;
+ CleanupClosePushL(tz);
+ User::LeaveIfError(tz.Connect());
+
+ CTzLocalizer* localizer = CTzLocalizer::NewLC();
+ localizer->SetFrequentlyUsedZoneL(KParisTzId, CTzLocalizedTimeZone::EHomeZone);
+ CleanupStack::PopAndDestroy(localizer);
+
+ // Copy the resource files that do not have Paris in them
+ test.Printf(_L("Copy resource files to flash drive\n"));
+ TRAPD(err, serv.CopyFileL(KSrcTzLocModifiedDir, KDestTzLocRscDir));
+ if (err != KErrNone)
+ {
+ _LIT(KErrCopyFiles, "Couldn't copy database file\n");
+ test.Printf(KErrCopyFiles);
+ User::Leave(err);
+ }
+ tz.SwiObsBeginL();
+ tz.SwiObsFileChangedL(RTz::EFilterResourceTimezonelocalization);
+ tz.SwiObsEndL();
+
+ CTzLocalizer* newLocalizer = CTzLocalizer::NewLC();
+ //Extract zone information, same city should be returned by GetFrequentlyUsedZoneCityL below.
+ CTzLocalizedCity* cityToCompareWith = newLocalizer->GetDefaultCityL(KDefaultTzId);
+ CleanupStack::PushL(cityToCompareWith);
+
+ //Extract zone information, same zone should be returned by GetFrequentlyUsedZoneL below.
+ CTzLocalizedTimeZone* zoneToCompareWith = newLocalizer->GetLocalizedTimeZoneL(KDefaultTzId);
+ CleanupStack::PushL(zoneToCompareWith);
+
+ CTzLocalizedCity* city = newLocalizer->GetFrequentlyUsedZoneCityL(CTzLocalizedTimeZone::EHomeZone);
+ test.Printf(_L("Check if the frequently used city read from the database is same as the one expected\n"));
+ test(city->TimeZoneId() == cityToCompareWith->TimeZoneId());
+ test(city->GroupId() == cityToCompareWith->GroupId());
+ test(city->Name() == cityToCompareWith->Name());
+ delete city;
+
+ CTzLocalizedTimeZone* timeZone = newLocalizer->GetFrequentlyUsedZoneL(CTzLocalizedTimeZone::EHomeZone);
+ test.Printf(_L("Check if the frequently used zone read from the database is same as the one expected\n"));
+ test(timeZone->TimeZoneId() == zoneToCompareWith->TimeZoneId());
+ test(timeZone->StandardName() == zoneToCompareWith->StandardName());
+ test(timeZone->ShortStandardName() == zoneToCompareWith->ShortStandardName());
+ test(timeZone->DaylightName() == zoneToCompareWith->DaylightName());
+ test(timeZone->ShortDaylightName() == zoneToCompareWith->ShortDaylightName());
+ delete timeZone;
+
+ CleanupStack::PopAndDestroy(2, cityToCompareWith);
+ CleanupStack::PopAndDestroy(newLocalizer);
+ CleanupStack::PopAndDestroy(&tz);
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ CleanupStack::PopAndDestroy(&serv);
+ }
+
+LOCAL_C void TestImpactOfTimeZoneUpdateL()
+ {
+ RPIMTestServer serv;
+ CleanupClosePushL(serv);
+ User::LeaveIfError(serv.Connect());
+
+ serv.CloseTzSession();
+ TRAP_IGNORE(serv.KillProcessL(KAgendaServer));
+ TRAP_IGNORE(serv.KillProcessL(KTzServer));
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+
+ RTz tz;
+ CleanupClosePushL(tz);
+ User::LeaveIfError(tz.Connect());
+
+ CTzLocalizer* localizer = CTzLocalizer::NewLC();
+ localizer->SetFrequentlyUsedZoneL(KDefaultTzId, CTzLocalizedTimeZone::EHomeZone);
+ CleanupStack::PopAndDestroy(localizer);
+ // Copy the resource files that have updated information for London
+ TRAPD(err, serv.CopyFileL(KSrcTzLocModifiedDir, KDestTzLocRscDir));
+ if (err != KErrNone)
+ {
+ _LIT(KErrCopyFiles, "Couldn't copy database file\n");
+ test.Printf(KErrCopyFiles);
+ User::Leave(err);
+ }
+ tz.SwiObsBeginL();
+ tz.SwiObsFileChangedL(RTz::EFilterResourceTimezonelocalization);
+ tz.SwiObsEndL();
+
+ CTzLocalizer* newLocalizer = CTzLocalizer::NewLC();
+ //Extract zone information, same city should be returned by GetFrequentlyUsedZoneCityL below.
+ CTzLocalizedCity* cityToCompareWith = newLocalizer->GetDefaultCityL(KDefaultTzId);
+ CleanupStack::PushL(cityToCompareWith);
+
+ //Extract zone information, same zone should be returned by GetFrequentlyUsedZoneL below.
+ CTzLocalizedTimeZone* zoneToCompareWith = newLocalizer->GetLocalizedTimeZoneL(KDefaultTzId);
+ CleanupStack::PushL(zoneToCompareWith);
+
+ CTzLocalizedCity* city = newLocalizer->GetFrequentlyUsedZoneCityL(CTzLocalizedTimeZone::EHomeZone);
+ test.Printf(_L("Check if the frequently used city read from the database is same as the one expected\n"));
+ test(city->TimeZoneId() == cityToCompareWith->TimeZoneId());
+ test(city->GroupId() == cityToCompareWith->GroupId());
+ test(city->Name() == cityToCompareWith->Name());
+ delete city;
+
+ CTzLocalizedTimeZone* timeZone = newLocalizer->GetFrequentlyUsedZoneL(CTzLocalizedTimeZone::EHomeZone);
+ test.Printf(_L("Check if the frequently used zone read from the database is same as the one expected\n"));
+ test(timeZone->TimeZoneId() == zoneToCompareWith->TimeZoneId());
+ test(timeZone->StandardName() == zoneToCompareWith->StandardName());
+ test(timeZone->ShortStandardName() == zoneToCompareWith->ShortStandardName());
+ test(timeZone->DaylightName() == zoneToCompareWith->DaylightName());
+ test(timeZone->ShortDaylightName() == zoneToCompareWith->ShortDaylightName());
+ delete timeZone;
+ CleanupStack::PopAndDestroy(2, cityToCompareWith);
+ CleanupStack::PopAndDestroy(newLocalizer);
+ CleanupStack::PopAndDestroy(&tz);
+
+ DeleteFilesL(serv);
+ serv.DeleteDirL(KDestTzLocRscDir);
+ serv.DeleteFileL(KTzLocDb);
+ serv.DeleteFileL(KTzLocTemporaryFile);
+
+ CleanupStack::PopAndDestroy(&serv);
+ }
+
+LOCAL_C void DoTestsL()
+ {
+ test.Title();
+
+
+ test.Start(_L(" @SYMTestCaseID PIM-APPSERV-LOC-TZL-ECL-0001 Test Updated Localization Files"));
+ TestUpdatedLocalizationFilesL();
+
+ test.Next(_L(" @SYMTestCaseID PIM-localizationupdate-0001 Test Eclipsing of Files with locale changes"));
+ TestEclipsingOfRscFileL();
+
+
+ test.Next(_L("Test the impact of deleting time zone id on user cities table"));
+ TestImpactOfTimeZoneDeleteOnCityL();
+
+ test.Next(_L("Test the impact of deleting time zone id on frequently used zone table"));
+ TestImpactOfTimeZoneDeleteOnZoneL();
+
+ test.Next(_L("Test the impact of updating time zone id on frequently used zone table"));
+ TestImpactOfTimeZoneUpdateL();
+
+ test.End();
+ }
+
+
+GLDEF_C TInt E32Main()
+ {
+ __UHEAP_MARK;
+
+ CTrapCleanup* cleanup = CTrapCleanup::New();
+
+ TRAPD(ret, DoTestsL());
+ test.Printf(_L("Trapped return value from DoTestsL(): %d\n"), ret);
+ test(ret == KErrNone);
+
+ delete cleanup;
+
+ test.Close();
+
+ __UHEAP_MARKEND;
+
+ return KErrNone;
+ }