void CTzUserDataTest::DeleteCurrentUserTzL(RTz& aTz, TTest aWhatToTest) { test.Next(_L("Delete Current TZ rules - Server Response to Changes")); // Set system to default time zone ResetTimeZoneToLondonL(); CTzId* defaulteTzid = aTz.GetTimeZoneIdL(); test(KTzLondon()==defaulteTzid->TimeZoneNameID()); delete defaulteTzid; // Set system to a newly created user time zone const TInt KStandardOffset = 60; const TInt KDSTOffset = 120; CreateUserTzAndSetCurrentTimeToL(aTz,KStandardOffset,KDSTOffset); //Delete the user time zone DeleteCurrentTzL(aTz); if(aWhatToTest == EPersistence) { aTz.Close(); User::After(1000000); User::LeaveIfError(aTz.Connect()); } CTzId* tzGot = aTz.GetTimeZoneIdL(); test(KTzLondon()==tzGot->TimeZoneNameID()); delete tzGot; }
void CTzUserDataTest::DeleteCurrentTzL(RTz& aTz) { CTzId* currentTzid = aTz.GetTimeZoneIdL(); CleanupStack::PushL(currentTzid); iUserData->DeleteL(*currentTzid); CleanupStack::PopAndDestroy(currentTzid); CTzId* tzGot = aTz.GetTimeZoneIdL(); test(KTzLondon()==tzGot->TimeZoneNameID()); delete tzGot; }
/** Retrieves numeric id for various time zones */ void CTestTZServer::TimeZoneNumericIdL() { iField.Zero(); iField.Append(KNumericIds); GetIntFromConfig(ConfigSection(),iField,iIntNumericId); //gets expected numeric id RTz tz; CleanupClosePushL(tz); User::LeaveIfError(tz.Connect()); CTzId* tzId = NULL; TRAPD(err,tzId = tz.GetTimeZoneIdL()); TESTL(err == KErrNone); CleanupStack::PushL(tzId); TUint tzNumericId = tzId->TimeZoneNumericID(); INFO_PRINTF2(_L("actual : %d"),tzNumericId); TESTL(tzNumericId == iIntNumericId); CleanupStack::PopAndDestroy(tzId); CleanupStack::PopAndDestroy(&tz); }
/** Gets the current system time zone in OOM conditions */ void CTestTZServer::OOMGetCurrentTimeZoneL() { RTz tz; CleanupClosePushL(tz); User::LeaveIfError(tz.Connect()); CTzId* tzId = NULL; iFailAt = 1; for ( ;; ) { StartHeapCheck(iFailAt); TRAPD(err,tzId = tz.GetTimeZoneIdL()); if ( err == KErrNone ) { TESTL(tzId != NULL); __UHEAP_RESET; INFO_PRINTF1(_L("OOM testing of GetTimeZoneIdL()) Api is done")); break; } if ( ErrorProcess(err) ) { EndHeapCheck(); } else { break; } } CleanupStack::PopAndDestroy(&tz); }
/** Setting of Time Zone using different Time Zone Servers */ void CTestTZServer::MulitpleTZServerL() { _LIT8(KEuropeLondon, "Europe/London"); CTzId* zoneId = CTzId::NewL(KEuropeLondon); CleanupStack::PushL(zoneId); _LIT8(KPacificPortMoresby, "Pacific/Port_Moresby"); CTzId* zoneId1 = CTzId::NewL(KPacificPortMoresby); CleanupStack::PushL(zoneId1); _LIT8(KAfricaDar, "Africa/Dar_es_Salaam"); CTzId* zoneId2 = CTzId::NewL(KAfricaDar); CleanupStack::PushL(zoneId2); RTz tz; CleanupClosePushL(tz); User::LeaveIfError(tz.Connect()); RTz tz1; CleanupClosePushL(tz1); User::LeaveIfError(tz1.Connect()); RTz tz2; CleanupClosePushL(tz2); User::LeaveIfError(tz2.Connect()); CTzId* tzId = NULL; TRAPD(err,tz.SetTimeZoneL(*zoneId)); TESTL(err == KErrNone); TRAP(err,tz1.SetTimeZoneL(*zoneId1)); TESTL(err == KErrNone); TRAP(err,tz2.SetTimeZoneL(*zoneId2)); TESTL(err == KErrNone); TRAP(err,tzId = tz.GetTimeZoneIdL()); TESTL(err == KErrNone); TESTL(tzId != NULL); TRAP(err,tzId = tz1.GetTimeZoneIdL()); TESTL(err == KErrNone); TESTL(tzId != NULL); TRAP(err,tzId = tz2.GetTimeZoneIdL()); TESTL(err == KErrNone); TESTL(tzId != NULL); CleanupStack::PopAndDestroy(&tz2); CleanupStack::PopAndDestroy(&tz1); CleanupStack::PopAndDestroy(&tz); CleanupStack::PopAndDestroy(zoneId2); CleanupStack::PopAndDestroy(zoneId1); CleanupStack::PopAndDestroy(zoneId); }
TInt CDstIntUtils::CheckHomeTimeZoneL(const RTz &aServer, const TDesC8& aLocation) { TInt err = KErrBadName; CTzId *timezoneid = aServer.GetTimeZoneIdL(); if(timezoneid->TimeZoneNameID() == aLocation) { err = KErrNone; } delete timezoneid; return err; }
void CTzUserDataTest::CreateUserTzAndSetCurrentTimeToL(RTz& aTz, TInt aStandardOffSet, TInt aDSTOffset) { test.Next(_L("@SYMTestCaseID PIM-APPSERV-TZS-RC-0001 Test user-defined time zone is current time zone")); CTzId* usertzid = CreateUserDefinedTzL(aStandardOffSet, aDSTOffset, ETrue); CleanupStack::PushL(usertzid); aTz.SetTimeZoneL(*usertzid); CTzId* tzGot = aTz.GetTimeZoneIdL(); test (*tzGot == *usertzid); delete tzGot; CleanupStack::PopAndDestroy(usertzid); }
void CTzUserDataTest::UpdateCurrentTzL(RTz& aTz,TInt aOldOffSet, TInt aNewOffSet ) { CTzRules* newrules = CreateUserDefinedTzLC(aOldOffSet, aNewOffSet); CTzUserNames* newnames = CreateUserDefinedTzNamesLC(); CTzId* currentTzid = aTz.GetTimeZoneIdL(); CleanupStack::PushL(currentTzid); iUserData->UpdateL(*currentTzid,*newrules, *newnames); CleanupStack::PopAndDestroy(currentTzid); CTzRules* currentRules = aTz.GetTimeZoneRulesL(0, 9999,ETzUtcTimeReference ); CleanupStack::PushL(currentRules); test(newrules->IsEqualTo(*currentRules)); CleanupStack::PopAndDestroy(3, newrules); }
/** Retrieves daylight property for various time zones in OOM conditions */ void CTestTZServer::OOMDaylightSavingL() { RTz tz; CleanupClosePushL(tz); User::LeaveIfError(tz.Connect()); tz.SetAutoUpdateBehaviorL(RTz::ETZAutoDSTUpdateOn); CTzId* tzId = NULL; TRAPD(err1,tzId = tz.GetTimeZoneIdL()); //the current system time zone TESTL ( err1 == KErrNone ); CleanupStack::PushL(tzId); TBool isDaylightOn = EFalse; iFailAt = 0; for ( ;; ) { StartHeapCheck(iFailAt); TRAPD(err, isDaylightOn = tz.IsDaylightSavingOnL(*tzId)); //daylight property for current system time zone if ( err == KErrNone ) { __UHEAP_RESET; INFO_PRINTF1(_L("OOM testing of IsDaylightSavingOnL()) Api is done")); break; } if ( ErrorProcess(err) ) { EndHeapCheck(); } else { break; } } iField.Zero(); iField.Append(KDaylightSaving); GetBoolFromConfig(ConfigSection(),iField,iDaylightSaving); //gets expected daylight property //compares expected daylight property with actual daylight property TESTL(iDaylightSaving == isDaylightOn); CleanupStack::PopAndDestroy(tzId); CleanupStack::PopAndDestroy(&tz); }
void CTzUserDataTest::ReadIdsAndTestL(RTz& aRTz, TBool aCheckId) { test.Next(_L("Read time zone IDs")); RPointerArray<CTzId> ids; CleanupStack::PushL(TCleanupItem(ResetAndDestroyTzIdArray, &ids)); iUserData->GetTzIdsL(ids); test(iTzIds.Count() == ids.Count()); if(aCheckId) { TInt count = ids.Count(); for(TInt ii = 0; ii<count; ++ii) { test(ids[ii]->IsUserTzId()); } //Current time zone is default time zone Europe/London which is not the user-defined time zone. CTzId* currentId = aRTz.GetTimeZoneIdL(); test (!currentId->IsUserTzId()); delete currentId; } CleanupStack::PopAndDestroy(&ids); }
/** Soak/OOM tests for setting and getting time zones and testing of TimeZoneNameID api */ void CTestTZServer::OOMSetCurrentTimeZoneL() { _LIT8(KEuropeLondon, "Europe/London"); CTzId* zoneId = CTzId::NewL(KEuropeLondon); CleanupStack::PushL(zoneId); _LIT8(KPacificPortMoresby, "Pacific/Port_Moresby"); CTzId* zoneId1 = CTzId::NewL(KPacificPortMoresby); CleanupStack::PushL(zoneId1); RTz tz; CleanupClosePushL(tz); User::LeaveIfError(tz.Connect()); TInt i = 0; for (i = 0; i < KRepeatApiNumber; i++) { TRAPD(err,tz.SetTimeZoneL(*zoneId)); TESTL(err == KErrNone); } for (i = 0; i < KRepeatApiNumber; i++) { TRAPD(err,tz.SetTimeZoneL(*zoneId1)); TESTL(err == KErrNone); } CTzId* tzId = NULL; iFailAt = 1; for ( ;; ) { StartHeapCheck(iFailAt); TRAPD(err5,tzId = tz.GetTimeZoneIdL()); if ( err5 == KErrNone ) { TESTL(tzId != NULL); __UHEAP_RESET; INFO_PRINTF1(_L("OOM testing of GetTimeZoneIdL()) Api is done")); break; } if ( ErrorProcess( err5) ) { EndHeapCheck(); } else { break; } } CleanupStack::PopAndDestroy(&tz); CleanupStack::PopAndDestroy(zoneId1); CleanupStack::PopAndDestroy(zoneId); }