X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-Transition.cpp;h=784af73525169e5f1a86819f6f930278c0208b9b;hb=e483020277e28cd5f93a93cf50119edaac49a9e9;hp=ef1eb2c2480839b5ec04f60e87ca436a85f818ae;hpb=cab6cfc0b656124cf8b51c7e484b9e2682e6bd1f;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Transition.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Transition.cpp old mode 100755 new mode 100644 index ef1eb2c..784af73 --- a/automated-tests/src/dali-toolkit/utc-Dali-Transition.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Transition.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -15,21 +15,23 @@ * */ -#include -#include #include #include -#include #include -#include +#include +#include #include +#include #include +#include +#include // for Renderer Property Index. +#include +#include using namespace Dali; using namespace Dali::Toolkit; namespace { - const char* TEST_IMAGE_FILE_NAME = TEST_RESOURCE_DIR "/gallery-small-1.jpg"; } @@ -210,11 +212,11 @@ int UtcDaliTransitionBetweenControlPair(void) Vector3 destinationSize(120, 120, 0); Vector3 destinationScale(2, 1, 0); Vector4 destinationColor(1.0f, 0.5f, 1.0f, 0.8f); - float destinationOpacity(0.8f); - float destinationRadius(50.f); - float destinationBorderlineWidth(80.0f); + float destinationOpacity(0.8f); + float destinationRadius(50.f); + float destinationBorderlineWidth(80.0f); Vector4 destinationBorderlineColor(0.5f, 1.0f, 0.5f, 0.3f); - float destinationBorderlineOffset(-1.0f); + float destinationBorderlineOffset(-1.0f); Vector4 destinationRadiusV4 = Vector4(destinationRadius, destinationRadius, destinationRadius, destinationRadius); Control control1 = Control::New(); @@ -253,7 +255,7 @@ int UtcDaliTransitionBetweenControlPair(void) DALI_TEST_EQUALS(destinationPosition, control2.GetProperty(Actor::Property::POSITION), TEST_LOCATION); Property::Map backgroundMap = control2.GetProperty(Toolkit::Control::Property::BACKGROUND); - Vector4 cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); + Vector4 cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); DALI_TEST_EQUALS(destinationRadiusV4, cornerRadius, TEST_LOCATION); float borderlineWidth = backgroundMap.Find(Toolkit::DevelVisual::Property::BORDERLINE_WIDTH)->Get(); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); @@ -268,12 +270,12 @@ int UtcDaliTransitionBetweenControlPair(void) application.SendNotification(); application.Render(20); - Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); + Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); TransitionSet transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -287,17 +289,13 @@ int UtcDaliTransitionBetweenControlPair(void) DALI_TEST_NOT_EQUALS(destinationPosition, control2.GetCurrentProperty(Actor::Property::POSITION), 0.00001f, TEST_LOCATION); DALI_TEST_EQUALS(1, control2.GetRendererCount(), TEST_LOCATION); Dali::Renderer renderer = control2.GetRendererAt(0); - Property::Index index = renderer.GetPropertyIndex(DevelVisual::Property::CORNER_RADIUS); - cornerRadius = renderer.GetCurrentProperty(index); + cornerRadius = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::CORNER_RADIUS); DALI_TEST_NOT_EQUALS(destinationRadiusV4, cornerRadius, 0.00001f, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_WIDTH); - borderlineWidth = renderer.GetCurrentProperty(index); + borderlineWidth = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_WIDTH); DALI_TEST_NOT_EQUALS(destinationBorderlineWidth, borderlineWidth, 0.00001f, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_COLOR); - borderlineColor = renderer.GetCurrentProperty(index); + borderlineColor = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_COLOR); DALI_TEST_NOT_EQUALS(destinationBorderlineColor, borderlineColor, 0.00001f, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_OFFSET); - borderlineOffset = renderer.GetCurrentProperty(index); + borderlineOffset = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_OFFSET); DALI_TEST_NOT_EQUALS(destinationBorderlineOffset, borderlineOffset, 0.00001f, TEST_LOCATION); application.SendNotification(); @@ -316,18 +314,14 @@ int UtcDaliTransitionBetweenControlPair(void) DALI_TEST_EQUALS(destinationColor, control2.GetCurrentProperty(Actor::Property::COLOR), TEST_LOCATION); DALI_TEST_EQUALS(destinationOpacity, control2.GetCurrentProperty(Actor::Property::OPACITY), TEST_LOCATION); DALI_TEST_EQUALS(1, control2.GetRendererCount(), TEST_LOCATION); - renderer = control2.GetRendererAt(0); - index = renderer.GetPropertyIndex(DevelVisual::Property::CORNER_RADIUS); - cornerRadius = renderer.GetCurrentProperty(index); + renderer = control2.GetRendererAt(0); + cornerRadius = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::CORNER_RADIUS); DALI_TEST_EQUALS(destinationRadiusV4, cornerRadius, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_WIDTH); - borderlineWidth = renderer.GetCurrentProperty(index); + borderlineWidth = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_WIDTH); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_COLOR); - borderlineColor = renderer.GetCurrentProperty(index); + borderlineColor = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_COLOR); DALI_TEST_EQUALS(destinationBorderlineColor, borderlineColor, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_OFFSET); - borderlineOffset = renderer.GetCurrentProperty(index); + borderlineOffset = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_OFFSET); DALI_TEST_EQUALS(destinationBorderlineOffset, borderlineOffset, TEST_LOCATION); END_TEST; @@ -342,22 +336,22 @@ int UtcDaliTransitionBetweenControlPair2(void) Vector3 sourceSize(150, 150, 0); Vector3 sourceScale(1, 2, 0); Vector4 sourceColor(1.0f, 1.0f, 1.0f, 0.5f); - float sourceOpacity(0.5f); - float sourceRadius(30.f); - float sourceBorderlineWidth(60.0f); + float sourceOpacity(0.5f); + float sourceRadius(30.f); + float sourceBorderlineWidth(60.0f); Vector4 sourceBorderlineColor(1.0f, 0.0f, 0.0f, 1.0f); - float sourceBorderlineOffset(1.f); + float sourceBorderlineOffset(1.f); Vector4 sourceRadiusV4 = Vector4(sourceRadius, sourceRadius, sourceRadius, sourceRadius); Vector3 destinationPosition(50, 50, 0); Vector3 destinationSize(120, 120, 0); Vector3 destinationScale(2, 1, 0); Vector4 destinationColor(1.0f, 0.5f, 1.0f, 0.8f); - float destinationOpacity(0.8f); - float destinationRadius(50.f); - float destinationBorderlineWidth(80.0f); + float destinationOpacity(0.8f); + float destinationRadius(50.f); + float destinationBorderlineWidth(80.0f); Vector4 destinationBorderlineColor(0.5f, 1.0f, 0.5f, 0.3f); - float destinationBorderlineOffset(-1.0f); + float destinationBorderlineOffset(-1.0f); Vector4 destinationRadiusV4 = Vector4(destinationRadius, destinationRadius, destinationRadius, destinationRadius); Control control1 = Control::New(); @@ -396,7 +390,7 @@ int UtcDaliTransitionBetweenControlPair2(void) DALI_TEST_EQUALS(destinationPosition, control2.GetProperty(Actor::Property::POSITION), TEST_LOCATION); Property::Map backgroundMap = control2.GetProperty(Toolkit::Control::Property::BACKGROUND); - Vector4 cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); + Vector4 cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); DALI_TEST_EQUALS(destinationRadiusV4, cornerRadius, TEST_LOCATION); float borderlineWidth = backgroundMap.Find(Toolkit::DevelVisual::Property::BORDERLINE_WIDTH)->Get(); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); @@ -411,12 +405,12 @@ int UtcDaliTransitionBetweenControlPair2(void) application.SendNotification(); application.Render(20); - Transition transition = Transition::New(control1, control2, false, TimePeriod(0.5f)); + Transition transition = Transition::New(control1, control2, false, TimePeriod(0.5f)); TransitionSet transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -431,20 +425,16 @@ int UtcDaliTransitionBetweenControlPair2(void) DALI_TEST_EQUALS(1, control1.GetRendererCount(), TEST_LOCATION); Dali::Renderer renderer = control1.GetRendererAt(0); - Property::Index index = renderer.GetPropertyIndex(DevelVisual::Property::CORNER_RADIUS); - cornerRadius = renderer.GetCurrentProperty(index); + cornerRadius = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::CORNER_RADIUS); DALI_TEST_NOT_EQUALS(destinationRadiusV4, cornerRadius, 0.00001f, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_WIDTH); - borderlineWidth = renderer.GetCurrentProperty(index); + borderlineWidth = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_WIDTH); DALI_TEST_NOT_EQUALS(destinationBorderlineWidth, borderlineWidth, 0.00001f, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_COLOR); - borderlineColor = renderer.GetCurrentProperty(index); + borderlineColor = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_COLOR); DALI_TEST_NOT_EQUALS(destinationBorderlineColor, borderlineColor, 0.00001f, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_OFFSET); - borderlineOffset = renderer.GetCurrentProperty(index); + borderlineOffset = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_OFFSET); DALI_TEST_NOT_EQUALS(destinationBorderlineOffset, borderlineOffset, 0.00001f, TEST_LOCATION); application.SendNotification(); @@ -463,21 +453,17 @@ int UtcDaliTransitionBetweenControlPair2(void) DALI_TEST_EQUALS(destinationOpacity, control1.GetCurrentProperty(Actor::Property::OPACITY), TEST_LOCATION); DALI_TEST_EQUALS(1, control1.GetRendererCount(), TEST_LOCATION); - renderer = control1.GetRendererAt(0); - index = renderer.GetPropertyIndex(DevelVisual::Property::CORNER_RADIUS); - cornerRadius = renderer.GetCurrentProperty(index); + renderer = control1.GetRendererAt(0); + cornerRadius = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::CORNER_RADIUS); DALI_TEST_EQUALS(destinationRadiusV4, cornerRadius, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_WIDTH); - borderlineWidth = renderer.GetCurrentProperty(index); + borderlineWidth = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_WIDTH); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_COLOR); - borderlineColor = renderer.GetCurrentProperty(index); + borderlineColor = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_COLOR); DALI_TEST_EQUALS(destinationBorderlineColor, borderlineColor, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_OFFSET); - borderlineOffset = renderer.GetCurrentProperty(index); + borderlineOffset = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_OFFSET); DALI_TEST_EQUALS(destinationBorderlineOffset, borderlineOffset, TEST_LOCATION); // every actor properties of control1 are returned to the source properties. @@ -492,21 +478,17 @@ int UtcDaliTransitionBetweenControlPair2(void) // after next update, renderer properties are returned to the source properties. DALI_TEST_EQUALS(1, control1.GetRendererCount(), TEST_LOCATION); - renderer = control1.GetRendererAt(0); - index = renderer.GetPropertyIndex(DevelVisual::Property::CORNER_RADIUS); - cornerRadius = renderer.GetCurrentProperty(index); + renderer = control1.GetRendererAt(0); + cornerRadius = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::CORNER_RADIUS); DALI_TEST_EQUALS(sourceRadiusV4, cornerRadius, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_WIDTH); - borderlineWidth = renderer.GetCurrentProperty(index); + borderlineWidth = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_WIDTH); DALI_TEST_EQUALS(sourceBorderlineWidth, borderlineWidth, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_COLOR); - borderlineColor = renderer.GetCurrentProperty(index); + borderlineColor = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_COLOR); DALI_TEST_EQUALS(sourceBorderlineColor, borderlineColor, TEST_LOCATION); - index = renderer.GetPropertyIndex(DevelVisual::Property::BORDERLINE_OFFSET); - borderlineOffset = renderer.GetCurrentProperty(index); + borderlineOffset = renderer.GetCurrentProperty(DecoratedVisualRenderer::Property::BORDERLINE_OFFSET); DALI_TEST_EQUALS(sourceBorderlineOffset, borderlineOffset, TEST_LOCATION); END_TEST; @@ -541,7 +523,7 @@ int UtcDaliTransitionBetweenControlPairWithoutEmptySourceBackground(void) control2.SetProperty(Toolkit::Control::Property::BACKGROUND, controlProperty2); Property::Map backgroundMap = control2.GetProperty(Toolkit::Control::Property::BACKGROUND); - Vector4 cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); + Vector4 cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); DALI_TEST_EQUALS(destinationRadius, cornerRadius, TEST_LOCATION); float borderlineWidth = backgroundMap.Find(Toolkit::DevelVisual::Property::BORDERLINE_WIDTH)->Get(); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); @@ -556,12 +538,12 @@ int UtcDaliTransitionBetweenControlPairWithoutEmptySourceBackground(void) application.SendNotification(); application.Render(20); - Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); + Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); TransitionSet transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -573,7 +555,7 @@ int UtcDaliTransitionBetweenControlPairWithoutEmptySourceBackground(void) finishCheck.CheckSignalNotReceived(); backgroundMap = control2.GetProperty(Toolkit::Control::Property::BACKGROUND); - cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); + cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); DALI_TEST_EQUALS(destinationRadius, cornerRadius, TEST_LOCATION); borderlineWidth = backgroundMap.Find(Toolkit::DevelVisual::Property::BORDERLINE_WIDTH)->Get(); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); @@ -593,7 +575,7 @@ int UtcDaliTransitionBetweenControlPairWithoutEmptySourceBackground(void) application.Render(20); backgroundMap = control2.GetProperty(Toolkit::Control::Property::BACKGROUND); - cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); + cornerRadius = backgroundMap.Find(Toolkit::DevelVisual::Property::CORNER_RADIUS)->Get(); DALI_TEST_EQUALS(destinationRadius, cornerRadius, TEST_LOCATION); borderlineWidth = backgroundMap.Find(Toolkit::DevelVisual::Property::BORDERLINE_WIDTH)->Get(); DALI_TEST_EQUALS(destinationBorderlineWidth, borderlineWidth, TEST_LOCATION); @@ -650,15 +632,15 @@ int UtcDaliTransitionBetweenImageViewPair(void) application.SendNotification(); application.Render(20); - Vector3 startWorldPosition = control1.GetProperty(Actor::Property::WORLD_POSITION); + Vector3 startWorldPosition = control1.GetProperty(Actor::Property::WORLD_POSITION); Vector3 finishWorldPosition = control2.GetProperty(Actor::Property::WORLD_POSITION); - Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); + Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); TransitionSet transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -670,7 +652,7 @@ int UtcDaliTransitionBetweenImageViewPair(void) finishCheck.CheckSignalNotReceived(); // control2 moved about 80% - Vector3 currentPosition = control2.GetCurrentProperty(Actor::Property::POSITION); + Vector3 currentPosition = control2.GetCurrentProperty(Actor::Property::POSITION); Vector3 expectedPosition_0_7 = startWorldPosition + (finishWorldPosition - startWorldPosition) * 0.7; Vector3 expectedPosition_0_9 = startWorldPosition + (finishWorldPosition - startWorldPosition) * 0.9; DALI_TEST_CHECK(currentPosition.x <= expectedPosition_0_7.x && currentPosition.x >= expectedPosition_0_9.x); @@ -738,15 +720,15 @@ int UtcDaliTransitionBetweenImageViewPairWithDelay(void) application.SendNotification(); application.Render(20); - Vector3 startWorldPosition = control1.GetProperty(Actor::Property::WORLD_POSITION); + Vector3 startWorldPosition = control1.GetProperty(Actor::Property::WORLD_POSITION); Vector3 finishWorldPosition = control2.GetProperty(Actor::Property::WORLD_POSITION); - Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f, 0.5f)); + Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f, 0.5f)); TransitionSet transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -767,7 +749,7 @@ int UtcDaliTransitionBetweenImageViewPairWithDelay(void) finishCheck.CheckSignalNotReceived(); // control2 moved about 60% (800ms) - Vector3 currentPosition = control2.GetCurrentProperty(Actor::Property::POSITION); + Vector3 currentPosition = control2.GetCurrentProperty(Actor::Property::POSITION); Vector3 expectedPosition_0_5 = startWorldPosition + (finishWorldPosition - startWorldPosition) * 0.5; Vector3 expectedPosition_0_7 = startWorldPosition + (finishWorldPosition - startWorldPosition) * 0.7; DALI_TEST_CHECK(currentPosition.x <= expectedPosition_0_5.x && currentPosition.x >= expectedPosition_0_7.x); @@ -833,12 +815,12 @@ int UtcDaliTransitionBetweenControlPairWithTree(void) application.SendNotification(); application.Render(20); - Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); + Transition transition = Transition::New(control1, control2, true, TimePeriod(0.5f)); TransitionSet transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -906,7 +888,7 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithChild(void) transitionSet.AddTransition(transition); transitionSet.Play(); - bool signalReceived(false); + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); transitionSet.FinishedSignal().Connect(&application, finishCheck); @@ -970,9 +952,9 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutPositionInheritance(void) application.SendNotification(); application.Render(20); - Transition transition; - TransitionSet transitionSet; - bool signalReceived(false); + Transition transition; + TransitionSet transitionSet; + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); // not inherit Position. @@ -980,7 +962,7 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutPositionInheritance(void) control3.SetProperty(Actor::Property::INHERIT_ORIENTATION, true); control3.SetProperty(Actor::Property::INHERIT_SCALE, true); - transition = Transition::New(control1, control3, true, TimePeriod(0.5f)); + transition = Transition::New(control1, control3, true, TimePeriod(0.5f)); transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); @@ -1013,8 +995,8 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutOrientationInheritance(voi ToolkitTestApplication application; tet_infoline(" UtcDaliTransitionBetweenControlPairWithTreeWithoutOrientationInheritance"); - Radian sourceAngle(1.0f); - Radian destinationAngle(2.0f); + Radian sourceAngle(1.0f); + Radian destinationAngle(2.0f); Quaternion sourceOrientation(sourceAngle, Vector3::XAXIS); Quaternion destinationOrientation(destinationAngle, Vector3::XAXIS); @@ -1054,7 +1036,7 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutOrientationInheritance(voi control3.SetProperty(Actor::Property::INHERIT_SCALE, true); Vector3 currentAxis; - Radian currentRadian; + Radian currentRadian; application.GetScene().Add(control1); application.GetScene().Add(control2); @@ -1066,12 +1048,12 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutOrientationInheritance(voi Quaternion currentOrientation = control3.GetProperty(Actor::Property::WORLD_ORIENTATION); DALI_TEST_EQUALS(currentOrientation, destinationOrientation, 0.0001f, TEST_LOCATION); - Transition transition; - TransitionSet transitionSet; - bool signalReceived(false); + Transition transition; + TransitionSet transitionSet; + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); - transition = Transition::New(control1, control3, true, TimePeriod(0.5f)); + transition = Transition::New(control1, control3, true, TimePeriod(0.5f)); transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); @@ -1152,12 +1134,12 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutScaleInheritance(void) Vector3 currentScale = control3.GetProperty(Actor::Property::WORLD_SCALE); DALI_TEST_EQUALS(currentScale, destinationScale, 0.0001f, TEST_LOCATION); - Transition transition; - TransitionSet transitionSet; - bool signalReceived(false); + Transition transition; + TransitionSet transitionSet; + bool signalReceived(false); TransitionFinishCheck finishCheck(signalReceived); - transition = Transition::New(control1, control3, true, TimePeriod(0.5f)); + transition = Transition::New(control1, control3, true, TimePeriod(0.5f)); transitionSet = TransitionSet::New(); transitionSet.AddTransition(transition); transitionSet.Play(); @@ -1186,3 +1168,81 @@ int UtcDaliTransitionBetweenControlPairWithTreeWithoutScaleInheritance(void) END_TEST; } + +int UtcDaliMultipleTransitionAppearing(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliMultipleTransitionAppearing"); + + Control control = Control::New(); + control.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + control.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + control.SetProperty(Actor::Property::POSITION, Vector3(100, 200, 0)); + control.SetProperty(Actor::Property::SIZE, Vector3(150, 150, 0)); + Property::Map controlProperty; + controlProperty.Insert(Toolkit::Visual::Property::TYPE, Toolkit::Visual::COLOR); + controlProperty.Insert(Toolkit::ColorVisual::Property::MIX_COLOR, Vector4(1.0f, 0.0f, 0.0f, 1.0f)); + control.SetProperty(Toolkit::Control::Property::BACKGROUND, controlProperty); + + application.GetScene().Add(control); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_EQUALS(1.0f, control.GetCurrentProperty(Actor::Property::OPACITY), TEST_LOCATION); + + TransitionSet transitionSet = TransitionSet::New(); + FadeTransition fade = FadeTransition::New(control, 0.5, TimePeriod(1.0f, 1.0f)); + fade.SetAppearingTransition(true); // set fade in + transitionSet.AddTransition(fade); + SlideTransition slide = SlideTransition::New(control, Dali::Toolkit::SlideTransitionDirection::BOTTOM, TimePeriod(0.5f, 1.0f)); + slide.SetAppearingTransition(true); // set slide + transitionSet.AddTransition(slide); + transitionSet.Play(); + + bool signalReceived(false); + TransitionFinishCheck finishCheck(signalReceived); + transitionSet.FinishedSignal().Connect(&application, finishCheck); + + application.SendNotification(); + application.Render(300); + + float currentOpacity = control.GetCurrentProperty(Actor::Property::OPACITY); + DALI_TEST_CHECK(currentOpacity == 0.0f); + + application.SendNotification(); + application.Render(400); + + currentOpacity = control.GetCurrentProperty(Actor::Property::OPACITY); + DALI_TEST_CHECK(currentOpacity == 0.5f); + + application.SendNotification(); + application.Render(500); + + currentOpacity = control.GetCurrentProperty(Actor::Property::OPACITY); + DALI_TEST_CHECK(currentOpacity > 0.5f && currentOpacity < 1.0f); + + application.SendNotification(); + application.Render(500); + + currentOpacity = control.GetCurrentProperty(Actor::Property::OPACITY); + DALI_TEST_CHECK(currentOpacity > 0.5f && currentOpacity < 1.0f); + + // We didn't expect the animation to finish yet + application.SendNotification(); + finishCheck.CheckSignalNotReceived(); + + application.SendNotification(); + application.Render(500); + + // We did expect the animation to finish + application.SendNotification(); + finishCheck.CheckSignalReceived(); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_EQUALS(1.0f, control.GetCurrentProperty(Actor::Property::OPACITY), TEST_LOCATION); + + END_TEST; +}