2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <dali/dali.h>
19 #include <dali-test-suite-utils.h>
23 void utc_dali_application_startup(void)
25 test_return_value = TET_UNDEF;
28 void utc_dali_application_cleanup(void)
30 test_return_value = TET_PASS;
36 struct MyTestApp : public ConnectionTracker
38 MyTestApp( Application& app)
39 : initCalled( false ),
42 application.InitSignal().Connect( this, &MyTestApp::Create );
45 void Create(Application& app)
57 Application& application;
60 void ApplicationSignalCallback( Application& app )
64 void ApplicationControlSignalCallback(Application&, void *)
68 } // unnamed namespace
70 void LowBatterySignalCallback( Dali::DeviceStatus::Battery::Status status )
74 void LowMemorySignalCallback( Dali::DeviceStatus::Memory::Status status )
78 int UtcDaliApplicationNew01(void)
80 Application application = Application::New();
82 MyTestApp testApp( application );
84 DALI_TEST_CHECK( application );
89 int UtcDaliApplicationNew02(void)
92 const char* argList[1] = { "program" };
93 char** argv = const_cast<char**>(argList);
95 Application application = Application::New( &argc, &argv );
97 MyTestApp testApp( application );
99 DALI_TEST_CHECK( application );
104 int UtcDaliApplicationNew03(void)
107 const char* argList[1] = { "program" };
108 char** argv = const_cast<char**>(argList);
110 Application application = Application::New( &argc, &argv, "stylesheet" );
112 MyTestApp testApp( application );
114 DALI_TEST_CHECK( application );
119 int UtcDaliApplicationNew04(void)
122 const char* argList[1] = { "program" };
123 char** argv = const_cast<char**>(argList);
125 Application application = Application::New( &argc, &argv, "stylesheet", Application::TRANSPARENT );
127 MyTestApp testApp( application );
129 DALI_TEST_CHECK( application );
134 int UtcDaliApplicationCopyAndAssignment(void)
136 Application application = Application::New();
137 Application copy( application );
138 DALI_TEST_CHECK( copy == application );
140 Application assigned;
141 DALI_TEST_CHECK( !assigned );
142 assigned = application;
143 DALI_TEST_CHECK( copy == assigned );
148 int UtcDaliApplicationMainLoop01N(void)
150 Application application;
154 application.MainLoop();
155 DALI_TEST_CHECK( false ); // Should not get here
159 DALI_TEST_CHECK( true );
165 int UtcDaliApplicationMainLoop02N(void)
167 Application application;
171 application.MainLoop( Configuration::APPLICATION_DOES_NOT_HANDLE_CONTEXT_LOSS );
172 DALI_TEST_CHECK( false ); // Should not get here
176 DALI_TEST_CHECK( true );
182 int UtcDaliApplicationLowerN(void)
184 Application application;
189 DALI_TEST_CHECK( false ); // Should not get here
193 DALI_TEST_CHECK( true );
199 int UtcDaliApplicationQuitN(void)
201 Application application;
206 DALI_TEST_CHECK( false ); // Should not get here
210 DALI_TEST_CHECK( true );
216 int UtcDaliApplicationAddIdleN(void)
218 Application application;
222 CallbackBase* callback = NULL;
223 application.AddIdle( callback );
224 DALI_TEST_CHECK( false ); // Should not get here
228 DALI_TEST_CHECK( true );
234 int UtcDaliApplicationGetWindowN(void)
236 Application application;
240 (void) application.GetWindow();
241 DALI_TEST_CHECK( false ); // Should not get here
245 DALI_TEST_CHECK( true );
251 int UtcDaliApplicationReplaceWindowN(void)
253 Application application;
257 application.ReplaceWindow( PositionSize(), "window" );
258 DALI_TEST_CHECK( false ); // Should not get here
262 DALI_TEST_CHECK( true );
268 int UtcDaliApplicationInitSignalP(void)
270 Application application = Application::New();
271 application.InitSignal().Connect( &ApplicationSignalCallback );
272 DALI_TEST_CHECK( application );
277 int UtcDaliApplicationInitSignalN(void)
279 Application application;
283 application.InitSignal().Connect( &ApplicationSignalCallback );
284 DALI_TEST_CHECK( false ); // Should not get here
288 DALI_TEST_CHECK( true );
294 int UtcDaliApplicationTerminateSignalP(void)
296 Application application = Application::New();
297 application.TerminateSignal().Connect( &ApplicationSignalCallback );
298 DALI_TEST_CHECK( application );
303 int UtcDaliApplicationTerminateSignalN(void)
305 Application application;
309 application.TerminateSignal().Connect( &ApplicationSignalCallback );
310 DALI_TEST_CHECK( false ); // Should not get here
314 DALI_TEST_CHECK( true );
320 int UtcDaliApplicationPauseSignalP(void)
322 Application application = Application::New();
323 application.PauseSignal().Connect( &ApplicationSignalCallback );
324 DALI_TEST_CHECK( application );
329 int UtcDaliApplicationPauseSignalN(void)
331 Application application;
335 application.PauseSignal().Connect( &ApplicationSignalCallback );
336 DALI_TEST_CHECK( false ); // Should not get here
340 DALI_TEST_CHECK( true );
346 int UtcDaliApplicationResumeSignalP(void)
348 Application application = Application::New();
349 application.ResumeSignal().Connect( &ApplicationSignalCallback );
350 DALI_TEST_CHECK( application );
355 int UtcDaliApplicationResumeSignalN(void)
357 Application application;
361 application.ResumeSignal().Connect( &ApplicationSignalCallback );
362 DALI_TEST_CHECK( false ); // Should not get here
366 DALI_TEST_CHECK( true );
372 int UtcDaliApplicationResetSignalP(void)
374 Application application = Application::New();
375 application.ResetSignal().Connect( &ApplicationSignalCallback );
376 DALI_TEST_CHECK( application );
381 int UtcDaliApplicationResetSignalN(void)
383 Application application;
387 application.ResetSignal().Connect( &ApplicationSignalCallback );
388 DALI_TEST_CHECK( false ); // Should not get here
392 DALI_TEST_CHECK( true );
398 int UtcDaliApplicationResizeSignalP(void)
400 Application application = Application::New();
401 application.ResizeSignal().Connect( &ApplicationSignalCallback );
402 DALI_TEST_CHECK( application );
407 int UtcDaliApplicationResizeSignalN(void)
409 Application application;
413 application.ResizeSignal().Connect( &ApplicationSignalCallback );
414 DALI_TEST_CHECK( false ); // Should not get here
418 DALI_TEST_CHECK( true );
424 int UtcDaliApplicationlControlSignalP(void)
426 Application application = Application::New();
427 application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
428 DALI_TEST_CHECK( application );
433 int UtcDaliApplicationlControlSignalN(void)
435 Application application;
439 application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
440 DALI_TEST_CHECK( false ); // Should not get here
444 DALI_TEST_CHECK( true );
450 int UtcDaliApplicationLanguageChangedSignalP(void)
452 Application application = Application::New();
453 application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
454 DALI_TEST_CHECK( application );
459 int UtcDaliApplicationLanguageChangedSignalN(void)
461 Application application;
465 application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
466 DALI_TEST_CHECK( false ); // Should not get here
470 DALI_TEST_CHECK( true );
476 int UtcDaliApplicationRegionChangedSignalP(void)
478 Application application = Application::New();
479 application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
480 DALI_TEST_CHECK( application );
485 int UtcDaliApplicationRegionChangedSignalN(void)
487 Application application;
491 application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
492 DALI_TEST_CHECK( false ); // Should not get here
496 DALI_TEST_CHECK( true );
502 int UtcDaliApplicationBatteryLowSignalP(void)
504 Application application = Application::New();
505 application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
506 DALI_TEST_CHECK( application );
511 int UtcDaliApplicationBatteryLowSignalN(void)
513 Application application;
517 application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
518 DALI_TEST_CHECK( false ); // Should not get here
522 DALI_TEST_CHECK( true );
528 int UtcDaliApplicationMemoryLowSignalP(void)
530 Application application = Application::New();
531 application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
532 DALI_TEST_CHECK( application );
537 int UtcDaliApplicationMemoryLowSignalN(void)
539 Application application;
543 application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
544 DALI_TEST_CHECK( false ); // Should not get here
548 DALI_TEST_CHECK( true );
554 int UtcDaliApplicationLowBatterySignalP(void)
556 Application application = Application::New();
557 application.LowBatterySignal().Connect( &LowBatterySignalCallback );
558 DALI_TEST_CHECK( application );
563 int UtcDaliApplicationLowBatterySignalN(void)
565 Application application;
569 application.LowBatterySignal().Connect( &LowBatterySignalCallback );
570 DALI_TEST_CHECK( false ); // Should not get here
574 DALI_TEST_CHECK( true );
580 int UtcDaliApplicationLowMemorySignalP(void)
582 Application application = Application::New();
583 application.LowMemorySignal().Connect( &LowMemorySignalCallback );
584 DALI_TEST_CHECK( application );
589 int UtcDaliApplicationLowMemorySignalN(void)
591 Application application;
595 application.LowMemorySignal().Connect( &LowMemorySignalCallback );
596 DALI_TEST_CHECK( false ); // Should not get here
600 DALI_TEST_CHECK( true );
606 int UtcDaliApplicationGetResourcePathP(void)
608 Application application = Application::New();
609 std::string result ("**invalid path**"); // Calling GetResourcePath should replace this with a system dependent path or "".
610 result = application.GetResourcePath();
611 DALI_TEST_CHECK( result !="**invalid path**" );
616 int UtcDaliApplicationGetRegionP(void)
618 Application application = Application::New();
620 result = application.GetRegion();
621 DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU
626 int UtcDaliApplicationGetLanguageP(void)
628 Application application = Application::New();
630 result = application.GetLanguage();
631 DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU