X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TransitionData.cpp;h=ca57b44396705da7aa692c81bfc89255b41979dc;hb=c2d8362d9a983d332a32d60fdb17b72aa3cf298d;hp=81bf496737efd4db70fae5e0edd07065370f22f0;hpb=5e937a6322849b76d49d5b3f41cb5d91c94acd3e;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 81bf496..ca57b44 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) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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,6 @@ #include #include #include -#include #include #include #include @@ -237,7 +236,7 @@ int UtcDaliTransitionDataMap1P(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); @@ -254,7 +253,7 @@ int UtcDaliTransitionDataMap1P(void) DALI_TEST_CHECK( anim ); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); application.SendNotification(); application.Render(0); @@ -305,7 +304,7 @@ int UtcDaliTransitionDataMap2P(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); @@ -322,7 +321,7 @@ int UtcDaliTransitionDataMap2P(void) DALI_TEST_CHECK( anim ); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); application.SendNotification(); application.Render(0); @@ -373,7 +372,7 @@ int UtcDaliTransitionDataMap2Pb(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); @@ -394,7 +393,7 @@ int UtcDaliTransitionDataMap2Pb(void) DALI_TEST_CHECK( anim ); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, PrimitiveVisual::Property::MIX_COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( PrimitiveVisual::Property::MIX_COLOR ); application.SendNotification(); application.Render(0); @@ -444,7 +443,7 @@ int UtcDaliTransitionDataMap3P(void) DummyControl actor = DummyControl::New(); actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); Animation anim = dummyImpl.CreateTransition( transition ); @@ -511,7 +510,7 @@ int UtcDaliTransitionDataMap4P(void) DummyControl actor = DummyControl::New(); actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); @@ -573,7 +572,7 @@ int UtcDaliTransitionDataMap5P(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); @@ -589,35 +588,50 @@ 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 << GL_BLEND; + Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); application.SendNotification(); application.Render(0); 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().c_str() ) ); + DALI_TEST_CHECK( !glEnableStack.FindMethodAndParams( "Disable", blendStr.str().c_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().c_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().c_str() ) ); END_TEST; } @@ -645,7 +659,7 @@ int UtcDaliTransitionDataMap6P(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); @@ -662,7 +676,14 @@ int UtcDaliTransitionDataMap6P(void) DALI_TEST_CHECK( anim ); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); + + TestGlAbstraction& glAbstraction = application.GetGlAbstraction(); + glAbstraction.EnableEnableDisableCallTrace( true ); + TraceCallStack& glEnableStack = glAbstraction.GetEnableDisableTrace(); + std::ostringstream blendStr; + blendStr << GL_BLEND; + application.SendNotification(); application.Render(0); @@ -671,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().c_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().c_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().c_str() ) ); END_TEST; } @@ -718,7 +745,7 @@ int UtcDaliTransitionDataMap1N(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); Animation anim = dummyImpl.CreateTransition( transition ); @@ -794,7 +821,7 @@ int UtcDaliTransitionDataMapN4(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); Property::Map visualMap; @@ -814,7 +841,7 @@ int UtcDaliTransitionDataMapN4(void) application.SendNotification(); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIdx = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIdx = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); tet_printf( "Test that the property has been set to target value\n"); DALI_TEST_EQUALS(renderer.GetProperty(mixColorIdx), Vector3(Color::RED), 0.001, TEST_LOCATION); @@ -846,7 +873,7 @@ int UtcDaliTransitionDataMapN5(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); Property::Map visualMap; @@ -866,7 +893,7 @@ int UtcDaliTransitionDataMapN5(void) application.SendNotification(); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIdx = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIdx = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); tet_printf( "Test that the property has been set to target value\n"); DALI_TEST_EQUALS(renderer.GetProperty(mixColorIdx), Vector3(Color::RED), 0.001, TEST_LOCATION); @@ -897,7 +924,7 @@ int UtcDaliTransitionDataMapN6(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation()); Property::Map visualMap; @@ -917,7 +944,7 @@ int UtcDaliTransitionDataMapN6(void) application.SendNotification(); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIdx = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIdx = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); tet_printf( "Test that the property has been set to target value\n"); DALI_TEST_EQUALS(renderer.GetProperty(mixColorIdx), Vector3(Color::RED), 0.001, TEST_LOCATION); @@ -969,7 +996,7 @@ int UtcDaliTransitionDataArrayP(void) actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); actor.SetProperty( Dali::Actor::Property::NAME,"Actor1"); actor.SetProperty( Actor::Property::COLOR,Color::CYAN); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DALI_TEST_EQUALS( actor.GetCurrentProperty< Quaternion >( Actor::Property::ORIENTATION ), Quaternion(Radian(0), Vector3::ZAXIS), TEST_LOCATION); DummyControlImpl& dummyImpl = static_cast(actor.GetImplementation());