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=cee41e0d81d00e778d5d7104dcaef4930828c519;hp=1c5128ed1b5566294468eed0909bfaf95cf3ebb4;hb=42a61237c2ecc17d977fbf9596603da2ff221be7;hpb=5237099d2615445b12a92644f6a401d352b5577e diff --git a/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp index 1c5128e..cee41e0 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-CanvasView.cpp @@ -20,9 +20,12 @@ #include #include #include +#include +#include #include +#include #include - +#include using namespace Dali; using namespace Toolkit; @@ -99,6 +102,15 @@ int UtcDaliCanvasViewNewP(void) END_TEST; } +int UtcDaliCanvasViewNewWithoutViewboxP(void) +{ + ToolkitTestApplication application; + CanvasView canvasView = CanvasView::New(); + + DALI_TEST_CHECK( canvasView ); + END_TEST; +} + int UtcDaliCanvasViewDownCastP(void) { ToolkitTestApplication application; @@ -155,6 +167,63 @@ 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; @@ -163,8 +232,6 @@ int UtcDaliCanvasViewChangeSizeP(void) DALI_TEST_CHECK( canvasView ); application.GetScene().Add(canvasView); - application.SendNotification(); - application.Render(); canvasView.SetProperty(Actor::Property::SIZE, Vector2(300, 300)); @@ -187,8 +254,6 @@ int UtcDaliCanvasViewSizeN(void) DALI_TEST_CHECK( canvasView ); application.GetScene().Add(canvasView); - application.SendNotification(); - application.Render(); canvasView.SetProperty(Actor::Property::SIZE, Vector2(-999, -999)); @@ -202,3 +267,284 @@ int UtcDaliCanvasViewSizeN(void) 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; +}