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-GaussianBlurView.cpp;h=1f30c92964d0b5979fb639c852be60f8a7e809f8;hp=2028c6cd93e31645d6cfcd8daf83a9ac77eb371d;hb=538e266eef5a998be3d6d4b6e1019ecd313d59d4;hpb=f441aaa6d92cdb2d2a11d026aae1e98b3f6d7c76 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp index 2028c6c..1f30c929 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 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. @@ -19,13 +19,14 @@ #include #include #include +#include using namespace Dali; using namespace Dali::Toolkit; namespace { -const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg"; +const char* TEST_IMAGE_FILE_NAME = TEST_RESOURCE_DIR "/gallery-small-1.jpg"; } // namespace void utc_gaussian_blur_view_startup(void) @@ -38,7 +39,28 @@ void utc_gaussian_blur_view_cleanup(void) test_return_value = TET_PASS; } +class TestCallback : public ConnectionTracker +{ +public: + TestCallback( Dali::Toolkit::GaussianBlurView& blurView ) + : mBlurView( blurView ) + { + mFinished = false; + } + void Connect() + { + mBlurView.FinishedSignal().Connect( this, &TestCallback::OnFinished ); + } + + void OnFinished( Dali::Toolkit::GaussianBlurView source ) + { + mFinished = true; + } + + bool mFinished; + Dali::Toolkit::GaussianBlurView& mBlurView; +}; // Negative test case for a method int UtcDaliGaussianBlurViewUninitialized(void) @@ -120,19 +142,19 @@ int UtcDaliGaussianBlurViewAddRemove(void) DALI_TEST_CHECK( view ); Actor actor = Actor::New(); - DALI_TEST_CHECK( !actor.OnStage() ); + DALI_TEST_CHECK( !actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) ); - view.SetParentOrigin(ParentOrigin::CENTER); - view.SetSize(Stage::GetCurrent().GetSize()); + view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); view.Add(actor); - Stage::GetCurrent().Add(view); + application.GetScene().Add(view); - DALI_TEST_CHECK( actor.OnStage() ); + DALI_TEST_CHECK( actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) ); view.Remove(actor); - DALI_TEST_CHECK( !actor.OnStage() ); + DALI_TEST_CHECK( !actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) ); END_TEST; } @@ -145,22 +167,68 @@ int UtcDaliGaussianBlurActivateDeactivate(void) Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); DALI_TEST_CHECK( view ); - RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList(); + RenderTaskList taskList = application.GetScene().GetRenderTaskList(); DALI_TEST_CHECK( 1u == taskList.GetTaskCount() ); - view.SetParentOrigin(ParentOrigin::CENTER); - view.SetSize(Stage::GetCurrent().GetSize()); + view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); view.Add(Actor::New()); - Stage::GetCurrent().Add(view); + application.GetScene().Add(view); view.Activate(); - RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList(); + RenderTaskList taskList2 = application.GetScene().GetRenderTaskList(); DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() ); + DALI_TEST_CHECK( 2u == view.GetChildCount() ); view.Deactivate(); - RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList(); + RenderTaskList taskList3 = application.GetScene().GetRenderTaskList(); DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() ); + DALI_TEST_CHECK( 1u == view.GetChildCount() ); + + END_TEST; +} + +// Positive test case for a method +int UtcDaliGaussianBlurActivateDeactivateRepeat(void) +{ +#ifdef OLD_GRAPHICS_TEST // NEeds framebuffers implementing + ToolkitTestApplication application; + TestGlAbstraction& gl = application.GetGlAbstraction(); + TraceCallStack& textureTrace = gl.GetTextureTrace(); + textureTrace.Enable(true); + tet_infoline("UtcDaliGaussianBlurActivateDeactivateRepeat"); + + Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); + DALI_TEST_CHECK( view ); + + view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); + view.Add(Actor::New()); + application.GetScene().Add(view); + view.Activate(); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_EQUALS( gl.GetLastGenTextureId(), 3, TEST_LOCATION ); + + view.Deactivate(); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_EQUALS( gl.GetLastGenTextureId(), 3, TEST_LOCATION); + + view.Activate(); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_EQUALS( gl.GetLastGenTextureId(), 6, TEST_LOCATION); +#else + tet_result(TET_PASS); +#endif END_TEST; } @@ -188,14 +256,108 @@ int UtcDaliGaussianBlurViewSetGetRenderTarget(void) Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true); DALI_TEST_CHECK( view ); - view.SetParentOrigin(ParentOrigin::CENTER); - view.SetSize(Stage::GetCurrent().GetSize()); + view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); view.Add(Actor::New()); - Stage::GetCurrent().Add(view); + application.GetScene().Add(view); view.Activate(); - FrameBufferImage renderTarget = FrameBufferImage::New( 480.0f, 800.0f, Pixel::RGB888 ); - view.SetUserImageAndOutputRenderTarget(ResourceImage::New(TEST_IMAGE_FILE_NAME), renderTarget); + PixelData pixels = Toolkit::SyncImageLoader::Load( TEST_IMAGE_FILE_NAME ); + Texture texture = Texture::New( TextureType::TEXTURE_2D, pixels.GetPixelFormat(), pixels.GetWidth(), pixels.GetHeight() ); + texture.Upload( pixels, 0, 0, 0, 0, pixels.GetWidth(), pixels.GetHeight() ); + + FrameBuffer renderTarget = FrameBuffer::New( 480, 800, FrameBuffer::Attachment::NONE ); + view.SetUserImageAndOutputRenderTarget(texture, renderTarget); DALI_TEST_CHECK( view.GetBlurredRenderTarget() == renderTarget ); END_TEST; } + +int UtcDaliGaussianBlurViewActivateOnce1(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliGaussianBlurActivateOnce1"); + + Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true); + DALI_TEST_CHECK( view ); + + RenderTaskList taskList = application.GetScene().GetRenderTaskList(); + DALI_TEST_CHECK( 1u == taskList.GetTaskCount() ); + + view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); + view.Add(Actor::New()); + application.GetScene().Add(view); + view.ActivateOnce(); + + RenderTaskList taskList2 = application.GetScene().GetRenderTaskList(); + DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() ); + application.Render(); + + END_TEST; +} + +// Positive test case for a method +int UtcDaliGaussianBlurActivateOnce2(void) +{ +#ifdef OLD_GRAPHICS_TEST // requires framebuffers to be implemented + ToolkitTestApplication application; + TestGlAbstraction& gl = application.GetGlAbstraction(); + TraceCallStack& textureTrace = gl.GetTextureTrace(); + textureTrace.Enable(true); + tet_infoline("UtcDaliGaussianBlurActivateOnce2"); + + Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); + DALI_TEST_CHECK( view ); + + view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); + view.Add(Actor::New()); + application.GetScene().Add(view); + view.ActivateOnce(); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_CHECK( gl.GetLastGenTextureId() == 3 ); + + view.ActivateOnce(); + + application.SendNotification(); + application.Render(20); + + DALI_TEST_CHECK( gl.GetLastGenTextureId() == 6 ); + +#else + tet_result(TET_PASS); +#endif + + END_TEST; +} + +int UtcDaliGaussianBlurViewFinishedSignalN(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliGaussianBlurViewFinishedSignalN"); + + Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true); + DALI_TEST_CHECK( view ); + + view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); + view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize()); + view.Add(Actor::New()); + application.GetScene().Add(view); + view.Activate(); + + TestCallback callback( view ); + DALI_TEST_CHECK( callback.mFinished == false ); + + callback.Connect(); + + view.Deactivate(); + application.SendNotification(); + + // FinishedSignal is only for ActivateOnce() + DALI_TEST_CHECK( callback.mFinished == false ); + + END_TEST; +}