X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TransitionData.cpp;h=439098fb5a679b9d7da3d019bf42281ca83b56f7;hb=cd4d7c8abf01e882eb063c05c443faa018e74dde;hp=ab94ef26e3fb0f82f1f912916b1b849abfe25330;hpb=a2c786a79c7565ff506ac0a546910fbeb8371ec8;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp index ab94ef2..439098f 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -588,6 +588,12 @@ int UtcDaliTransitionDataMap5P(void) Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( anim ); + TestGlAbstraction& glAbstraction = application.GetGlAbstraction(); + glAbstraction.EnableEnableDisableCallTrace( true ); + TraceCallStack& glEnableStack = glAbstraction.GetEnableDisableTrace(); + std::ostringstream blendStr; + blendStr << std::hex << GL_BLEND; + Renderer renderer = actor.GetRendererAt(0); Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); application.SendNotification(); @@ -595,28 +601,37 @@ int UtcDaliTransitionDataMap5P(void) DALI_TEST_EQUALS( renderer.GetProperty(mixColorIndex), Vector3(Color::MAGENTA), TEST_LOCATION); DALI_TEST_EQUALS( renderer.GetProperty( DevelRenderer::Property::OPACITY ), 0.0f, 0.001f, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetProperty(Renderer::Property::BLEND_MODE), (int)BlendMode::ON, TEST_LOCATION ); DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION); DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( DevelRenderer::Property::OPACITY ), 0.0f, 0.001f, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION ); + + // The Renderer is transparent. So rendering is skipped. The state should not be changed. + DALI_TEST_CHECK( !glEnableStack.FindMethodAndParams( "Enable", blendStr.str() ) ); + DALI_TEST_CHECK( !glEnableStack.FindMethodAndParams( "Disable", blendStr.str() ) ); anim.Play(); + glEnableStack.Reset(); + application.SendNotification(); application.Render(500); // Start animation application.Render(500); // Halfway thru anim application.SendNotification(); DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION); DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( DevelRenderer::Property::OPACITY ), 0.5f, 0.001f, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION ); + + // Should not be changed + DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Enable", blendStr.str() ) ); + + glEnableStack.Reset(); application.Render(501); // End of anim application.SendNotification(); application.Render(); DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION ); DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( DevelRenderer::Property::OPACITY ), 1.0f, 0.001f, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::AUTO, TEST_LOCATION ); + + DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Disable", blendStr.str() ) ); END_TEST; } @@ -662,6 +677,13 @@ int UtcDaliTransitionDataMap6P(void) Renderer renderer = actor.GetRendererAt(0); Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); + + TestGlAbstraction& glAbstraction = application.GetGlAbstraction(); + glAbstraction.EnableEnableDisableCallTrace( true ); + TraceCallStack& glEnableStack = glAbstraction.GetEnableDisableTrace(); + std::ostringstream blendStr; + blendStr << std::hex << GL_BLEND; + application.SendNotification(); application.Render(0); @@ -670,27 +692,33 @@ int UtcDaliTransitionDataMap6P(void) DALI_TEST_EQUALS( renderer.GetProperty( DevelRenderer::Property::OPACITY ), 1.0f, 0.001f, TEST_LOCATION ); DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( DevelRenderer::Property::OPACITY ), 1.0f, 0.001f, TEST_LOCATION ); - // Note, This should be testing for AUTO - // this is the same problem as C# target value being set before Play is called. - // @todo How was this solved? - DALI_TEST_EQUALS( renderer.GetProperty(Renderer::Property::BLEND_MODE), (int)BlendMode::ON, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION ); + // Default state is disabled. So test if "Enabled" is not called. + DALI_TEST_CHECK( !glEnableStack.FindMethodAndParams( "Enable", blendStr.str() ) ); anim.Play(); + glEnableStack.Reset(); + application.SendNotification(); application.Render(500); // Start animation application.Render(500); // Halfway thru anim application.SendNotification(); + DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION); DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( DevelRenderer::Property::OPACITY ), 0.5f, 0.001f, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION ); + + DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Enable", blendStr.str() ) ); + + glEnableStack.Reset(); application.Render(500); // End of anim application.SendNotification(); + DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION ); DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( DevelRenderer::Property::OPACITY ), 0.0f, 0.001f, TEST_LOCATION ); - DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION ); + + // GL_BLEND should not be changed: Keep enabled + DALI_TEST_CHECK( !glEnableStack.FindMethodAndParams( "Disable", blendStr.str() ) ); END_TEST; } @@ -727,49 +755,6 @@ int UtcDaliTransitionDataMap1N(void) END_TEST; } - -int UtcDaliTransitionDataMapN3(void) -{ - ToolkitTestApplication application; - - tet_printf("Testing visual lookup with no renderers\n"); - - Property::Map map; - map["target"] = "visual1"; - map["property"] = "mixColor"; - map["initialValue"] = Vector3(Color::MAGENTA); - map["targetValue"] = Vector3(Color::RED); - map["animator"] = Property::Map() - .Add("alphaFunction", "EASE_OUT_BACK") - .Add("timePeriod", Property::Map() - .Add("delay", 0.5f) - .Add("duration", 1.0f)); - - Dali::Toolkit::TransitionData transition = TransitionData::New( map ); - CHECK_MAP_EQUALS( map, transition.GetAnimatorAt(0) ); - - DummyControl actor = DummyControl::New(); - actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); - actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); - actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - // Don't stage actor - - DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); - Property::Map visualMap; - visualMap[Visual::Property::TYPE] = Visual::COLOR; - visualMap[ColorVisual::Property::MIX_COLOR] = Vector3(Color::MAGENTA); - Visual::Base visual = VisualFactory::Get().CreateVisual( visualMap ); - visual.SetName( "visual1" ); - - Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, visual ); - - Animation anim = dummyImpl.CreateTransition( transition ); - DALI_TEST_CHECK( !anim ); - END_TEST; -} - - int UtcDaliTransitionDataMapN4(void) { ToolkitTestApplication application;