/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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>
using namespace Dali;
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)
}
// 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
-int UtcDaliApplicationNew(void)
+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);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationNew02(void)
+{
+ int argc(1);
+ const char* argList[1] = {"program"};
+ char** argv = const_cast<char**>(argList);
+
+ Application application = Application::New(&argc, &argv);
+
+ MyTestApp testApp(application);
+
+ DALI_TEST_CHECK(application);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationNew03(void)
+{
+ int argc(1);
+ const char* argList[1] = {"program"};
+ char** argv = const_cast<char**>(argList);
+
+ Application application = Application::New(&argc, &argv, "stylesheet");
+
+ MyTestApp testApp(application);
+
+ DALI_TEST_CHECK(application);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationNew04(void)
+{
+ int argc(1);
+ const char* argList[1] = {"program"};
+ char** argv = const_cast<char**>(argList);
- DALI_TEST_CHECK( application );
+ Application application = Application::New(&argc, &argv, "stylesheet", Application::TRANSPARENT);
+
+ MyTestApp testApp(application);
+
+ DALI_TEST_CHECK(application);
END_TEST;
}
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 UtcDaliApplicationInitSignal(void)
+int UtcDaliApplicationMoveConstructor(void)
{
Application application = Application::New();
- application.InitSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ DALI_TEST_CHECK(application);
+ DALI_TEST_EQUALS(1, application.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+
+ 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 UtcDaliApplicationTerminateSignal(void)
+int UtcDaliApplicationMoveAssignment(void)
{
Application application = Application::New();
- application.TerminateSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ 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();
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationLowerN(void)
+{
+ Application application;
+
+ try
+ {
+ application.Lower();
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationQuitN(void)
+{
+ Application application;
+
+ try
+ {
+ application.Quit();
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationAddIdleN(void)
+{
+ Application application;
+
+ try
+ {
+ CallbackBase* callback = NULL;
+ application.AddIdle(callback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationGetWindowN(void)
+{
+ Application application;
+
+ try
+ {
+ (void)application.GetWindow();
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
END_TEST;
}
-int UtcDaliApplicationPauseSignal(void)
+int UtcDaliApplicationInitSignalP(void)
{
Application application = Application::New();
- application.PauseSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.InitSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
END_TEST;
}
-int UtcDaliApplicationResumeSignal(void)
+int UtcDaliApplicationInitSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.InitSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationTerminateSignalP(void)
{
Application application = Application::New();
- application.ResumeSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.TerminateSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
END_TEST;
}
-int UtcDaliApplicationResetSignal(void)
+int UtcDaliApplicationTerminateSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.TerminateSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationPauseSignalP(void)
{
Application application = Application::New();
- application.ResetSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.PauseSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
END_TEST;
}
-int UtcDaliApplicationResizeSignal(void)
+int UtcDaliApplicationPauseSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.PauseSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationResumeSignalP(void)
{
Application application = Application::New();
- application.ResizeSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.ResumeSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
END_TEST;
}
-int UtcDaliApplicationlControlSignal(void)
+int UtcDaliApplicationResumeSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.ResumeSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationResetSignalP(void)
{
Application application = Application::New();
- application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
- DALI_TEST_CHECK( application );
+ application.ResetSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationResetSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.ResetSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
END_TEST;
}
-int UtcDaliApplicationLanguageChangedSignal(void)
+int UtcDaliApplicationlControlSignalP(void)
{
Application application = Application::New();
- application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.AppControlSignal().Connect(&ApplicationControlSignalCallback);
+ DALI_TEST_CHECK(application);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationlControlSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.AppControlSignal().Connect(&ApplicationControlSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
END_TEST;
}
-int UtcDaliApplicationRegionChangedSignal(void)
+int UtcDaliApplicationLanguageChangedSignalP(void)
{
Application application = Application::New();
- application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.LanguageChangedSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
END_TEST;
}
-int UtcDaliApplicationBatteryLowSignal(void)
+int UtcDaliApplicationLanguageChangedSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.LanguageChangedSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationRegionChangedSignalP(void)
{
Application application = Application::New();
- application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.RegionChangedSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(application);
END_TEST;
}
-int UtcDaliApplicationMemoryLowSignal(void)
+int UtcDaliApplicationRegionChangedSignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.RegionChangedSignal().Connect(&ApplicationSignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationLowBatterySignalP(void)
{
Application application = Application::New();
- application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
- DALI_TEST_CHECK( application );
+ application.LowBatterySignal().Connect(&LowBatterySignalCallback);
+ DALI_TEST_CHECK(application);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationLowBatterySignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.LowBatterySignal().Connect(&LowBatterySignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
END_TEST;
}
+
+int UtcDaliApplicationLowMemorySignalP(void)
+{
+ Application application = Application::New();
+ application.LowMemorySignal().Connect(&LowMemorySignalCallback);
+ DALI_TEST_CHECK(application);
+
+ END_TEST;
+}
+
+int UtcDaliApplicationLowMemorySignalN(void)
+{
+ Application application;
+
+ try
+ {
+ application.LowMemorySignal().Connect(&LowMemorySignalCallback);
+ DALI_TEST_CHECK(false); // Should not get here
+ }
+ catch(...)
+ {
+ DALI_TEST_CHECK(true);
+ }
+
+ END_TEST;
+}
+
+int UtcDaliApplicationGetResourcePathP(void)
+{
+ Application application = Application::New();
+ 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 UtcDaliApplicationGetRegionP(void)
+{
+ Application application = Application::New();
+ std::string result;
+ result = application.GetRegion();
+ DALI_TEST_CHECK(result == "NOT_SUPPORTED"); // Not supported in UBUNTU
+
+ END_TEST;
+}
+
+int UtcDaliApplicationGetLanguageP(void)
+{
+ Application application = Application::New();
+ std::string result;
+ result = application.GetLanguage();
+ DALI_TEST_CHECK(result == "NOT_SUPPORTED"); // Not supported in UBUNTU
+
+ END_TEST;
+}
+
+int UtcDaliApplicationGetObjectRegistryN(void)
+{
+ Application application = Application::New();
+ DALI_TEST_CHECK(!application.GetObjectRegistry());
+ END_TEST;
+}