X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-timer.cpp;h=f9c89dad59fc6e6603c60a6928e21675efd9e47e;hp=4ab6a57090c6633ee3311701025eb9984025b069;hb=6154e1e69b7cd3afb49213c4f6f5730dd3df074e;hpb=998d982768c7f211d948cfd7921ec27ff739ce49 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp index 4ab6a57..f9c89da 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,9 +18,9 @@ #include "toolkit-timer.h" // INTERNAL INCLUDES -#include +#include #include -#include +#include namespace Dali { @@ -34,12 +34,19 @@ class Timer; typedef IntrusivePtr TimerPtr; +Dali::Timer::TimerSignalType gTickSignal; +int gTimerCount = 0; +bool gKeepTimersRunning = false; + /** * Implementation of the timer */ class Timer : public BaseObject { public: + void MockEmitSignal(); + +public: static TimerPtr New( unsigned int milliSec ); Timer( unsigned int milliSec ); virtual ~Timer(); @@ -53,7 +60,7 @@ public: public: // Signals - Dali::Timer::TimerSignalV2& TickSignal(); + Dali::Timer::TimerSignalType& TickSignal(); private: // Implementation @@ -63,8 +70,8 @@ private: // Implementation private: // Data - Dali::Timer::TimerSignalV2 mTickSignal; unsigned int mInterval; + bool mRunning; }; inline Timer& GetImplementation(Dali::Timer& timer) @@ -87,25 +94,30 @@ inline const Timer& GetImplementation(const Dali::Timer& timer) TimerPtr Timer::New( unsigned int milliSec ) { - TimerPtr timerImpl = new Timer(10); + TimerPtr timerImpl = new Timer( milliSec ); return timerImpl; } Timer::Timer( unsigned int milliSec ) -: mInterval( milliSec ) +: mInterval( milliSec ), + mRunning( false ) { + ++gTimerCount; } Timer::~Timer() { + --gTimerCount; } void Timer::Start() { + mRunning = true; } void Timer::Stop() { + mRunning = false; } void Timer::SetInterval( unsigned int interval ) @@ -120,7 +132,7 @@ unsigned int Timer::GetInterval() const bool Timer::IsRunning() const { - return true; + return mRunning; } bool Timer::Tick() @@ -128,9 +140,20 @@ bool Timer::Tick() return false; } -Dali::Timer::TimerSignalV2& Timer::TickSignal() +Dali::Timer::TimerSignalType& Timer::TickSignal() +{ + return gTickSignal; +} + +// Mock setup functions: + +void Timer::MockEmitSignal() { - return mTickSignal; + if( gTimerCount > 1 ) + { + // Only emit the signal if we have more than just the timer created in the test function + gTickSignal.Emit(); + } } } // namespace Adaptor @@ -174,6 +197,7 @@ Timer::~Timer() void Timer::Start() { Internal::Adaptor::GetImplementation( *this ).Start(); + Dali::Internal::Adaptor::gKeepTimersRunning = true; } void Timer::Stop() @@ -196,7 +220,7 @@ bool Timer::IsRunning() const return true; } -Timer::TimerSignalV2& Timer::TickSignal() +Timer::TimerSignalType& Timer::TickSignal() { return Internal::Adaptor::GetImplementation( *this ).TickSignal(); } @@ -206,5 +230,33 @@ Timer::Timer(Internal::Adaptor::Timer* timer) { } +// Mock setup functions: + +void Timer::MockEmitSignal() +{ + Internal::Adaptor::GetImplementation( *this ).MockEmitSignal(); +} + } // namespace Dali + +namespace Test +{ + +int GetTimerCount() +{ + return Dali::Internal::Adaptor::gTimerCount; +} + +void EmitGlobalTimerSignal() +{ + // @todo Multiplex timers properly. + Dali::Internal::Adaptor::gKeepTimersRunning = Dali::Internal::Adaptor::gTickSignal.Emit(); +} + +bool AreTimersRunning() +{ + return Dali::Internal::Adaptor::gKeepTimersRunning; +} + +}