Rework addition of Symbian splash screen to reduce the source impact (uses SVG from Bug 2414)
Notes: by using the OPTION SOURCEDIR parameter in the mifconv extension instructions, I can
arrange to use the same source file name in sfimage, without having to export over the original
Nokia file. This means that the name inside splashscreen.mbg is the same, which removes the need
for the conditional compilation in SplashScreen.cpp, and gets rid of sf_splashscreen.mmp.
// Copyright (c) 1997-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 "ASTstAlarmTest.h"
#include "testserver.h"
#if defined(__WINS__)
#include "consoleantestclient.h" //for RASAltClientSession
// Globals
static RANTestClient TheAlertSrv;
#endif
TLocale locale;
//
// Test setting an alarm, closing down the alarm server,
// re-starting the server and seeing the alarm expire if the
// re-start is within 59 seconds of the intended expiry
//
// Literal constants
_LIT(KFormatTime,"%H:%T:%S. ");
_LIT(KSeparator,": ");
_LIT(KCarriageReturn,"\n\r");
#if defined(_DEBUG) && defined(__WINS__)
static TBool IsNotifying()
{
User::After(1000000);
return TheAlertSrv.IsNotifying();
}
#endif
static void closeServers()
{
const TInt r = TheAlarmTest.Session().Connect();
TheAlarmTest(r==KErrNone, __LINE__);
TheAlarmTest.Test().Printf(_L("Server shut down\r\n"));
#if !defined(_DEBUG)
TheAlarmTest.Test().Printf(_L("THIS TEST IS A DEBUG TEST ONLY\r\n"));
#else
#ifdef __WINS__
TheAlarmTest.Test().Printf(_L("now closing server...\r\n"));
TheAlarmTest.Session().__DbgShutDownServer();
TheAlarmTest.Session().Close();
#endif
#endif
}
static void logTimeL(const TDesC& aText,const TTime& aTime)
{
TBuf<128> timeTxt;
aTime.FormatL(timeTxt,KFormatTime);
TheAlarmTest.Test().Printf(aText);
TheAlarmTest.Test().Printf(KSeparator);
TheAlarmTest.Test().Printf(timeTxt);
TheAlarmTest.Test().Printf(KCarriageReturn);
}
static void logTimeSameLineL(const TDesC& aText,const TTime& aTime)
{
TPoint cursor=TheAlarmTest.Test().Console()->CursorPos();
cursor.iX=0;
TheAlarmTest.Test().Console()->SetCursorPosAbs(cursor);
TheAlarmTest.Test().Console()->ClearToEndOfLine();
TBuf<128> timeTxt;
aTime.FormatL(timeTxt,KFormatTime);
TheAlarmTest.Test().Printf(aText);
TheAlarmTest.Test().Printf(KSeparator);
TheAlarmTest.Test().Printf(timeTxt);
}
void JumpJustBeforeL(const TTime& aDueTime)
{
TTime jumpTo = aDueTime - TTimeIntervalSeconds(5);
RPIMTestServer serv;
User::LeaveIfError(serv.Connect());
serv.SetHomeTime(jumpTo);
// wait for time change notifications to occur.
User::After(10000);
// set again to ensure time value is correct when update occurs.
serv.SetHomeTime(jumpTo);
serv.Close();
logTimeSameLineL(_L("System time is set to: "), jumpTo);
TheAlarmTest.Test().Printf(KCarriageReturn);
jumpTo.HomeTime();
}
static void tickUntilTimeL(const TTime& aStopTime)
{
TheAlarmTest.Test().Printf(_L("Entering tickUntilTime\n"));
RTimer tickTimer;
tickTimer.CreateLocal();
TTime now;
now.HomeTime();
TInt loop=0;
TheAlarmTest.Test().Printf(_L("Begin Loop\n"));
while (now<aStopTime)
{
TTime nowx(now.Int64());
TTime stopx(aStopTime.Int64());
TheAlarmTest.Test().Printf(_L("\nStart of Loop %d\n"),++loop);
TheAlarmTest.Test().Printf(_L("now<aStopTime %d\n"),now<aStopTime);
TheAlarmTest.Test().Printf(_L("now>aStopTime %d\n"),now>aStopTime);
TheAlarmTest.Test().Printf(_L("now<=aStopTime %d\n"),now<=aStopTime);
TheAlarmTest.Test().Printf(_L("now>=aStopTime %d\n"),now>=aStopTime);
logTimeL(_L("---Nowx at"),nowx);
logTimeL(_L("---Stopx at"),stopx);
TheAlarmTest.Test().Printf(_L("nowx<stopx %d\n"),nowx<stopx);
TheAlarmTest.Test().Printf(_L("\nNow1 TInt64 %d\n"),now.Int64());
TheAlarmTest.Test().Printf(_L("Stop1 TInt64 %d\n\n"),aStopTime.Int64());
logTimeSameLineL(_L("Time is"),now);
//TheAlarmTest.Test().Printf(_L("Now2 TInt64 %d\n"),now.Int64());
//TheAlarmTest.Test().Printf(_L("Stop2 TInt64 %d\n"),aStopTime.Int64());
TRequestStatus status;
tickTimer.After(status,1000000);
User::WaitForRequest(status);
//TheAlarmTest.Test().Printf(_L("Now3 TInt64 %d\n"),now.Int64());
//TheAlarmTest.Test().Printf(_L("Stop3 TInt64 %d\n"),aStopTime.Int64());
now.HomeTime();
//TheAlarmTest.Test().Printf(_L("Now4 TInt64 %d\n"),now.Int64());
//TheAlarmTest.Test().Printf(_L("Stop4 TInt64 %d\n"),aStopTime.Int64());
logTimeL(_L("\nDebug now :"),now);
logTimeL(_L("Debug aStopTime:"),aStopTime);
TheAlarmTest.Test().Printf(_L("Now5 TInt64 %d\n"),now.Int64());
TheAlarmTest.Test().Printf(_L("Stop5 TInt64 %d\n"),aStopTime.Int64());
nowx=now;
stopx=aStopTime;
TheAlarmTest.Test().Printf(_L("\nnow<aStopTime %d\n"),now<aStopTime);
TheAlarmTest.Test().Printf(_L("now>aStopTime %d\n"),now>aStopTime);
TheAlarmTest.Test().Printf(_L("now<=aStopTime %d\n"),now<=aStopTime);
TheAlarmTest.Test().Printf(_L("now>=aStopTime %d\n"),now>=aStopTime);
TheAlarmTest.Test().Printf(_L("Nowx TInt64 %d\n"),nowx.Int64());
TheAlarmTest.Test().Printf(_L("Stopx TInt64 %d\n"),stopx.Int64());
TheAlarmTest.Test().Printf(_L("nowx<stopx %d\n"),nowx<stopx);
TheAlarmTest.Test().Printf(_L("End of Loop %d\n\n"),loop);
}
TheAlarmTest.Test().Printf(_L("leaving tickUntilTime\n"));
}
static void finishTestL(TTime& aExpireTime, const TBool aStartServerWithinMinute)
{
closeServers();
//
if (aStartServerWithinMinute)
aExpireTime += TTimeIntervalSeconds(5);
else
{
aExpireTime += TTimeIntervalSeconds(60);
JumpJustBeforeL(aExpireTime);
}
//
logTimeL(_L("Starting servers at"),aExpireTime);
tickUntilTimeL(aExpireTime);
//
TheAlarmTest.TestStartServers();
//
if (aStartServerWithinMinute)
{
TheAlarmTest.Test().Printf(_L("You SHOULD see an Alert!\n\r"));
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest(IsNotifying());
#endif
}
else
{
TheAlarmTest.Test().Printf(_L("You SHOULD NOT see an Alert!\n\r"));
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest(!IsNotifying());
#endif
}
//
TheAlarmTest.TestClearStoreL();
closeServers();
}
static void startTestUtcL(TASShdAlarm& aAlarm, TAlarmMessage& aMessage, TInt aTestNumber)
{
TheAlarmTest.Test().Console()->ClearScreen();
TheAlarmTest.Test().Printf(_L("Starting test [%2d/14]\n\r"), aTestNumber);
TheAlarmTest.TestStartServers();
//
TInt r=TheAlarmTest.Session().Connect();
TheAlarmTest(r==KErrNone, __LINE__);
TheAlarmTest.TestClearStoreL();
//
TTime expireTime;
expireTime.UniversalTime();
TDateTime expireDateTime=expireTime.DateTime();
logTimeL(_L("UTC Time now is"), expireTime);
//
expireTime.RoundUpToNextMinute();
if (expireDateTime.Second() > 40)
expireTime += TTimeIntervalMinutes(1);
//
expireTime.FormatL(aMessage, _L("expire time %H:%T:%S.%C:"));
// Note, JumpJustBefore takes a Floating Time and not a Universal Time.
JumpJustBeforeL(expireTime + User::UTCOffset());
aAlarm.SetUtcNextDueTime(expireTime);
}
static void startTestL(TTime& aExpireTime, TAlarmMessage& aMessage, TInt aTestNumber)
{
TheAlarmTest.Test().Console()->ClearScreen();
TheAlarmTest.Test().Printf(_L("Starting test [%2d/14]\n\r"), aTestNumber);
TheAlarmTest.TestStartServers();
//
TInt r=TheAlarmTest.Session().Connect();
TheAlarmTest(r==KErrNone, __LINE__);
TheAlarmTest.TestClearStoreL();
//
aExpireTime.HomeTime();
TDateTime expireDateTime=aExpireTime.DateTime();
logTimeL(_L("Time now is"), aExpireTime);
//
aExpireTime.RoundUpToNextMinute();
if (expireDateTime.Second() > 40)
aExpireTime += TTimeIntervalMinutes(1);
//
aExpireTime.FormatL(aMessage, _L("expire time %H:%T:%S.%C:"));
JumpJustBeforeL(aExpireTime);
}
static void clockAlarmTestL(TAlarmRepeatDefinition aRepeatType, TBool aStartServerWithinMinute, TInt aNumber)
// aRepeatType - standard repeat choice, allows testing of different style clock alarms
// aStartServerWithinMinute - whether to start the servers within the minute after expiry of the TheAlarmTest.Test() alarm
{
TASShdAlarm alarm;
startTestL(alarm.NextDueTime(), alarm.Message(), aNumber);
alarm.RepeatDefinition() = aRepeatType;
TheAlarmTest.Test().Printf(_L("Setting clock alarm, type:%d\n\r"), aRepeatType);
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone, __LINE__);
logTimeL(_L("Set clock alarm to expire at"),alarm.NextDueTime());
finishTestL(alarm.NextDueTime(),aStartServerWithinMinute);
}
static void agendaAlarmTestL(TBool aStartServerWithinMinute, TInt aNumber)
// aSessionType - standard session choice, allows testing of different style agenda alarms
// aStartServerWithinMinute - whether to start the servers within the minute after expiry of the TheAlarmTest.Test() alarm
{
TASShdAlarm alarm;
startTestL(alarm.NextDueTime(), alarm.Message(), aNumber);
TheAlarmTest.Test().Printf(_L("Setting agenda alarm\n\r"));
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone, __LINE__);
logTimeL(_L("Set agenda alarm to expire at"),alarm.NextDueTime());
finishTestL(alarm.NextDueTime(),aStartServerWithinMinute);
}
static void orphanAlarmTestL(TBool aStartServerWithinMinute, TInt aNumber)
// aSessionType - standard session choice, allows testing of different style orphan alarms
// aStartServerWithinMinute - whether to start the servers within the minute after expiry of the TheAlarmTest.Test() alarm
{
TASShdAlarm alarm;
alarm.Characteristics().Set(EAlarmCharacteristicsSessionSpecific);
startTestL(alarm.NextDueTime(), alarm.Message(), aNumber);
TheAlarmTest.Test().Printf(_L("Setting session alarm\n\r"));
// Set the session alarm
TRequestStatus status;
TheAlarmTest.Session().AlarmAddWithNotification(status, alarm);
// Now orphan it
TheAlarmTest.Test().Printf(_L("Session alarm set, now orphaning\n\r"));
TheAlarmTest.Session().SetAlarmCharacteristics(alarm.Id(), 0); // clear session specific flag
// Get the abort
User::WaitForRequest(status);
TheAlarmTest(status.Int() == KErrCancel, __LINE__);
logTimeL(_L("Created orphan alarm to expire at"),alarm.NextDueTime());
finishTestL(alarm.NextDueTime(),aStartServerWithinMinute);
}
void serverRestartWithNotifyingAlarmTestL()
{
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest.TestStartServers();
TheAlarmTest.TestClearStoreL();
TheAlarmTest(TheAlertSrv.Connect() == KErrNone);
// Add an alarm due immediately
TASShdAlarm alarm;
TTime time;
time.HomeTime();
alarm.NextDueTime() = time;
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone);
TAlarmId id = alarm.Id();
// Check that the alarm is notifying
TheAlarmTest(IsNotifying());
// Shut down and restart the server
closeServers();
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
// Check that the alarm is still notifying
TheAlarmTest.Test().Printf(_L("Check alarm still notifying after shutdown and restart\n"));
TheAlarmTest(IsNotifying());
// Snooze the alarm, and restart the server
TTime timeToSnoozeUntil = time + TTimeIntervalMinutes(1);
TheAlarmTest(TheAlarmTest.Session().__DbgSnoozeAlarm(id, timeToSnoozeUntil - User::UTCOffset()) == KErrNone);
TheAlarmTest(!IsNotifying());
closeServers();
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
// Check that the alarm is still snoozed
TheAlarmTest(!IsNotifying());
// Check the alarm notifies again after the snooze period
User::At(timeToSnoozeUntil);
TheAlarmTest.Test().Printf(_L("Check snoozed alarm notifies after shutdown and restart\n"));
TheAlarmTest(IsNotifying());
// Snooze the alarm again and shut down the server -
// Restart the server 3 months in the future
timeToSnoozeUntil.HomeTime();
timeToSnoozeUntil += TTimeIntervalMinutes(1);
TheAlarmTest(TheAlarmTest.Session().__DbgSnoozeAlarm(id, timeToSnoozeUntil - User::UTCOffset()) == KErrNone);
TheAlarmTest(!IsNotifying());
closeServers();
RPIMTestServer serv;
User::LeaveIfError(serv.Connect());
serv.SetHomeTime(timeToSnoozeUntil + TTimeIntervalMonths(3));
serv.Close();
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
// Check the alarm is notifying
TheAlarmTest.Test().Printf(_L("Check snoozed alarm notifies again after shutdown and restart\n"));
TheAlarmTest(IsNotifying());
TheAlertSrv.Close();
#else
TheAlarmTest.Test().Printf(_L("THIS TEST IS A DEBUG, WINS TEST ONLY\r\n"));
#endif
}
// UTC tests
static void clockUtcAlarmTestL(TAlarmRepeatDefinition aRepeatType, TBool aStartServerWithinMinute, TInt aNumber)
// aRepeatType - standard repeat choice, allows testing of different style clock alarms
// aStartServerWithinMinute - whether to start the servers within the minute after expiry of the TheAlarmTest.Test() alarm
{
TASShdAlarm alarm;
TBuf<KMaxAlarmMessageLength> message = alarm.Message();
startTestUtcL(alarm, message, aNumber);
alarm.RepeatDefinition()=aRepeatType;
TheAlarmTest.Test().Printf(_L("Setting clock alarm, type:%d\n\r"), aRepeatType);
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone, __LINE__);
TTime time = alarm.NextDueTime() + User::UTCOffset();
logTimeL(_L("Set clock alarm to expire at"), time);
finishTestL(time, aStartServerWithinMinute);
}
static void agendaUtcAlarmTestL(TBool aStartServerWithinMinute, TInt aNumber)
// aSessionType - standard session choice, allows testing of different style agenda alarms
// aStartServerWithinMinute - whether to start the servers within the minute after expiry of the TheAlarmTest.Test() alarm
{
TASShdAlarm alarm;
TBuf<KMaxAlarmMessageLength> message = alarm.Message();
startTestUtcL(alarm, message, aNumber);
TheAlarmTest.Test().Printf(_L("Setting agenda alarm\n\r"));
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone, __LINE__);
TTime time = alarm.NextDueTime() + User::UTCOffset();
logTimeL(_L("Set agenda alarm to expire at"), time);
finishTestL(time, aStartServerWithinMinute);
}
static void orphanUtcAlarmTestL(TBool aStartServerWithinMinute, TInt aNumber)
// aSessionType - standard session choice, allows testing of different style orphan alarms
// aStartServerWithinMinute - whether to start the servers within the minute after expiry of the TheAlarmTest.Test() alarm
{
TASShdAlarm alarm;
alarm.Characteristics().Set(EAlarmCharacteristicsSessionSpecific);
TBuf<KMaxAlarmMessageLength> message = alarm.Message();
startTestUtcL(alarm, message, aNumber);
TheAlarmTest.Test().Printf(_L("Setting session alarm\n\r"));
// Set the session alarm
TRequestStatus status;
TheAlarmTest.Session().AlarmAddWithNotification(status, alarm);
// Now orphan it
TheAlarmTest.Test().Printf(_L("Session alarm set, now orphaning\n\r"));
TheAlarmTest.Session().SetAlarmCharacteristics(alarm.Id(), 0); // clear session specific flag
// Get the abort
User::WaitForRequest(status);
TheAlarmTest(status.Int() == KErrCancel, __LINE__);
TTime time = alarm.NextDueTime() + User::UTCOffset();
logTimeL(_L("Created orphan alarm to expire at"), time);
finishTestL(time, aStartServerWithinMinute);
}
void serverRestartWithNotifyingUtcAlarmTestL()
{
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest.TestStartServers();
TheAlarmTest.TestClearStoreL();
TheAlarmTest(TheAlertSrv.Connect() == KErrNone);
// Add an alarm due immediately
TASShdAlarm alarm;
TTime time;
time.UniversalTime();
alarm.SetUtcNextDueTime(time);
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone);
TAlarmId id = alarm.Id();
// Check that the alarm is notifying
TheAlarmTest(IsNotifying());
// Shut down and restart the server
closeServers();
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
// Check that the alarm is still notifying
TheAlarmTest.Test().Printf(_L("Check alarm still notifying after shutdown and restart\n"));
TheAlarmTest(IsNotifying());
// Snooze the alarm, and restart the server
TTime timeToSnoozeUntil = time + TTimeIntervalMinutes(1);
TheAlarmTest(TheAlarmTest.Session().__DbgSnoozeAlarm(id, timeToSnoozeUntil) == KErrNone);
TheAlarmTest(!IsNotifying());
closeServers();
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
// Check that the alarm is still snoozed
TheAlarmTest(!IsNotifying());
// Check the alarm notifies again after the snooze period
// Note, User::At takes a Floating Time (wall-time) and not a Universal Time
User::At(timeToSnoozeUntil+User::UTCOffset());
TheAlarmTest.Test().Printf(_L("Check snoozed alarm notifies after shutdown and restart\n"));
TheAlarmTest(IsNotifying());
// Snooze the alarm again and shut down the server -
// Restart the server 3 months in the future
timeToSnoozeUntil.UniversalTime();
timeToSnoozeUntil += TTimeIntervalMinutes(1);
TheAlarmTest(TheAlarmTest.Session().__DbgSnoozeAlarm(id, timeToSnoozeUntil) == KErrNone);
TheAlarmTest(!IsNotifying());
closeServers();
User::SetUTCTime(timeToSnoozeUntil + TTimeIntervalMonths(3));
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
// Check the alarm is notifying
TheAlarmTest.Test().Printf(_L("Check snoozed alarm notifies again after shutdown and restart\n"));
TheAlarmTest(IsNotifying());
TheAlertSrv.Close();
#else
TheAlarmTest.Test().Printf(_L("THIS TEST IS A DEBUG, WINS TEST ONLY\r\n"));
#endif
}
void serverRestartWithNotifiedUtcAlarmTestL()
{
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest.Next(_L("Acknowledge repeating alarm after restart in less then 1 minute) does not notify"));
TheAlarmTest.TestStartServers();
TheAlarmTest.TestClearStoreL();
TheAlarmTest(TheAlertSrv.Connect() == KErrNone);
// Add an alarm due in the future
TheAlarmTest.Test().Printf(_L("Add a repeating alarm to expire in the future\n"));
TASShdAlarm alarm;
alarm.RepeatDefinition() = EAlarmRepeatDefintionRepeatDaily;
TTime alarmTime;
alarmTime.UniversalTime();
alarmTime.RoundUpToNextMinute();
alarmTime += TTimeIntervalMinutes(1);
alarm.SetUtcNextDueTime(alarmTime);
TheAlarmTest(TheAlarmTest.Session().AlarmAdd(alarm) == KErrNone);
TAlarmId id = alarm.Id();
// wait until that time has occurred before checking
TheAlarmTest.Test().Printf(_L("Wait for alarm time to expire\n"));
User::At(alarmTime + User::UTCOffset());
TheAlarmTest.Test().Printf(_L("Check that alarm is notifying\n"));
TheAlarmTest(IsNotifying());
TheAlarmTest.Test().Printf(_L("Acknowledge alarm\n"));
TheAlertSrv.AcknowledgeAlarm();
TheAlarmTest.Test().Printf(_L("Check that alarm is cleared\n"));
TheAlarmTest(!IsNotifying());
TheAlarmTest.Test().Printf(_L("Shutdown servers\n"));
// Shut down and restart the server
TheAlertSrv.Close();
closeServers();
TheAlarmTest.TestStartServers();
TheAlarmTest(TheAlarmTest.Session().Connect() == KErrNone);
TheAlarmTest(TheAlertSrv.Connect() == KErrNone);
TheAlarmTest.Test().Printf(_L("Servers restarted\n"));
// Make sure that server was restarted in the same minute as the alarm
TTime currentTime;
currentTime.UniversalTime();
TTimeIntervalHours hours;
TTimeIntervalMinutes minutes;
TheAlarmTest.Test().Printf(_L("Check servers restarted in 1 minute\n"));
TheAlarmTest(currentTime.HoursFrom(alarmTime, hours) == KErrNone);
TheAlarmTest(currentTime.MinutesFrom(alarmTime, minutes) == KErrNone);
TheAlarmTest((hours == TTimeIntervalHours(0)) && (minutes == TTimeIntervalMinutes(0)));
// Check that the alarm is not notifying
TheAlarmTest.Test().Printf(_L("Check alarm still not notifying after shutdown and restart\n"));
TheAlarmTest(!IsNotifying());
closeServers();
TheAlertSrv.Close();
#else
TheAlarmTest.Test().Printf(_L("THIS TEST IS A DEBUG, WINS TEST ONLY\r\n"));
#endif
}
static void doTestsL()
{
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest(TheAlertSrv.Connect() == KErrNone);
#endif
#if defined(_DEBUG)
// The alarm should only be allowed to display notification in WINS builds.
#if defined(__WINSCW__)
TheAlarmTest.Session().__DbgPreventUserNotify(EFalse);
#else
TheAlarmTest.Session().__DbgPreventUserNotify(ETrue);
#endif
#endif
// Set all days to workdays.
TLocale previous;
locale.SetWorkDays(127);
locale.Set();
orphanAlarmTestL(ETrue, 1);
orphanAlarmTestL(EFalse, 2);
agendaAlarmTestL(ETrue, 3);
agendaAlarmTestL(EFalse, 4);
clockAlarmTestL(EAlarmRepeatDefintionRepeatWorkday,ETrue, 5);
clockAlarmTestL(EAlarmRepeatDefintionRepeatWorkday,EFalse, 6);
clockAlarmTestL(EAlarmRepeatDefintionRepeatWeekly,ETrue, 7);
clockAlarmTestL(EAlarmRepeatDefintionRepeatWeekly,EFalse, 8);
clockAlarmTestL(EAlarmRepeatDefintionRepeatDaily,ETrue, 9);
clockAlarmTestL(EAlarmRepeatDefintionRepeatDaily,EFalse, 10);
clockAlarmTestL(EAlarmRepeatDefintionRepeatNext24Hours,ETrue, 11);
clockAlarmTestL(EAlarmRepeatDefintionRepeatNext24Hours,EFalse, 12);
clockAlarmTestL(EAlarmRepeatDefintionRepeatOnce,ETrue, 13);
clockAlarmTestL(EAlarmRepeatDefintionRepeatOnce,EFalse, 14);
#if defined(_DEBUG) && defined(__WINS__)
TheAlertSrv.Close();
#endif
serverRestartWithNotifyingAlarmTestL();
#if defined(_DEBUG) && defined(__WINS__)
TheAlarmTest(TheAlertSrv.Connect() == KErrNone);
#endif
orphanUtcAlarmTestL(ETrue, 1);
orphanUtcAlarmTestL(EFalse, 2);
agendaUtcAlarmTestL(ETrue, 3);
agendaUtcAlarmTestL(EFalse, 4);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatWorkday,ETrue, 5);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatWorkday,EFalse, 6);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatWeekly,ETrue, 7);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatWeekly,EFalse, 8);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatDaily,ETrue, 9);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatDaily,EFalse, 10);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatNext24Hours,ETrue, 11);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatNext24Hours,EFalse, 12);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatOnce,ETrue, 13);
clockUtcAlarmTestL(EAlarmRepeatDefintionRepeatOnce,EFalse, 14);
#if defined(_DEBUG) && defined(__WINS__)
TheAlertSrv.Close();
#endif
serverRestartWithNotifyingUtcAlarmTestL();
serverRestartWithNotifiedUtcAlarmTestL();
// Reset the previous locale.
previous.Set();
}
/**
@SYMTestCaseID PIM-TSTARTUPEXPIRE-0001
*/
GLDEF_C TInt E32Main()
{
__UHEAP_MARK;
TInt ret = KErrNone;
CTrapCleanup* cleanup = CTrapCleanup::New();
if (!cleanup)
return KErrNoMemory;
TheAlarmTest.Title();
TheAlarmTest.Start(_L("@SYMTestCaseID PIM-TSTARTUPEXPIRE-0001"));
TheAlarmTest.TestStartServers();
//
TRAPD(error, doTestsL());
TheAlarmTest(error == KErrNone, __LINE__);
//
TRAP(ret,TheAlarmTest.EndL());
TheAlarmTest.Test().Close();
ASTstAlarmTest::Close();
delete cleanup;
__UHEAP_MARKEND;
return ret;
}