X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-EffectsView.cpp;h=15758d50af432fc797f53aa0bc439b73c8926267;hp=a6be47192ed41386cf7bd8abecc3049b0941cd97;hb=a8d60282f49c906206c1ffb2f2425800b914d109;hpb=3165015e71de120f15dcdd8079710d2abb85d53b diff --git a/automated-tests/src/dali-toolkit/utc-Dali-EffectsView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-EffectsView.cpp index a6be471..15758d5 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-EffectsView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-EffectsView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -42,11 +43,15 @@ int UtcDaliEffectsViewNew(void) EffectsView view; DALI_TEST_CHECK( !view ); - view = EffectsView::New(); + view = EffectsView::New( EffectsView::DROP_SHADOW ); DALI_TEST_CHECK( view ); Stage::GetCurrent().Add( view ); + view.Reset(); + view = EffectsView::New( EffectsView::EMBOSS ); + DALI_TEST_CHECK( view ); + application.SendNotification(); application.Render(); @@ -57,7 +62,7 @@ int UtcDaliEffectsViewCopyAndAssignment(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); DALI_TEST_CHECK( view ); EffectsView copy( view ); @@ -80,7 +85,7 @@ int UtcDaliEffectsViewDownCast(void) { ToolkitTestApplication application; - BaseHandle view = EffectsView::New(); + BaseHandle view = EffectsView::New( EffectsView::EMBOSS ); DALI_TEST_CHECK( EffectsView::DownCast( view ) ); BaseHandle empty; @@ -92,122 +97,147 @@ int UtcDaliEffectsViewDownCast(void) END_TEST; } -int UtcDaliEffectsViewSetGetTypeP(void) +// Positive test case for a method +int UtcDaliEffectsViewAddRemoveDropShadow(void) { ToolkitTestApplication application; + tet_infoline("UtcDaliEffectsViewAddRemoveDropShadow"); - EffectsView view = EffectsView::New(); - DALI_TEST_CHECK( view.GetType() == EffectsView::INVALID_TYPE ); + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); + DALI_TEST_CHECK( view ); - view.SetType( EffectsView::DROP_SHADOW ); - DALI_TEST_CHECK( view.GetType() == EffectsView::DROP_SHADOW ); + Actor actor = Actor::New(); + DALI_TEST_CHECK( !actor.OnStage() ); - view.SetType( EffectsView::EMBOSS ); - DALI_TEST_CHECK( view.GetType() == EffectsView::EMBOSS ); - END_TEST; -} + view.SetParentOrigin(ParentOrigin::CENTER); + view.SetSize(Stage::GetCurrent().GetSize()); + view.Add(actor); + Stage::GetCurrent().Add(view); -int UtcDaliEffectsViewSetTypeN(void) -{ - ToolkitTestApplication application; + DALI_TEST_CHECK( actor.OnStage() ); + DALI_TEST_CHECK( actor.GetParent() ); + DALI_TEST_CHECK( actor.GetParent() != view ); - EffectsView view; - try - { - view.SetType( EffectsView::DROP_SHADOW ); - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } + view.Remove(actor); + DALI_TEST_CHECK( !actor.OnStage() ); END_TEST; } -int UtcDaliEffectsViewGetTypeN(void) + +int UtcDaliEffectsViewAddRemoveEmboss(void) { ToolkitTestApplication application; + tet_infoline("UtcDaliEffectsViewAddRemoveEmboss"); - EffectsView view; - try - { - EffectsView::EffectType type = view.GetType(); - (void) type; - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } + tet_infoline("Checking number of render tasks = 1"); + application.SendNotification(); + application.Render(); + Stage stage = Stage::GetCurrent(); + DALI_TEST_EQUALS( stage.GetRenderTaskList().GetTaskCount(), 1, TEST_LOCATION ); - END_TEST; -} + tet_infoline("Create effects view"); -int UtcDaliEffectsViewEnableP(void) -{ - ToolkitTestApplication application; + EffectsView view = EffectsView::New( EffectsView::EMBOSS ); + Vector3 offsetSet( 2.f, 3.f, 4.f ); + Vector4 colorSet( 0.2f, 0.3f, 0.4f, 0.5f ); + view.SetProperty( EffectsView::Property::EFFECT_OFFSET, offsetSet); + view.SetProperty( EffectsView::Property::EFFECT_COLOR, colorSet); + Vector3 offsetAnimate( 4.f, 6.f, 8.f ); + float durationSeconds(0.05f); + Animation animation = Animation::New( durationSeconds ); + animation.AnimateTo( Property(view,EffectsView::Property::EFFECT_OFFSET ), offsetAnimate ); + animation.Play(); - EffectsView view = EffectsView::New(); - Stage stage = Stage::GetCurrent(); - DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() == 1 ); + DALI_TEST_CHECK( view ); - view.Enable(); - DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() > 1 ); + Actor actor = Actor::New(); + actor.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); + DALI_TEST_CHECK( !actor.OnStage() ); + + view.SetParentOrigin(ParentOrigin::CENTER); + + view.Add(actor); + view.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); + + stage.Add(view); + + DALI_TEST_CHECK( actor.OnStage() ); + + application.SendNotification(); + application.Render(); + + tet_infoline("Removing view from stage disables view"); + stage.Remove(view); + + tet_infoline("Checking number of render tasks = 1"); + DALI_TEST_EQUALS( stage.GetRenderTaskList().GetTaskCount(), 1, TEST_LOCATION ); + + tet_infoline("Adding view to stage again re-enables view"); + stage.Add(view); + + tet_infoline("Removing view from stage disables view"); + DALI_TEST_GREATER( stage.GetRenderTaskList().GetTaskCount(), 1u, TEST_LOCATION ); + stage.Remove(view); + view.Reset(); + + tet_infoline("Checking number of render tasks = 1"); + DALI_TEST_EQUALS( stage.GetRenderTaskList().GetTaskCount(), 1, TEST_LOCATION ); END_TEST; } -int UtcDaliEffectsViewEnableN(void) + +int UtcDaliEffectsViewGetTypeP(void) { ToolkitTestApplication application; - EffectsView view; - try - { - view.Enable(); - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); + DALI_TEST_CHECK( view.GetType() == EffectsView::DROP_SHADOW ); + + view.Reset(); + view = EffectsView::New( EffectsView::EMBOSS ); + DALI_TEST_CHECK( view.GetType() == EffectsView::EMBOSS ); END_TEST; } -int UtcDaliEffectsViewDisableP(void) +int UtcDaliEffectsViewOnStage(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); + EffectsView view = EffectsView::New(EffectsView::EMBOSS); + view.SetSize(100.f, 100.f); Stage stage = Stage::GetCurrent(); DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() == 1 ); - view.Enable(); + stage.Add( view ); + application.SendNotification(); + application.Render(); DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() > 1 ); - view.Disable(); - DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() == 1 ); - END_TEST; } -int UtcDaliEffectsViewDisableN(void) +int UtcDaliEffectsViewOffStage(void) { ToolkitTestApplication application; - EffectsView view; - try - { - view.Disable(); - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } + EffectsView view = EffectsView::New(EffectsView::DROP_SHADOW); + view.SetSize(100.f, 100.f); + Stage stage = Stage::GetCurrent(); + DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() == 1 ); + + stage.Add( view ); + application.SendNotification(); + application.Render(); + DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() > 1 ); + + stage.Remove( view ); + application.SendNotification(); + application.Render(); + DALI_TEST_CHECK( stage.GetRenderTaskList().GetTaskCount() == 1 ); END_TEST; } @@ -216,7 +246,7 @@ int UtcDaliEffectsViewRefreshP(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); try { view.Refresh(); @@ -252,7 +282,7 @@ int UtcDaliEffectsViewSetPixelFormatP(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); try { view.SetPixelFormat( Pixel::RGBA8888 ); @@ -284,179 +314,90 @@ int UtcDaliEffectsViewSetPixelFormatN(void) END_TEST; } -int UtcDaliEffectsViewSetGetOutputImage(void) +int UtcDaliEffectsViewSizeProperty(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); - FrameBufferImage image = FrameBufferImage::New(); - DALI_TEST_CHECK( image ); - - view.SetOutputImage( image ); - DALI_TEST_CHECK( view.GetOutputImage() == image ); + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); - // Replace with another image - FrameBufferImage image2 = FrameBufferImage::New(); - DALI_TEST_CHECK( image2 ); - view.SetOutputImage( image2 ); - DALI_TEST_CHECK( view.GetOutputImage() == image2 ); + Property::Index idx = view.GetPropertyIndex( "effectSize" ); + DALI_TEST_EQUALS( idx, (Property::Index)EffectsView::Property::EFFECT_SIZE, TEST_LOCATION ); - // Remove output image - view.SetOutputImage( FrameBufferImage() ); - DALI_TEST_CHECK( ! view.GetOutputImage() ); + view.SetProperty( idx, 5 ); + Property::Value value = view.GetProperty( EffectsView::Property::EFFECT_SIZE ); + int size; + DALI_TEST_CHECK( value.Get(size) ); + DALI_TEST_CHECK( size == 5 ); END_TEST; } -int UtcDaliEffectsViewSetOutputImageN(void) +int UtcDaliEffectsViewOffsetProperty(void) { ToolkitTestApplication application; - EffectsView view; - try - { - view.SetOutputImage( FrameBufferImage::New() ); - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } - - END_TEST; -} - -int UtcDaliEffectsViewGetOutputImageN(void) -{ - ToolkitTestApplication application; - - EffectsView view; - try - { - FrameBufferImage image = view.GetOutputImage(); - (void)image; - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } - - END_TEST; -} - -int UtcDaliEffectsViewGetEffectSizePropertyIndexP(void) -{ - ToolkitTestApplication application; - - EffectsView view = EffectsView::New(); - DALI_TEST_CHECK( Property::INVALID_INDEX != view.GetEffectSizePropertyIndex() ); - - END_TEST; -} - -int UtcDaliEffectsViewGetEffectSizePropertyIndexN(void) -{ - ToolkitTestApplication application; - - EffectsView view; - try - { - Property::Index index = view.GetEffectSizePropertyIndex(); - (void)index; - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } - - END_TEST; -} - -int UtcDaliEffectsViewGetEffectStrengthPropertyIndexP(void) -{ - ToolkitTestApplication application; - - EffectsView view = EffectsView::New(); - DALI_TEST_CHECK( Property::INVALID_INDEX != view.GetEffectStrengthPropertyIndex() ); - - END_TEST; -} - -int UtcDaliEffectsViewGetEffectStrengthPropertyIndexN(void) -{ - ToolkitTestApplication application; - - EffectsView view; - try - { - Property::Index index = view.GetEffectStrengthPropertyIndex(); - (void)index; - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } + EffectsView view = EffectsView::New( EffectsView::EMBOSS ); + Stage::GetCurrent().Add( view ); - END_TEST; -} + Property::Value value = view.GetProperty( EffectsView::Property::EFFECT_OFFSET ); + Vector3 offsetValue; + DALI_TEST_CHECK( value.Get(offsetValue) ); + DALI_TEST_EQUALS( offsetValue, Vector3::ZERO, TEST_LOCATION ); -int UtcDaliEffectsViewGetEffectOffsetPropertyIndexP(void) -{ - ToolkitTestApplication application; + Vector3 offsetSet( 2.f, 3.f, 4.f ); + view.SetProperty( EffectsView::Property::EFFECT_OFFSET, offsetSet); + application.SendNotification(); + application.Render(0); + value = view.GetProperty( EffectsView::Property::EFFECT_OFFSET ); + value.Get(offsetValue); + DALI_TEST_EQUALS( offsetValue, offsetSet, TEST_LOCATION ); + + Vector3 offsetAnimate( 4.f, 6.f, 8.f ); + float durationSeconds(0.05f); + Animation animation = Animation::New( durationSeconds ); + animation.AnimateTo( Property(view,EffectsView::Property::EFFECT_OFFSET ), offsetAnimate ); + animation.Play(); + application.SendNotification(); + application.Render(static_cast(durationSeconds*1000.0f) + 1u/*just beyond the animation duration*/); - EffectsView view = EffectsView::New(); - DALI_TEST_CHECK( Property::INVALID_INDEX != view.GetEffectOffsetPropertyIndex() ); + value = DevelHandle::GetCurrentProperty( view, EffectsView::Property::EFFECT_OFFSET ); + value.Get(offsetValue); + DALI_TEST_EQUALS( offsetValue, offsetAnimate, TEST_LOCATION ); END_TEST; } -int UtcDaliEffectsViewGetEffectOffsetPropertyIndexN(void) +int UtcDaliEffectsViewColorProperty(void) { ToolkitTestApplication application; - EffectsView view; - try - { - Property::Index index = view.GetEffectOffsetPropertyIndex(); - (void)index; - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } - - END_TEST; -} - -int UtcDaliEffectsViewGetEffectColorPropertyIndexP(void) -{ - ToolkitTestApplication application; + EffectsView view = EffectsView::New( EffectsView::DROP_SHADOW ); + Stage::GetCurrent().Add( view ); - EffectsView view = EffectsView::New(); - DALI_TEST_CHECK( Property::INVALID_INDEX != view.GetEffectColorPropertyIndex() ); + Property::Value value = view.GetProperty( EffectsView::Property::EFFECT_COLOR ); + Vector4 colorValue; + DALI_TEST_CHECK( value.Get(colorValue) ); + DALI_TEST_EQUALS( colorValue, Color::WHITE, TEST_LOCATION ); - END_TEST; -} + Vector4 colorSet( 0.2f, 0.3f, 0.4f, 0.5f ); + view.SetProperty( EffectsView::Property::EFFECT_COLOR, colorSet); + application.SendNotification(); + application.Render(0); + value = view.GetProperty( EffectsView::Property::EFFECT_COLOR ); + value.Get(colorValue); + DALI_TEST_EQUALS( colorValue, colorSet, TEST_LOCATION ); + + Vector4 colorAnimate( 0.5f, 0.6f, 0.8f, 1.f ); + float durationSeconds(0.05f); + Animation animation = Animation::New( durationSeconds ); + animation.AnimateTo( Property(view,EffectsView::Property::EFFECT_COLOR ), colorAnimate ); + animation.Play(); + application.SendNotification(); + application.Render(static_cast(durationSeconds*1000.0f) + 1u/*just beyond the animation duration*/); -int UtcDaliEffectsViewGetEffectColorPropertyIndexN(void) -{ - ToolkitTestApplication application; - - EffectsView view; - try - { - Property::Index index = view.GetEffectColorPropertyIndex(); - (void)index; - DALI_TEST_CHECK( false ); // Should not get here - } - catch( ... ) - { - DALI_TEST_CHECK( true ); - } + value = DevelHandle::GetCurrentProperty( view, EffectsView::Property::EFFECT_COLOR ); + value.Get(colorValue); + DALI_TEST_EQUALS( colorValue, colorAnimate, TEST_LOCATION ); END_TEST; } @@ -465,7 +406,7 @@ int UtcDaliEffectsViewGetSetBackgroundColor(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); + EffectsView view = EffectsView::New(EffectsView::DROP_SHADOW); view.SetBackgroundColor( Color::RED ); DALI_TEST_CHECK( Color::RED == view.GetBackgroundColor() ); @@ -516,25 +457,22 @@ int UtcDaliEffectsViewSetRefreshOnDemandP(void) { ToolkitTestApplication application; - EffectsView view = EffectsView::New(); - FrameBufferImage image = FrameBufferImage::New(); - view.SetOutputImage( image ); - view.Enable(); + EffectsView view = EffectsView::New(EffectsView::DROP_SHADOW); + view.SetSize(100.f, 100.f); Stage stage = Stage::GetCurrent(); stage.Add( view ); + application.SendNotification(); + application.Render(); RenderTaskList renderTaskList = stage.GetRenderTaskList(); DALI_TEST_CHECK( renderTaskList.GetTask( 1 ).GetRefreshRate() == RenderTask::REFRESH_ALWAYS ); - DALI_TEST_CHECK( renderTaskList.GetTask( 2 ).GetRefreshRate() == RenderTask::REFRESH_ALWAYS ); view.SetRefreshOnDemand( true ); DALI_TEST_CHECK( renderTaskList.GetTask( 1 ).GetRefreshRate() == RenderTask::REFRESH_ONCE ); - DALI_TEST_CHECK( renderTaskList.GetTask( 2 ).GetRefreshRate() == RenderTask::REFRESH_ONCE ); view.SetRefreshOnDemand( false ); DALI_TEST_CHECK( renderTaskList.GetTask( 1 ).GetRefreshRate() == RenderTask::REFRESH_ALWAYS ); - DALI_TEST_CHECK( renderTaskList.GetTask( 2 ).GetRefreshRate() == RenderTask::REFRESH_ALWAYS ); END_TEST; } @@ -563,23 +501,16 @@ int UtcDaliEffectsViewSizeSet(void) Stage stage = Stage::GetCurrent(); { - EffectsView view = EffectsView::New(); + EffectsView view = EffectsView::New(EffectsView::DROP_SHADOW); view.SetSize( 200.0f, 200.0f, 0.0f ); stage.Add( view ); - view.Enable(); application.SendNotification(); application.Render(); - view.Disable(); - application.SendNotification(); - application.Render(); - DALI_TEST_EQUALS( view.GetCurrentSize(), Vector3( 200.0f, 200.0f, 0.0f ), TEST_LOCATION ); } { - EffectsView view = EffectsView::New(); - view.SetOutputImage( FrameBufferImage::New( 200, 200 ) ); - view.SetType( EffectsView::EMBOSS ); + EffectsView view = EffectsView::New(EffectsView::EMBOSS); view.SetSize( 200.0f, 200.0f, 0.0f ); stage.Add( view ); application.SendNotification(); @@ -589,8 +520,7 @@ int UtcDaliEffectsViewSizeSet(void) } { - EffectsView view = EffectsView::New(); - view.SetType( EffectsView::DROP_SHADOW ); + EffectsView view = EffectsView::New(EffectsView::DROP_SHADOW); view.SetSize( 200.0f, 200.0f, 0.0f ); stage.Add( view ); application.SendNotification();