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=874699f25217081b389bbaaae067079d0e2061b7;hp=f3f6f77eb665d83be7bc9d666fbd552a36b54656;hb=HEAD;hpb=0400f218de8c04beebde01f21d580e673d955cda diff --git a/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp index f3f6f77..41393d8 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) 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,17 +15,20 @@ * */ -#include #include +#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) @@ -41,23 +44,23 @@ void utc_gaussian_blur_view_cleanup(void) class TestCallback : public ConnectionTracker { public: - TestCallback( Dali::Toolkit::GaussianBlurView& blurView ) - : mBlurView( blurView ) + TestCallback(Dali::Toolkit::GaussianBlurView& blurView) + : mBlurView(blurView) { mFinished = false; } void Connect() { - mBlurView.FinishedSignal().Connect( this, &TestCallback::OnFinished ); + mBlurView.FinishedSignal().Connect(this, &TestCallback::OnFinished); } - void OnFinished( Dali::Toolkit::GaussianBlurView source ) + void OnFinished(Dali::Toolkit::GaussianBlurView source) { mFinished = true; } - bool mFinished; + bool mFinished; Dali::Toolkit::GaussianBlurView& mBlurView; }; @@ -73,13 +76,13 @@ int UtcDaliGaussianBlurViewUninitialized(void) { // New() must be called to create a GaussianBlurView or it wont be valid. Actor a = Actor::New(); - view.Add( a ); - DALI_TEST_CHECK( false ); + view.Add(a); + DALI_TEST_CHECK(false); } - catch (Dali::DaliException& e) + catch(Dali::DaliException& e) { // Tests that a negative test of an assertion succeeds - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_CHECK(!view); } END_TEST; @@ -92,10 +95,10 @@ int UtcDaliGaussianBlurViewNew(void) tet_infoline("UtcDaliGaussianBlurViewNew"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Toolkit::GaussianBlurView view2 = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, false); - DALI_TEST_CHECK( view2 ); + DALI_TEST_CHECK(view2); END_TEST; } @@ -106,16 +109,15 @@ int UtcDaliGaussianBlurViewDownCast(void) tet_infoline("UtcDaliGaussianBlurViewDownCast"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); - BaseHandle handle(view); + BaseHandle handle(view); - Toolkit::GaussianBlurView gaussianBlurView = Toolkit::GaussianBlurView::DownCast( handle ); - DALI_TEST_CHECK( view ); - DALI_TEST_CHECK( gaussianBlurView ); - DALI_TEST_CHECK( gaussianBlurView == view ); + Toolkit::GaussianBlurView gaussianBlurView = Toolkit::GaussianBlurView::DownCast(handle); + DALI_TEST_CHECK(view); + DALI_TEST_CHECK(gaussianBlurView); + DALI_TEST_CHECK(gaussianBlurView == view); END_TEST; } - // Positive test case for a method int UtcDaliGaussianBlurViewPropertyNames(void) { @@ -123,11 +125,11 @@ int UtcDaliGaussianBlurViewPropertyNames(void) tet_infoline("UtcDaliGaussianBlurViewPropertyNames"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); // Check the names, this names are used in the shader code, // if they change in the shader code, then it has to be updated here. - DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("GaussianBlurStrengthPropertyName"), TEST_LOCATION ); + DALI_TEST_EQUALS(view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("GaussianBlurStrengthPropertyName"), TEST_LOCATION); END_TEST; } @@ -138,22 +140,21 @@ int UtcDaliGaussianBlurViewAddRemove(void) tet_infoline("UtcDaliGaussianBlurViewAddRemove"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); Actor actor = Actor::New(); - DALI_TEST_CHECK( !actor.OnStage() ); - + DALI_TEST_CHECK(!actor.GetProperty(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(Actor::Property::CONNECTED_TO_SCENE)); view.Remove(actor); - DALI_TEST_CHECK( !actor.OnStage() ); + DALI_TEST_CHECK(!actor.GetProperty(Actor::Property::CONNECTED_TO_SCENE)); END_TEST; } @@ -164,24 +165,66 @@ int UtcDaliGaussianBlurActivateDeactivate(void) tet_infoline("UtcDaliGaussianBlurActivateDeactivate"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList(); - DALI_TEST_CHECK( 1u == taskList.GetTaskCount() ); + 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(); - DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() ); + RenderTaskList taskList2 = application.GetScene().GetRenderTaskList(); + DALI_TEST_CHECK(1u != taskList2.GetTaskCount()); + DALI_TEST_CHECK(2u == view.GetChildCount()); view.Deactivate(); - RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList(); - DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() ); + 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) +{ + 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); END_TEST; } @@ -192,11 +235,11 @@ int UtcDaliGaussianBlurViewSetGetBackgroundColor(void) tet_infoline("UtcDaliGaussianBlurViewSetGetBackgroundColor"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); view.SetBackgroundColor(Dali::Color::RED); Vector4 color = view.GetBackgroundColor(); - DALI_TEST_CHECK( color == Dali::Color::RED ); + DALI_TEST_CHECK(color == Dali::Color::RED); END_TEST; } @@ -207,60 +250,97 @@ int UtcDaliGaussianBlurViewSetGetRenderTarget(void) tet_infoline("UtcDaliGaussianBlurViewSetGetRenderTarget"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true); - DALI_TEST_CHECK( view ); + 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); - DALI_TEST_CHECK( view.GetBlurredRenderTarget() == 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 UtcDaliGaussianBlurViewActivateOnce(void) +int UtcDaliGaussianBlurViewActivateOnce1(void) { ToolkitTestApplication application; - tet_infoline("UtcDaliGaussianBlurActivateOnce"); + tet_infoline("UtcDaliGaussianBlurActivateOnce1"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true); - DALI_TEST_CHECK( view ); + DALI_TEST_CHECK(view); - RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList(); - DALI_TEST_CHECK( 1u == taskList.GetTaskCount() ); + 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.ActivateOnce(); - RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList(); - DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() ); + RenderTaskList taskList2 = application.GetScene().GetRenderTaskList(); + DALI_TEST_CHECK(1u != taskList2.GetTaskCount()); application.Render(); END_TEST; } +// Positive test case for a method +int UtcDaliGaussianBlurActivateOnce2(void) +{ + 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); + + END_TEST; +} + int UtcDaliGaussianBlurViewFinishedSignalN(void) { ToolkitTestApplication application; - tet_infoline("UtcDaliGaussianBlurViewSetGetRenderTarget"); + tet_infoline("UtcDaliGaussianBlurViewFinishedSignalN"); Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true); - DALI_TEST_CHECK( view ); + 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(); - TestCallback callback( view ); - DALI_TEST_CHECK( callback.mFinished == false ); + TestCallback callback(view); + DALI_TEST_CHECK(callback.mFinished == false); callback.Connect(); @@ -268,7 +348,7 @@ int UtcDaliGaussianBlurViewFinishedSignalN(void) application.SendNotification(); // FinishedSignal is only for ActivateOnce() - DALI_TEST_CHECK( callback.mFinished == false ); + DALI_TEST_CHECK(callback.mFinished == false); END_TEST; }