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 UtcDaliApplicationSetViewModeN(void)
270 Application application;
274 application.SetViewMode( STEREO_VERTICAL );
275 DALI_TEST_CHECK( false ); // Should not get here
279 DALI_TEST_CHECK( true );
285 int UtcDaliApplicationGetViewModeN(void)
287 Application application;
291 (void) application.GetViewMode();
292 DALI_TEST_CHECK( false ); // Should not get here
296 DALI_TEST_CHECK( true );
302 int UtcDaliApplicationSetStereoBaseN(void)
304 Application application;
308 application.SetStereoBase( 1.0f );
309 DALI_TEST_CHECK( false ); // Should not get here
313 DALI_TEST_CHECK( true );
319 int UtcDaliApplicationGetStereoBaseN(void)
321 Application application;
325 (void) application.GetStereoBase();
326 DALI_TEST_CHECK( false ); // Should not get here
330 DALI_TEST_CHECK( true );
336 int UtcDaliApplicationInitSignalP(void)
338 Application application = Application::New();
339 application.InitSignal().Connect( &ApplicationSignalCallback );
340 DALI_TEST_CHECK( application );
345 int UtcDaliApplicationInitSignalN(void)
347 Application application;
351 application.InitSignal().Connect( &ApplicationSignalCallback );
352 DALI_TEST_CHECK( false ); // Should not get here
356 DALI_TEST_CHECK( true );
362 int UtcDaliApplicationTerminateSignalP(void)
364 Application application = Application::New();
365 application.TerminateSignal().Connect( &ApplicationSignalCallback );
366 DALI_TEST_CHECK( application );
371 int UtcDaliApplicationTerminateSignalN(void)
373 Application application;
377 application.TerminateSignal().Connect( &ApplicationSignalCallback );
378 DALI_TEST_CHECK( false ); // Should not get here
382 DALI_TEST_CHECK( true );
388 int UtcDaliApplicationPauseSignalP(void)
390 Application application = Application::New();
391 application.PauseSignal().Connect( &ApplicationSignalCallback );
392 DALI_TEST_CHECK( application );
397 int UtcDaliApplicationPauseSignalN(void)
399 Application application;
403 application.PauseSignal().Connect( &ApplicationSignalCallback );
404 DALI_TEST_CHECK( false ); // Should not get here
408 DALI_TEST_CHECK( true );
414 int UtcDaliApplicationResumeSignalP(void)
416 Application application = Application::New();
417 application.ResumeSignal().Connect( &ApplicationSignalCallback );
418 DALI_TEST_CHECK( application );
423 int UtcDaliApplicationResumeSignalN(void)
425 Application application;
429 application.ResumeSignal().Connect( &ApplicationSignalCallback );
430 DALI_TEST_CHECK( false ); // Should not get here
434 DALI_TEST_CHECK( true );
440 int UtcDaliApplicationResetSignalP(void)
442 Application application = Application::New();
443 application.ResetSignal().Connect( &ApplicationSignalCallback );
444 DALI_TEST_CHECK( application );
449 int UtcDaliApplicationResetSignalN(void)
451 Application application;
455 application.ResetSignal().Connect( &ApplicationSignalCallback );
456 DALI_TEST_CHECK( false ); // Should not get here
460 DALI_TEST_CHECK( true );
466 int UtcDaliApplicationResizeSignalP(void)
468 Application application = Application::New();
469 application.ResizeSignal().Connect( &ApplicationSignalCallback );
470 DALI_TEST_CHECK( application );
475 int UtcDaliApplicationResizeSignalN(void)
477 Application application;
481 application.ResizeSignal().Connect( &ApplicationSignalCallback );
482 DALI_TEST_CHECK( false ); // Should not get here
486 DALI_TEST_CHECK( true );
492 int UtcDaliApplicationlControlSignalP(void)
494 Application application = Application::New();
495 application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
496 DALI_TEST_CHECK( application );
501 int UtcDaliApplicationlControlSignalN(void)
503 Application application;
507 application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
508 DALI_TEST_CHECK( false ); // Should not get here
512 DALI_TEST_CHECK( true );
518 int UtcDaliApplicationLanguageChangedSignalP(void)
520 Application application = Application::New();
521 application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
522 DALI_TEST_CHECK( application );
527 int UtcDaliApplicationLanguageChangedSignalN(void)
529 Application application;
533 application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
534 DALI_TEST_CHECK( false ); // Should not get here
538 DALI_TEST_CHECK( true );
544 int UtcDaliApplicationRegionChangedSignalP(void)
546 Application application = Application::New();
547 application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
548 DALI_TEST_CHECK( application );
553 int UtcDaliApplicationRegionChangedSignalN(void)
555 Application application;
559 application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
560 DALI_TEST_CHECK( false ); // Should not get here
564 DALI_TEST_CHECK( true );
570 int UtcDaliApplicationBatteryLowSignalP(void)
572 Application application = Application::New();
573 application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
574 DALI_TEST_CHECK( application );
579 int UtcDaliApplicationBatteryLowSignalN(void)
581 Application application;
585 application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
586 DALI_TEST_CHECK( false ); // Should not get here
590 DALI_TEST_CHECK( true );
596 int UtcDaliApplicationMemoryLowSignalP(void)
598 Application application = Application::New();
599 application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
600 DALI_TEST_CHECK( application );
605 int UtcDaliApplicationMemoryLowSignalN(void)
607 Application application;
611 application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
612 DALI_TEST_CHECK( false ); // Should not get here
616 DALI_TEST_CHECK( true );
622 int UtcDaliApplicationLowBatterySignalP(void)
624 Application application = Application::New();
625 application.LowBatterySignal().Connect( &LowBatterySignalCallback );
626 DALI_TEST_CHECK( application );
631 int UtcDaliApplicationLowBatterySignalN(void)
633 Application application;
637 application.LowBatterySignal().Connect( &LowBatterySignalCallback );
638 DALI_TEST_CHECK( false ); // Should not get here
642 DALI_TEST_CHECK( true );
648 int UtcDaliApplicationLowMemorySignalP(void)
650 Application application = Application::New();
651 application.LowMemorySignal().Connect( &LowMemorySignalCallback );
652 DALI_TEST_CHECK( application );
657 int UtcDaliApplicationLowMemorySignalN(void)
659 Application application;
663 application.LowMemorySignal().Connect( &LowMemorySignalCallback );
664 DALI_TEST_CHECK( false ); // Should not get here
668 DALI_TEST_CHECK( true );
674 int UtcDaliApplicationGetResourcePathP(void)
676 Application application = Application::New();
677 std::string result ("**invalid path**"); // Calling GetResourcePath should replace this with a system dependent path or "".
678 result = application.GetResourcePath();
679 DALI_TEST_CHECK( result !="**invalid path**" );
684 int UtcDaliApplicationGetRegionP(void)
686 Application application = Application::New();
688 result = application.GetRegion();
689 DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU
694 int UtcDaliApplicationGetLanguageP(void)
696 Application application = Application::New();
698 result = application.GetLanguage();
699 DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU