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-CanvasView.cpp;h=b55622f3ed3e1a34dbc22f54ddc2334ecfe52242;hp=1c5128ed1b5566294468eed0909bfaf95cf3ebb4;hb=020b07151378db83ab8e12eb3e2d51db0ed69996;hpb=8189dd071c31a8958d71d99fc9cd65de6a85ccb6 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp index 1c5128e..b55622f 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 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,22 +15,28 @@ * */ -#include #include +#include + +#include +#include + #include + #include -#include -#include -#include +#include +#include +#include +#include +#include +#include using namespace Dali; using namespace Toolkit; namespace { - - } // namespace void utc_dali_toolkit_canvasview_startup(void) @@ -46,21 +52,21 @@ void utc_dali_toolkit_canvasview_cleanup(void) int UtcDaliCanvasViewConstructorP(void) { ToolkitTestApplication application; - CanvasView canvasView; + CanvasView canvasView; - DALI_TEST_CHECK( !canvasView ); + DALI_TEST_CHECK(!canvasView); END_TEST; } int UtcDaliCanvasViewMoveAssignment(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); - CanvasView moved = std::move( canvasView ); - DALI_TEST_CHECK( moved ); - DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION ); - DALI_TEST_CHECK( !canvasView ); + CanvasView moved = std::move(canvasView); + DALI_TEST_CHECK(moved); + DALI_TEST_EQUALS(1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION); + DALI_TEST_CHECK(!canvasView); END_TEST; } @@ -68,48 +74,57 @@ int UtcDaliCanvasViewMoveAssignment(void) int UtcDaliCanvasViewAssignmentConstructorP(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); - CanvasView copy( canvasView ); - DALI_TEST_CHECK( copy ); + CanvasView copy(canvasView); + DALI_TEST_CHECK(copy); - DALI_TEST_CHECK( canvasView == copy ); + DALI_TEST_CHECK(canvasView == copy); END_TEST; } int UtcDaliCanvasViewAssignmentOperatorP(void) { ToolkitTestApplication application; - const CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + const CanvasView canvasView = CanvasView::New(Vector2(100, 100)); CanvasView assign; - DALI_TEST_CHECK( !assign ); + DALI_TEST_CHECK(!assign); - assign = canvasView ; - DALI_TEST_CHECK( assign == canvasView); + assign = canvasView; + DALI_TEST_CHECK(assign == canvasView); END_TEST; } int UtcDaliCanvasViewNewP(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + + DALI_TEST_CHECK(canvasView); + END_TEST; +} + +int UtcDaliCanvasViewNewWithoutViewboxP(void) +{ + ToolkitTestApplication application; + CanvasView canvasView = CanvasView::New(); - DALI_TEST_CHECK( canvasView ); + DALI_TEST_CHECK(canvasView); END_TEST; } int UtcDaliCanvasViewDownCastP(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100,100)); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); BaseHandle object(canvasView); - CanvasView canvasView2 = CanvasView::DownCast( object ); + CanvasView canvasView2 = CanvasView::DownCast(object); DALI_TEST_CHECK(canvasView2); - CanvasView canvasView3 = DownCast< CanvasView >(object); + CanvasView canvasView3 = DownCast(object); DALI_TEST_CHECK(canvasView3); END_TEST; } @@ -117,21 +132,21 @@ int UtcDaliCanvasViewDownCastP(void) int UtcDaliCanvasViewDownCastN(void) { ToolkitTestApplication application; - BaseHandle unInitializedObject; + BaseHandle unInitializedObject; - CanvasView canvasView1 = CanvasView::DownCast( unInitializedObject ); - DALI_TEST_CHECK( !canvasView1 ); + CanvasView canvasView1 = CanvasView::DownCast(unInitializedObject); + DALI_TEST_CHECK(!canvasView1); - CanvasView canvasView2 = DownCast< CanvasView >( unInitializedObject ); - DALI_TEST_CHECK( !canvasView2 ); + CanvasView canvasView2 = DownCast(unInitializedObject); + DALI_TEST_CHECK(!canvasView2); END_TEST; } int UtcDaliCanvasViewAddP(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100,100)); - DALI_TEST_CHECK( canvasView ); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); Dali::CanvasRenderer::Shape shape = Dali::CanvasRenderer::Shape::New(); @@ -145,8 +160,8 @@ int UtcDaliCanvasViewAddP(void) int UtcDaliCanvasViewAddN(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100,100)); - DALI_TEST_CHECK( canvasView ); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); Dali::CanvasRenderer::Shape shape; @@ -155,16 +170,70 @@ int UtcDaliCanvasViewAddN(void) END_TEST; } +int UtcDaliCanvasViewRemoveP(void) +{ + ToolkitTestApplication application; + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); + + Dali::CanvasRenderer::Shape shape = Dali::CanvasRenderer::Shape::New(); + + canvasView.AddDrawable(shape); + + DALI_TEST_CHECK(canvasView.RemoveDrawable(shape)); + + END_TEST; +} + +int UtcDaliCanvasViewRemoveN(void) +{ + ToolkitTestApplication application; + + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); + + Dali::CanvasRenderer::Shape shape = Dali::CanvasRenderer::Shape::New(); + + DALI_TEST_CHECK(!canvasView.RemoveDrawable(shape)); + + END_TEST; +} + +int UtcDaliCanvasViewRemoveAllP(void) +{ + ToolkitTestApplication application; + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); + + Dali::CanvasRenderer::Shape shape = Dali::CanvasRenderer::Shape::New(); + + canvasView.AddDrawable(shape); + + canvasView.RemoveAllDrawables(); + + END_TEST; +} + +int UtcDaliCanvasViewRemoveAllN(void) +{ + ToolkitTestApplication application; + + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); + + canvasView.RemoveAllDrawables(); + + END_TEST; +} + int UtcDaliCanvasViewChangeSizeP(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100,100)); - DALI_TEST_CHECK( canvasView ); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); application.GetScene().Add(canvasView); - application.SendNotification(); - application.Render(); canvasView.SetProperty(Actor::Property::SIZE, Vector2(300, 300)); @@ -172,9 +241,9 @@ int UtcDaliCanvasViewChangeSizeP(void) application.Render(); Property::Value pv = canvasView.GetProperty(Actor::Property::SIZE); - Vector3 v3; + Vector3 v3; pv.Get(v3); - DALI_TEST_EQUALS( v3, Vector3(300, 300, 0), TEST_LOCATION ); + DALI_TEST_EQUALS(v3, Vector3(300, 300, 0), TEST_LOCATION); END_TEST; } @@ -183,12 +252,10 @@ int UtcDaliCanvasViewSizeN(void) { ToolkitTestApplication application; - CanvasView canvasView = CanvasView::New(Vector2(100,100)); - DALI_TEST_CHECK( canvasView ); + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); application.GetScene().Add(canvasView); - application.SendNotification(); - application.Render(); canvasView.SetProperty(Actor::Property::SIZE, Vector2(-999, -999)); @@ -196,9 +263,290 @@ int UtcDaliCanvasViewSizeN(void) application.Render(); Property::Value pv = canvasView.GetProperty(Actor::Property::SIZE); - Vector3 v3; + Vector3 v3; pv.Get(v3); - DALI_TEST_EQUALS( v3, Vector3(-999, -999, 0), TEST_LOCATION ); + DALI_TEST_EQUALS(v3, Vector3(-999, -999, 0), TEST_LOCATION); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeTaskP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeTaskGetCanvasViewP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + DALI_TEST_EQUALS(task->GetCanvasView(), dummyInternalCanvasView, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeThreadP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeThreadAddTaskP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + IntrusivePtr task2 = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task2); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + dummyThread->AddTask(task); + dummyThread->AddTask(task2); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeThreadAddRemoveTaskP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + dummyThread->AddTask(task); + + dummyThread->RemoveTask(dummyInternalCanvasView); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeThreadApplyRasterizedP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + dummyThread->AddTask(task); + + dummyThread->ApplyRasterized(); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeThreadTerminateThreadP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + dummyThread->AddTask(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread::TerminateThread(dummyThread); + + END_TEST; +} + +PixelData CreatePixelData(unsigned int width, unsigned int height) +{ + unsigned int bufferSize = width * height * Pixel::GetBytesPerPixel(Pixel::RGBA8888); + + unsigned char* buffer = reinterpret_cast(malloc(bufferSize)); + PixelData pixelData = PixelData::New(buffer, bufferSize, width, height, Pixel::RGBA8888, PixelData::FREE); + + return pixelData; +} + +int UtcDaliCanvasViewRasterizeThreadCallProcessP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::Internal::CanvasView* dummyInternalCanvasView = new Dali::Toolkit::Internal::CanvasView(Vector2(100, 100)); + DALI_TEST_CHECK(dummyInternalCanvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + dummyThread->AddTask(task); + + dummyThread->Process(false); + + END_TEST; +} + +int UtcDaliCanvasViewRasterizeThreadRasterizationCompletedSignalP(void) +{ + ToolkitTestApplication application; + + Dali::Toolkit::CanvasView canvasView = Dali::Toolkit::CanvasView::New(Vector2(100, 100)); + Dali::Toolkit::Internal::CanvasView& dummyInternalCanvasView = GetImpl(canvasView); + + Dali::CanvasRenderer dummyCanvasRenderer = Dali::CanvasRenderer::New(Vector2(100, 100)); + DALI_TEST_CHECK(dummyCanvasRenderer); + + IntrusivePtr task = new Dali::Toolkit::Internal::CanvasRendererRasterizingTask(&dummyInternalCanvasView, dummyCanvasRenderer); + DALI_TEST_CHECK(task); + + Dali::Toolkit::Internal::CanvasViewRasterizeThread* dummyThread = new Dali::Toolkit::Internal::CanvasViewRasterizeThread(); + DALI_TEST_CHECK(dummyThread); + + dummyThread->AddTask(task); + + dummyThread->Process(false); + + auto texture = Texture::New(Dali::TextureType::TEXTURE_2D, Pixel::RGBA8888, 100, 100); + + dummyThread->RasterizationCompletedSignal().Connect(&dummyInternalCanvasView, &Dali::Toolkit::Internal::CanvasView::ApplyRasterizedImage); + dummyThread->RasterizationCompletedSignal().Emit(texture); + + application.SendNotification(); + application.Render(); + + END_TEST; +} + +int UtcDaliCanvasViewSetSizeAndAddDrawable(void) +{ + ToolkitTestApplication application; + + CanvasView canvasView = CanvasView::New(Vector2(100, 100)); + DALI_TEST_CHECK(canvasView); + + application.GetScene().Add(canvasView); + + canvasView.SetProperty(Actor::Property::SIZE, Vector2(300, 300)); + + application.SendNotification(); + application.Render(); + + Dali::CanvasRenderer::Shape shape = Dali::CanvasRenderer::Shape::New(); + + shape.AddRect(Rect(10, 10, 10, 10), Vector2(0, 0)); + + canvasView.AddDrawable(shape); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(Test::WaitForEventThreadTrigger(1), true, TEST_LOCATION); + + application.SendNotification(); + application.Render(); + + END_TEST; +} + +int UtcDaliCanvasViewViewBoxP(void) +{ + ToolkitTestApplication application; + + CanvasView canvasView = CanvasView::New(Vector2(300, 300)); + DALI_TEST_CHECK(canvasView); + + application.GetScene().Add(canvasView); + + canvasView.SetProperty(Actor::Property::SIZE, Vector2(300, 300)); + canvasView.SetProperty(Toolkit::CanvasView::Property::VIEW_BOX, Vector2(100, 100)); + + application.SendNotification(); + application.Render(); + + END_TEST; +} + +int UtcDaliCanvasViewViewBoxN(void) +{ + ToolkitTestApplication application; + + CanvasView canvasView = CanvasView::New(Vector2(300, 300)); + DALI_TEST_CHECK(canvasView); + + application.GetScene().Add(canvasView); + + canvasView.SetProperty(Actor::Property::SIZE, Vector2(300, 300)); + canvasView.SetProperty(Toolkit::CanvasView::Property::VIEW_BOX, Vector2(-999, -999)); + + application.SendNotification(); + application.Render(); + + Vector2 viewBox = canvasView.GetProperty(Toolkit::CanvasView::Property::VIEW_BOX).Get(); + DALI_TEST_EQUALS(viewBox, Vector2(-999, -999), TEST_LOCATION); END_TEST; }