From b62785feecd19675a56f990bfafc80c20d594020 Mon Sep 17 00:00:00 2001 From: Richard Huang Date: Fri, 7 Jul 2023 14:42:37 +0100 Subject: [PATCH] Add test case to eusure Core update status reflects the framecallback's rendering request Change-Id: I9403f784532c882431941f31365daf7c907479c8 --- .../src/dali/utc-Dali-FrameCallbackInterface.cpp | 38 +++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/automated-tests/src/dali/utc-Dali-FrameCallbackInterface.cpp b/automated-tests/src/dali/utc-Dali-FrameCallbackInterface.cpp index 656f49e..620d133 100644 --- a/automated-tests/src/dali/utc-Dali-FrameCallbackInterface.cpp +++ b/automated-tests/src/dali/utc-Dali-FrameCallbackInterface.cpp @@ -49,7 +49,7 @@ public: virtual bool Update(Dali::UpdateProxy& updateProxy, float elapsedSeconds) { mCalled = true; - return false; + return true; } virtual void Reset() @@ -1034,6 +1034,42 @@ int UtcDaliFrameCallbackDoubleAddition(void) END_TEST; } +int UtcDaliFrameCallbackUpdateStatus(void) +{ + // Ensure the update status is consistent with whether the framecallback requests to keep rendering or not + + TestApplication application; + Stage stage = Stage::GetCurrent(); + + Actor actor = Actor::New(); + stage.Add(actor); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(application.GetUpdateStatus(), 0, TEST_LOCATION); + + // This framecallback doesn't request to keep rendering + FrameCallbackMultipleActors frameCallbackMultipleActors; + DevelStage::AddFrameCallback(stage, frameCallbackMultipleActors, actor); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(application.GetUpdateStatus(), 0, TEST_LOCATION); + + // This framecallback requests to keep rendering + FrameCallbackBasic frameCallbackBasic; + DevelStage::AddFrameCallback(stage, frameCallbackBasic, actor); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(application.GetUpdateStatus(), Integration::KeepUpdating::STAGE_KEEP_RENDERING, TEST_LOCATION); + + END_TEST; +} + int UtcDaliFrameCallbackGetExtension(void) { FrameCallbackBasic frameCallback; -- 2.7.4