[Tizen] Remove graphics-api relative codes in public-api/application.h
[platform/core/uifw/dali-adaptor.git] / automated-tests / src / dali-adaptor / utc-Dali-Application.cpp
index daaee0b..0c0323f 100644 (file)
@@ -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.
  *
  */
 
-#include <dali/dali.h>
 #include <dali-test-suite-utils.h>
+#include <dali/dali.h>
+#include <dali/devel-api/adaptor-framework/application-devel.h>
+#include <stdlib.h>
 
 using namespace Dali;
 
@@ -32,14 +34,13 @@ void utc_dali_application_cleanup(void)
 
 namespace
 {
-
 struct MyTestApp : public ConnectionTracker
 {
-  MyTestApp( Application& app)
-  : initCalled( false ),
-    application( app )
+  MyTestApp(Application& app)
+  : initCalled(false),
+    application(app)
   {
-    application.InitSignal().Connect( this, &MyTestApp::Create );
+    application.InitSignal().Connect(this, &MyTestApp::Create);
   }
 
   void Create(Application& app)
@@ -53,72 +54,95 @@ struct MyTestApp : public ConnectionTracker
   }
 
   // Data
-  bool initCalled;
+  bool         initCalled;
   Application& application;
 };
 
-void ApplicationSignalCallback( Application& app )
+void ApplicationSignalCallback(Application& app)
 {
 }
 
-void ApplicationControlSignalCallback(Application&, void *)
+void ApplicationControlSignalCallback(Application&, void*)
 {
 }
 
 } // unnamed namespace
 
+void LowBatterySignalCallback(Dali::DeviceStatus::Battery::Status status)
+{
+}
+
+void LowMemorySignalCallback(Dali::DeviceStatus::Memory::Status status)
+{
+}
+
 int UtcDaliApplicationNew01(void)
 {
   Application application = Application::New();
 
-  MyTestApp testApp( application );
+  MyTestApp testApp(application);
 
-  DALI_TEST_CHECK( application );
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
 int UtcDaliApplicationNew02(void)
 {
-  int argc( 1 );
-  const char* argList[1] = { "program" };
-  char** argv = const_cast<char**>(argList);
+  int         argc(1);
+  const char* argList[1] = {"program"};
+  char**      argv       = const_cast<char**>(argList);
 
-  Application application = Application::New( &argc, &argv );
+  Application application = Application::New(&argc, &argv);
 
-  MyTestApp testApp( application );
+  MyTestApp testApp(application);
 
-  DALI_TEST_CHECK( application );
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
 int UtcDaliApplicationNew03(void)
 {
-  int argc( 1 );
-  const char* argList[1] = { "program" };
-  char** argv = const_cast<char**>(argList);
+  int         argc(1);
+  const char* argList[1] = {"program"};
+  char**      argv       = const_cast<char**>(argList);
 
-  Application application = Application::New( &argc, &argv, "stylesheet" );
+  Application application = Application::New(&argc, &argv, "stylesheet");
 
-  MyTestApp testApp( application );
+  MyTestApp testApp(application);
 
-  DALI_TEST_CHECK( application );
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
 int UtcDaliApplicationNew04(void)
 {
-  int argc( 1 );
-  const char* argList[1] = { "program" };
-  char** argv = const_cast<char**>(argList);
+  int         argc(1);
+  const char* argList[1] = {"program"};
+  char**      argv       = const_cast<char**>(argList);
+
+  Application application = Application::New(&argc, &argv, "stylesheet", Application::TRANSPARENT);
+
+  MyTestApp testApp(application);
+
+  DALI_TEST_CHECK(application);
+
+  END_TEST;
+}
+
+int UtcDaliApplicationNew05(void)
+{
+  int         argc(1);
+  const char* argList[1] = {"program"};
+  char**      argv       = const_cast<char**>(argList);
 
-  Application application = Application::New( &argc, &argv, "stylesheet", Application::TRANSPARENT );
+  Application application = DevelApplication::New(&argc, &argv, "stylesheet", Application::WINDOW_MODE::OPAQUE, PositionSize(), WindowType::IME);
 
-  MyTestApp testApp( application );
+  MyTestApp testApp(application);
 
-  DALI_TEST_CHECK( application );
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
@@ -126,46 +150,58 @@ int UtcDaliApplicationNew04(void)
 int UtcDaliApplicationCopyAndAssignment(void)
 {
   Application application = Application::New();
-  Application copy( application );
-  DALI_TEST_CHECK( copy == application );
+  Application copy(application);
+  DALI_TEST_CHECK(copy == application);
 
   Application assigned;
-  DALI_TEST_CHECK( !assigned );
+  DALI_TEST_CHECK(!assigned);
   assigned = application;
-  DALI_TEST_CHECK( copy == assigned );
+  DALI_TEST_CHECK(copy == assigned);
 
   END_TEST;
 }
 
-int UtcDaliApplicationMainLoop01N(void)
+int UtcDaliApplicationMoveConstructor(void)
 {
-  Application application;
+  Application application = Application::New();
+  DALI_TEST_CHECK(application);
+  DALI_TEST_EQUALS(1, application.GetBaseObject().ReferenceCount(), TEST_LOCATION);
 
-  try
-  {
-    application.MainLoop();
-    DALI_TEST_CHECK( false ); // Should not get here
-  }
-  catch( ... )
-  {
-    DALI_TEST_CHECK( true );
-  }
+  Application moved = std::move(application);
+  DALI_TEST_CHECK(moved);
+  DALI_TEST_EQUALS(1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+  DALI_TEST_CHECK(!application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationMainLoop02N(void)
+int UtcDaliApplicationMoveAssignment(void)
+{
+  Application application = Application::New();
+  DALI_TEST_CHECK(application);
+  DALI_TEST_EQUALS(1, application.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+
+  Application moved;
+  moved = std::move(application);
+  DALI_TEST_CHECK(moved);
+  DALI_TEST_EQUALS(1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+  DALI_TEST_CHECK(!application);
+
+  END_TEST;
+}
+
+int UtcDaliApplicationMainLoop01N(void)
 {
   Application application;
 
   try
   {
-    application.MainLoop( Configuration::APPLICATION_DOES_NOT_HANDLE_CONTEXT_LOSS );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.MainLoop();
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
@@ -178,11 +214,11 @@ int UtcDaliApplicationLowerN(void)
   try
   {
     application.Lower();
-    DALI_TEST_CHECK( false ); // Should not get here
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
@@ -195,11 +231,11 @@ int UtcDaliApplicationQuitN(void)
   try
   {
     application.Quit();
-    DALI_TEST_CHECK( false ); // Should not get here
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
@@ -212,12 +248,12 @@ int UtcDaliApplicationAddIdleN(void)
   try
   {
     CallbackBase* callback = NULL;
-    application.AddIdle( callback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.AddIdle(callback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
@@ -229,384 +265,342 @@ int UtcDaliApplicationGetWindowN(void)
 
   try
   {
-    (void) application.GetWindow();
-    DALI_TEST_CHECK( false ); // Should not get here
+    (void)application.GetWindow();
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationReplaceWindowN(void)
-{
-  Application application;
-
-  try
-  {
-    application.ReplaceWindow( PositionSize(), "window" );
-    DALI_TEST_CHECK( false ); // Should not get here
-  }
-  catch( ... )
-  {
-    DALI_TEST_CHECK( true );
-  }
-
-  END_TEST;
-}
-
-int UtcDaliApplicationSetViewModeN(void)
+int UtcDaliApplicationInitSignalP(void)
 {
-  Application application;
-
-  try
-  {
-    application.SetViewMode( STEREO_VERTICAL );
-    DALI_TEST_CHECK( false ); // Should not get here
-  }
-  catch( ... )
-  {
-    DALI_TEST_CHECK( true );
-  }
+  Application application = Application::New();
+  application.InitSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationGetViewModeN(void)
+int UtcDaliApplicationInitSignalN(void)
 {
   Application application;
 
   try
   {
-    (void) application.GetViewMode();
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.InitSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationSetStereoBaseN(void)
+int UtcDaliApplicationTerminateSignalP(void)
 {
-  Application application;
-
-  try
-  {
-    application.SetStereoBase( 1.0f );
-    DALI_TEST_CHECK( false ); // Should not get here
-  }
-  catch( ... )
-  {
-    DALI_TEST_CHECK( true );
-  }
+  Application application = Application::New();
+  application.TerminateSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationGetStereoBaseN(void)
+int UtcDaliApplicationTerminateSignalN(void)
 {
   Application application;
 
   try
   {
-    (void) application.GetStereoBase();
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.TerminateSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationInitSignalP(void)
+int UtcDaliApplicationPauseSignalP(void)
 {
   Application application = Application::New();
-  application.InitSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.PauseSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationInitSignalN(void)
+int UtcDaliApplicationPauseSignalN(void)
 {
   Application application;
 
   try
   {
-    application.InitSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.PauseSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationTerminateSignalP(void)
+int UtcDaliApplicationResumeSignalP(void)
 {
   Application application = Application::New();
-  application.TerminateSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.ResumeSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationTerminateSignalN(void)
+int UtcDaliApplicationResumeSignalN(void)
 {
   Application application;
 
   try
   {
-    application.TerminateSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.ResumeSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationPauseSignalP(void)
+int UtcDaliApplicationResetSignalP(void)
 {
   Application application = Application::New();
-  application.PauseSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.ResetSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationPauseSignalN(void)
+int UtcDaliApplicationResetSignalN(void)
 {
   Application application;
 
   try
   {
-    application.PauseSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.ResetSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationResumeSignalP(void)
+int UtcDaliApplicationlControlSignalP(void)
 {
   Application application = Application::New();
-  application.ResumeSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.AppControlSignal().Connect(&ApplicationControlSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationResumeSignalN(void)
+int UtcDaliApplicationlControlSignalN(void)
 {
   Application application;
 
   try
   {
-    application.ResumeSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.AppControlSignal().Connect(&ApplicationControlSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationResetSignalP(void)
+int UtcDaliApplicationLanguageChangedSignalP(void)
 {
   Application application = Application::New();
-  application.ResetSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.LanguageChangedSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationResetSignalN(void)
+int UtcDaliApplicationLanguageChangedSignalN(void)
 {
   Application application;
 
   try
   {
-    application.ResetSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.LanguageChangedSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationResizeSignalP(void)
+int UtcDaliApplicationRegionChangedSignalP(void)
 {
   Application application = Application::New();
-  application.ResizeSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.RegionChangedSignal().Connect(&ApplicationSignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationResizeSignalN(void)
+int UtcDaliApplicationRegionChangedSignalN(void)
 {
   Application application;
 
   try
   {
-    application.ResizeSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.RegionChangedSignal().Connect(&ApplicationSignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationlControlSignalP(void)
+int UtcDaliApplicationLowBatterySignalP(void)
 {
   Application application = Application::New();
-  application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.LowBatterySignal().Connect(&LowBatterySignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationlControlSignalN(void)
+int UtcDaliApplicationLowBatterySignalN(void)
 {
   Application application;
 
   try
   {
-    application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.LowBatterySignal().Connect(&LowBatterySignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationLanguageChangedSignalP(void)
+int UtcDaliApplicationLowMemorySignalP(void)
 {
   Application application = Application::New();
-  application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  application.LowMemorySignal().Connect(&LowMemorySignalCallback);
+  DALI_TEST_CHECK(application);
 
   END_TEST;
 }
 
-int UtcDaliApplicationLanguageChangedSignalN(void)
+int UtcDaliApplicationLowMemorySignalN(void)
 {
   Application application;
 
   try
   {
-    application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    application.LowMemorySignal().Connect(&LowMemorySignalCallback);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationRegionChangedSignalP(void)
+int UtcDaliApplicationGetResourcePathP(void)
 {
   Application application = Application::New();
-  application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  std::string result("**invalid path**"); // Calling GetResourcePath should replace this with a system dependent path or "".
+  result = application.GetResourcePath();
+  DALI_TEST_CHECK(result != "**invalid path**");
 
   END_TEST;
 }
 
-int UtcDaliApplicationRegionChangedSignalN(void)
+int UtcDaliApplicationGetRegionP(void)
 {
-  Application application;
-
-  try
-  {
-    application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
-  }
-  catch( ... )
-  {
-    DALI_TEST_CHECK( true );
-  }
+  Application application = Application::New();
+  std::string result;
+  result = application.GetRegion();
+  DALI_TEST_CHECK(result == "NOT_SUPPORTED"); // Not supported in UBUNTU
 
   END_TEST;
 }
 
-int UtcDaliApplicationBatteryLowSignalP(void)
+int UtcDaliApplicationGetLanguageP(void)
 {
   Application application = Application::New();
-  application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
+  std::string result;
+  result = application.GetLanguage();
+  DALI_TEST_CHECK(result == "NOT_SUPPORTED"); // Not supported in UBUNTU
 
   END_TEST;
 }
 
-int UtcDaliApplicationBatteryLowSignalN(void)
+int UtcDaliApplicationGetObjectRegistryN(void)
+{
+  Application application = Application::New();
+  DALI_TEST_CHECK(!application.GetObjectRegistry());
+  END_TEST;
+}
+
+int UtcDaliApplicationAddIdleWithReturnValueN(void)
 {
   Application application;
 
   try
   {
-    application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
+    DevelApplication::AddIdleWithReturnValue(application, nullptr);
+    DALI_TEST_CHECK(false); // Should not get here
   }
-  catch( ... )
+  catch(...)
   {
-    DALI_TEST_CHECK( true );
+    DALI_TEST_CHECK(true);
   }
 
   END_TEST;
 }
 
-int UtcDaliApplicationMemoryLowSignalP(void)
+int UtcDaliApplicationGetDataPathP(void)
 {
-  Application application = Application::New();
-  application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
-  DALI_TEST_CHECK( application );
-
+  setenv("DALI_APPLICATION_DATA_DIR", "MyDataPath", 1);
+  std::string dataPath = DevelApplication::GetDataPath();
+  DALI_TEST_EQUALS(dataPath, "MyDataPath", TEST_LOCATION);
   END_TEST;
 }
 
-int UtcDaliApplicationMemoryLowSignalN(void)
+int UtcDaliApplicationDownCastN(void)
 {
-  Application application;
-
-  try
-  {
-    application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
-    DALI_TEST_CHECK( false ); // Should not get here
-  }
-  catch( ... )
-  {
-    DALI_TEST_CHECK( true );
-  }
-
+  Application application = DevelApplication::DownCast(nullptr);
+  DALI_TEST_CHECK(!application);
   END_TEST;
 }