[UTC][dali-adaptor][ACR-1553][Add capture API for returning buffer and Jpeg quality... 80/235480/7
authorSeungho, Baek <sbsh.baek@samsung.com>
Fri, 5 Jun 2020 01:42:00 +0000 (10:42 +0900)
committerSeungho, Baek <sbsh.baek@samsung.com>
Thu, 25 Jun 2020 11:37:26 +0000 (20:37 +0900)
 - In the current DALi implementation, Dali::Capture encodes and saves current rendered result to the .png or .jpg file.
 - This patch adds new utc function for the new APIs to return NativeImageSource and to control .jpg quality.
 - Add negative TCs for the added two APIs

Change-Id: Ifd8024e1345620a49c5aa0e0ea06723e174a49a9
Signed-off-by: Seungho, Baek <sbsh.baek@samsung.com>
src/utc/dali-adaptor/capture/utc-dali-capture.cpp
src/utc/dali-adaptor/tct-dali-adaptor-core_mobile.h
src/utc/dali-adaptor/tct-dali-adaptor-core_tizeniot.h
src/utc/dali-adaptor/tct-dali-adaptor-core_wearable.h

index 2a327114504b3dd20fd0a8e6fb4c4cda29137be2..f4accb292eb10f83795cb43274fc09a9855f2b3b 100755 (executable)
@@ -40,6 +40,10 @@ enum CaptureTestCase
   DOWNCAST_P,
   START_P,
   START_COLOR_P,
+  START_COLOR_AND_QUALITY_P,
+  RETURN_NATIVE_IMAGE_SOURCE_P,
+  START_COLOR_AND_QUALITY_N,
+  RETURN_NATIVE_IMAGE_SOURCE_N,
   FINISHED_SIGNAL_N
 };
 
@@ -83,7 +87,7 @@ struct CaptureTestApp : public ConnectionTracker
     mTimer.TickSignal().Connect( this, &CaptureTestApp::Tick );
     mTimer.Start();
 
-    if( mTestCase == FINISHED_SIGNAL_N )
+    if( mTestCase == FINISHED_SIGNAL_N || mTestCase == START_COLOR_AND_QUALITY_N )
     {
       mCapture = Capture::New();
       mCapture.FinishedSignal().Connect( this, &CaptureTestApp::OnFinished );
@@ -133,6 +137,18 @@ struct CaptureTestApp : public ConnectionTracker
       case START_COLOR_P:
         TestStartWithColor();
         break;
+      case START_COLOR_AND_QUALITY_P:
+        TestStartWithColorAndQuality();
+        break;
+      case RETURN_NATIVE_IMAGE_SOURCE_P:
+        TestStart();
+        break;
+      case START_COLOR_AND_QUALITY_N:
+        TestStartWithColorAndQualityForNegative();
+        break;
+      case RETURN_NATIVE_IMAGE_SOURCE_N:
+        TestNew();
+        break;
       case FINISHED_SIGNAL_N:
         TestFinishedSignal();
         break;
@@ -149,6 +165,18 @@ struct CaptureTestApp : public ConnectionTracker
       case START_COLOR_P:
         CheckFinishedSignal();
         break;
+      case START_COLOR_AND_QUALITY_P:
+        CheckFinishedSignal();
+        break;
+      case RETURN_NATIVE_IMAGE_SOURCE_P:
+        CheckFinishedSignalAndNativeImageSource();
+        break;
+      case START_COLOR_AND_QUALITY_N:
+        ValidateFinished();
+        break;
+      case RETURN_NATIVE_IMAGE_SOURCE_N:
+        ValidateFinished();
+        break;
       case FINISHED_SIGNAL_N:
         ValidateFinished();
         break;
@@ -221,6 +249,32 @@ struct CaptureTestApp : public ConnectionTracker
     mCapture.Start( mRoot, mStageSize, "/tmp/capture.png", Color::RED );
   }
 
+  void TestStartWithColorAndQuality()
+  {
+    mCapture = Capture::New();
+    DALI_CHECK_FAIL( !mCapture, "Capture::New() is failed." );
+
+    mCapture.FinishedSignal().Connect( this, &CaptureTestApp::OnFinished );
+    mCapture.Start( mRoot, mStageSize, "/tmp/capture.jpg", Color::RED, 50 );
+  }
+
+  void TestStartWithColorAndQualityForNegative()
+  {
+    mCapture = Capture::New();
+    DALI_CHECK_FAIL( !mCapture, "Capture::New() is failed." );
+
+    mCapture.FinishedSignal().Connect( this, &CaptureTestApp::OnFinished );
+
+    Actor source;
+
+    try{
+      mCapture.Start( source, mStageSize, "/tmp/capture.png", Color::RED, 50 );
+    }
+    catch( ... )
+    {
+    }
+  }
+
   void TestFinishedSignal()
   {
     mCapture = Capture::New();
@@ -244,6 +298,21 @@ struct CaptureTestApp : public ConnectionTracker
     DaliLog::PrintPass();
   }
 
+  void CheckFinishedSignalAndNativeImageSource()
+  {
+    DALI_CHECK_FAIL( !mFinished, "Finished is failed." );
+    Dali::NativeImageSourcePtr nativeImageSource = mCapture.GetNativeImageSource();
+    DALI_CHECK_FAIL( !nativeImageSource, "GetNativeImageSource is failed ");
+    DaliLog::PrintPass();
+  }
+
+  void CheckNativeImageSourceForNegative()
+  {
+    Dali::NativeImageSourcePtr nativeImageSource = mCapture.GetNativeImageSource();
+    DALI_CHECK_FAIL( nativeImageSource, "GetNativeImageSource is failed ");
+    DaliLog::PrintPass();
+  }
+
   void ValidateFinished()
   {
     DALI_CHECK_FAIL( mFinished, "Finished negative test is failed." );
@@ -398,6 +467,74 @@ int UtcDaliCaptureStartColorP(void)
   return test_return_value;
 }
 
+/**
+ * @testcase            UtcDaliCaptureStartColorAndQualityP
+ * @since_tizen         6.0
+ * @description         Checks Start with color and jpeg quality value as input
+ */
+int UtcDaliCaptureStartColorAndQualityP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  CaptureTestApp testApp( application, START_COLOR_AND_QUALITY_P );
+  application.MainLoop();
+
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliCaptureReturnNativeImageSourceP
+ * @since_tizen         6.0
+ * @description         Checks Return nativeImageSource
+ */
+int UtcDaliCaptureReturnNativeImageSourceP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  CaptureTestApp testApp( application, RETURN_NATIVE_IMAGE_SOURCE_P );
+  application.MainLoop();
+
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliCaptureStartColorAndQualityN
+ * @since_tizen         6.0
+ * @description         Checks Start with color and jpeg quality value as input
+ */
+int UtcDaliCaptureStartColorAndQualityN(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  CaptureTestApp testApp( application, START_COLOR_AND_QUALITY_N );
+  application.MainLoop();
+
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliCaptureReturnNativeImageSourceN
+ * @since_tizen         6.0
+ * @description         Checks Return nativeImageSource
+ */
+int UtcDaliCaptureReturnNativeImageSourceN(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  CaptureTestApp testApp( application, RETURN_NATIVE_IMAGE_SOURCE_N );
+  application.MainLoop();
+
+  return test_return_value;
+}
+
 /**
  * @testcase            UtcDaliCaptureFinishedN
  * @since_tizen         4.0
index 48f6b6180b57da7a70d9efb6284e541dd6f4a33e..6d40861625929886ed95bd97e1040995d7dfa747 100755 (executable)
@@ -165,6 +165,10 @@ extern int UtcDaliCaptureAssignmentP(void);
 extern int UtcDaliCaptureDownCastP(void);
 extern int UtcDaliCaptureStartP(void);
 extern int UtcDaliCaptureStartColorP(void);
+extern int UtcDaliCaptureStartColorAndQualityP(void);
+extern int UtcDaliCaptureReturnNativeImageSourceP(void);
+extern int UtcDaliCaptureStartColorAndQualityN(void);
+extern int UtcDaliCaptureReturnNativeImageSourceN(void);
 extern int UtcDaliCaptureFinishedN(void);
 
 testcase tc_array[] = {
@@ -299,6 +303,10 @@ testcase tc_array[] = {
   {"UtcDaliCaptureDownCastP",UtcDaliCaptureDownCastP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureStartP",UtcDaliCaptureStartP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureStartColorP",UtcDaliCaptureStartColorP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureStartColorAndQualityP",UtcDaliCaptureStartColorAndQualityP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureReturnNativeImageSourceP",UtcDaliCaptureReturnNativeImageSourceP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureStartColorAndQualityN",UtcDaliCaptureStartColorAndQualityN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureReturnNativeImageSourceN",UtcDaliCaptureReturnNativeImageSourceN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureFinishedN",UtcDaliCaptureFinishedN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
        {NULL, NULL}
 };
index 48f6b6180b57da7a70d9efb6284e541dd6f4a33e..6d40861625929886ed95bd97e1040995d7dfa747 100755 (executable)
@@ -165,6 +165,10 @@ extern int UtcDaliCaptureAssignmentP(void);
 extern int UtcDaliCaptureDownCastP(void);
 extern int UtcDaliCaptureStartP(void);
 extern int UtcDaliCaptureStartColorP(void);
+extern int UtcDaliCaptureStartColorAndQualityP(void);
+extern int UtcDaliCaptureReturnNativeImageSourceP(void);
+extern int UtcDaliCaptureStartColorAndQualityN(void);
+extern int UtcDaliCaptureReturnNativeImageSourceN(void);
 extern int UtcDaliCaptureFinishedN(void);
 
 testcase tc_array[] = {
@@ -299,6 +303,10 @@ testcase tc_array[] = {
   {"UtcDaliCaptureDownCastP",UtcDaliCaptureDownCastP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureStartP",UtcDaliCaptureStartP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureStartColorP",UtcDaliCaptureStartColorP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureStartColorAndQualityP",UtcDaliCaptureStartColorAndQualityP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureReturnNativeImageSourceP",UtcDaliCaptureReturnNativeImageSourceP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureStartColorAndQualityN",UtcDaliCaptureStartColorAndQualityN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureReturnNativeImageSourceN",UtcDaliCaptureReturnNativeImageSourceN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureFinishedN",UtcDaliCaptureFinishedN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
        {NULL, NULL}
 };
index d1b1c77ce4ce34dc07f078f2cfe1aa1cdcc5bdc6..0b6e2afd229b7927b815cd20d20432952776278e 100755 (executable)
@@ -193,6 +193,10 @@ extern int UtcDaliCaptureAssignmentP(void);
 extern int UtcDaliCaptureDownCastP(void);
 extern int UtcDaliCaptureStartP(void);
 extern int UtcDaliCaptureStartColorP(void);
+extern int UtcDaliCaptureStartColorAndQualityP(void);
+extern int UtcDaliCaptureReturnNativeImageSourceP(void);
+extern int UtcDaliCaptureStartColorAndQualityN(void);
+extern int UtcDaliCaptureReturnNativeImageSourceN(void);
 extern int UtcDaliCaptureFinishedN(void);
 
 testcase tc_array[] = {
@@ -351,6 +355,10 @@ testcase tc_array[] = {
   {"UtcDaliCaptureDownCastP",UtcDaliCaptureDownCastP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureStartP",UtcDaliCaptureStartP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureStartColorP",UtcDaliCaptureStartColorP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureStartColorAndQualityP",UtcDaliCaptureStartColorAndQualityP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureReturnNativeImageSourceP",UtcDaliCaptureReturnNativeImageSourceP,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureStartColorAndQualityN",UtcDaliCaptureStartColorAndQualityN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
+  {"UtcDaliCaptureReturnNativeImageSourceN",UtcDaliCaptureReturnNativeImageSourceN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
   {"UtcDaliCaptureFinishedN",UtcDaliCaptureFinishedN,utc_Dali_Capture_startup,utc_Dali_Capture_cleanup},
        {NULL, NULL}
 };