Merge "Removed HasRendered() from Core RenderStatus." into devel/master
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-RenderTask.cpp
index 71fbcbc..f58b260 100644 (file)
@@ -20,6 +20,7 @@
 #include <stdlib.h>
 #include <dali/public-api/dali-core.h>
 #include <dali/devel-api/events/hit-test-algorithm.h>
+#include <dali/devel-api/rendering/frame-buffer.h>
 #include <dali-test-suite-utils.h>
 #include <dali/integration-api/debug.h>
 #include <test-native-image.h>
@@ -862,7 +863,7 @@ int UtcDaliRenderTaskSetExclusive02(void)
   application.SendNotification();
   application.Render();
 
-  DALI_TEST_EQUALS( drawTrace.CountMethod("DrawElements"), 1, TEST_LOCATION );
+  DALI_TEST_EQUALS( drawTrace.CountMethod("DrawArrays"), 1, TEST_LOCATION );
 
   // Set task to non-exclusive - actor1 should render twice:
   drawTrace.Reset();
@@ -870,7 +871,7 @@ int UtcDaliRenderTaskSetExclusive02(void)
   application.SendNotification();
   application.Render();
 
-  DALI_TEST_EQUALS( drawTrace.CountMethod("DrawElements"), 2, TEST_LOCATION );
+  DALI_TEST_EQUALS( drawTrace.CountMethod("DrawArrays"), 2, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1135,6 +1136,70 @@ int UtcDaliRenderTaskGetTargetFrameBufferN(void)
   END_TEST;
 }
 
+int UtcDaliRenderTaskSetFrameBufferP(void)
+{
+  TestApplication application;
+
+  tet_infoline("Testing RenderTask::SetFrameBuffer()");
+
+  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
+
+  RenderTask task = taskList.GetTask( 0u );
+
+  FrameBuffer newFrameBuffer = FrameBuffer::New( 128u, 128u, FrameBuffer::COLOR );
+  task.SetFrameBuffer( newFrameBuffer );
+  DALI_TEST_CHECK( task.GetFrameBuffer() == newFrameBuffer );
+  END_TEST;
+}
+
+int UtcDaliRenderTaskSetFrameBufferN(void)
+{
+  TestApplication application;
+
+  tet_infoline("Testing RenderTask::SetFrameBuffer()");
+
+  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
+
+  RenderTask task = taskList.GetTask( 0u );
+  FrameBuffer newFrameBuffer; // Empty handle
+  task.SetFrameBuffer( newFrameBuffer );
+  DALI_TEST_EQUALS( (bool)task.GetFrameBuffer(), false, TEST_LOCATION );
+  END_TEST;
+}
+
+int UtcDaliRenderTaskGetFrameBufferP(void)
+{
+  TestApplication application;
+
+  tet_infoline("Testing RenderTask::GetFrameBuffer()");
+
+  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
+
+  RenderTask task = taskList.GetTask( 0u );
+
+  FrameBuffer newFrameBuffer = FrameBuffer::New( 1u, 1u, FrameBuffer::COLOR  );
+  task.SetFrameBuffer( newFrameBuffer );
+  DALI_TEST_CHECK( task.GetFrameBuffer() == newFrameBuffer );
+  END_TEST;
+}
+
+int UtcDaliRenderTaskGetFrameBufferN(void)
+{
+  TestApplication application;
+
+  tet_infoline("Testing RenderTask::GetFrameBuffer()");
+
+  RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
+
+  RenderTask task = taskList.GetTask( 0u );
+
+  // By default render-tasks do not render off-screen
+  FrameBuffer frameBuffer = task.GetFrameBuffer();
+  DALI_TEST_CHECK( !frameBuffer );
+
+  END_TEST;
+}
+
 int UtcDaliRenderTaskSetScreenToFrameBufferFunctionP(void)
 {
   TestApplication application;
@@ -2000,7 +2065,7 @@ int UtcDaliRenderTaskContinous05(void)
   Integration::ResourceTypeId imageType  = imageRequest->GetType()->id;
   TextureSet textureSet = CreateTextureSet( image );
 
-  Geometry geometry = CreateQuadGeometry();
+  Geometry geometry = Geometry::QUAD();
   Renderer renderer = Renderer::New(geometry, shader);
   renderer.SetTextures( textureSet );
   Actor secondRootActor = Actor::New();
@@ -2106,7 +2171,7 @@ int UtcDaliRenderTaskOnce02(void)
   Integration::ResourceTypeId imageType  = imageRequest->GetType()->id;
   TextureSet textureSet = CreateTextureSet( image );
 
-  Geometry geometry = CreateQuadGeometry();
+  Geometry geometry = Geometry::QUAD();
   Renderer renderer = Renderer::New(geometry, shader);
   renderer.SetTextures( textureSet );
   Actor secondRootActor = Actor::New();
@@ -2224,7 +2289,7 @@ int UtcDaliRenderTaskOnce04(void)
   Integration::ResourceTypeId imageType  = imageRequest->GetType()->id;
   TextureSet textureSet = CreateTextureSet( image );
 
-  Geometry geometry = CreateQuadGeometry();
+  Geometry geometry = Geometry::QUAD();
   Renderer renderer = Renderer::New(geometry, shader);
   renderer.SetTextures( textureSet );
   Actor secondRootActor = Actor::New();
@@ -2740,7 +2805,7 @@ int UtcDaliRenderTaskOnceNoSync02(void)
   Integration::ResourceTypeId imageType  = imageRequest->GetType()->id;
   TextureSet textureSet = CreateTextureSet( image );
 
-  Geometry geometry = CreateQuadGeometry();
+  Geometry geometry = Geometry::QUAD();
   Renderer renderer = Renderer::New(geometry, shader);
   renderer.SetTextures( textureSet );
   Actor secondRootActor = Actor::New();
@@ -2840,7 +2905,7 @@ int UtcDaliRenderTaskOnceNoSync04(void)
   Integration::ResourceTypeId imageType  = imageRequest->GetType()->id;
   TextureSet textureSet = CreateTextureSet( image );
 
-  Geometry geometry = CreateQuadGeometry();
+  Geometry geometry = Geometry::QUAD();
   Renderer renderer = Renderer::New(geometry, shader);
   renderer.SetTextures( textureSet );
   Actor secondRootActor = Actor::New();