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=864e41e9522373df5bc821015f3c375053aafee6;hb=6154e1e69b7cd3afb49213c4f6f5730dd3df074e;hpb=c803046c24398c2037a83d105a932976dede943f 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 864e41e..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,7 +18,7 @@ #include "toolkit-timer.h" // INTERNAL INCLUDES -#include +#include #include #include @@ -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(); @@ -63,8 +70,8 @@ private: // Implementation private: // Data - Dali::Timer::TimerSignalType 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() @@ -130,7 +142,18 @@ bool Timer::Tick() Dali::Timer::TimerSignalType& Timer::TickSignal() { - return mTickSignal; + return gTickSignal; +} + +// Mock setup functions: + +void Timer::MockEmitSignal() +{ + 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() @@ -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; +} + +}