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 int UtcDaliApplicationNew01(void)
72 Application application = Application::New();
74 MyTestApp testApp( application );
76 DALI_TEST_CHECK( application );
81 int UtcDaliApplicationNew02(void)
84 const char* argList[1] = { "program" };
85 char** argv = const_cast<char**>(argList);
87 Application application = Application::New( &argc, &argv );
89 MyTestApp testApp( application );
91 DALI_TEST_CHECK( application );
96 int UtcDaliApplicationNew03(void)
99 const char* argList[1] = { "program" };
100 char** argv = const_cast<char**>(argList);
102 Application application = Application::New( &argc, &argv, "stylesheet" );
104 MyTestApp testApp( application );
106 DALI_TEST_CHECK( application );
111 int UtcDaliApplicationNew04(void)
114 const char* argList[1] = { "program" };
115 char** argv = const_cast<char**>(argList);
117 Application application = Application::New( &argc, &argv, "stylesheet", Application::TRANSPARENT );
119 MyTestApp testApp( application );
121 DALI_TEST_CHECK( application );
126 int UtcDaliApplicationCopyAndAssignment(void)
128 Application application = Application::New();
129 Application copy( application );
130 DALI_TEST_CHECK( copy == application );
132 Application assigned;
133 DALI_TEST_CHECK( !assigned );
134 assigned = application;
135 DALI_TEST_CHECK( copy == assigned );
140 int UtcDaliApplicationMainLoop01N(void)
142 Application application;
146 application.MainLoop();
147 DALI_TEST_CHECK( false ); // Should not get here
151 DALI_TEST_CHECK( true );
157 int UtcDaliApplicationMainLoop02N(void)
159 Application application;
163 application.MainLoop( Configuration::APPLICATION_DOES_NOT_HANDLE_CONTEXT_LOSS );
164 DALI_TEST_CHECK( false ); // Should not get here
168 DALI_TEST_CHECK( true );
174 int UtcDaliApplicationLowerN(void)
176 Application application;
181 DALI_TEST_CHECK( false ); // Should not get here
185 DALI_TEST_CHECK( true );
191 int UtcDaliApplicationQuitN(void)
193 Application application;
198 DALI_TEST_CHECK( false ); // Should not get here
202 DALI_TEST_CHECK( true );
208 int UtcDaliApplicationAddIdleN(void)
210 Application application;
214 CallbackBase* callback = NULL;
215 application.AddIdle( callback );
216 DALI_TEST_CHECK( false ); // Should not get here
220 DALI_TEST_CHECK( true );
226 int UtcDaliApplicationGetWindowN(void)
228 Application application;
232 (void) application.GetWindow();
233 DALI_TEST_CHECK( false ); // Should not get here
237 DALI_TEST_CHECK( true );
243 int UtcDaliApplicationReplaceWindowN(void)
245 Application application;
249 application.ReplaceWindow( PositionSize(), "window" );
250 DALI_TEST_CHECK( false ); // Should not get here
254 DALI_TEST_CHECK( true );
260 int UtcDaliApplicationSetViewModeN(void)
262 Application application;
266 application.SetViewMode( STEREO_VERTICAL );
267 DALI_TEST_CHECK( false ); // Should not get here
271 DALI_TEST_CHECK( true );
277 int UtcDaliApplicationGetViewModeN(void)
279 Application application;
283 (void) application.GetViewMode();
284 DALI_TEST_CHECK( false ); // Should not get here
288 DALI_TEST_CHECK( true );
294 int UtcDaliApplicationSetStereoBaseN(void)
296 Application application;
300 application.SetStereoBase( 1.0f );
301 DALI_TEST_CHECK( false ); // Should not get here
305 DALI_TEST_CHECK( true );
311 int UtcDaliApplicationGetStereoBaseN(void)
313 Application application;
317 (void) application.GetStereoBase();
318 DALI_TEST_CHECK( false ); // Should not get here
322 DALI_TEST_CHECK( true );
328 int UtcDaliApplicationInitSignalP(void)
330 Application application = Application::New();
331 application.InitSignal().Connect( &ApplicationSignalCallback );
332 DALI_TEST_CHECK( application );
337 int UtcDaliApplicationInitSignalN(void)
339 Application application;
343 application.InitSignal().Connect( &ApplicationSignalCallback );
344 DALI_TEST_CHECK( false ); // Should not get here
348 DALI_TEST_CHECK( true );
354 int UtcDaliApplicationTerminateSignalP(void)
356 Application application = Application::New();
357 application.TerminateSignal().Connect( &ApplicationSignalCallback );
358 DALI_TEST_CHECK( application );
363 int UtcDaliApplicationTerminateSignalN(void)
365 Application application;
369 application.TerminateSignal().Connect( &ApplicationSignalCallback );
370 DALI_TEST_CHECK( false ); // Should not get here
374 DALI_TEST_CHECK( true );
380 int UtcDaliApplicationPauseSignalP(void)
382 Application application = Application::New();
383 application.PauseSignal().Connect( &ApplicationSignalCallback );
384 DALI_TEST_CHECK( application );
389 int UtcDaliApplicationPauseSignalN(void)
391 Application application;
395 application.PauseSignal().Connect( &ApplicationSignalCallback );
396 DALI_TEST_CHECK( false ); // Should not get here
400 DALI_TEST_CHECK( true );
406 int UtcDaliApplicationResumeSignalP(void)
408 Application application = Application::New();
409 application.ResumeSignal().Connect( &ApplicationSignalCallback );
410 DALI_TEST_CHECK( application );
415 int UtcDaliApplicationResumeSignalN(void)
417 Application application;
421 application.ResumeSignal().Connect( &ApplicationSignalCallback );
422 DALI_TEST_CHECK( false ); // Should not get here
426 DALI_TEST_CHECK( true );
432 int UtcDaliApplicationResetSignalP(void)
434 Application application = Application::New();
435 application.ResetSignal().Connect( &ApplicationSignalCallback );
436 DALI_TEST_CHECK( application );
441 int UtcDaliApplicationResetSignalN(void)
443 Application application;
447 application.ResetSignal().Connect( &ApplicationSignalCallback );
448 DALI_TEST_CHECK( false ); // Should not get here
452 DALI_TEST_CHECK( true );
458 int UtcDaliApplicationResizeSignalP(void)
460 Application application = Application::New();
461 application.ResizeSignal().Connect( &ApplicationSignalCallback );
462 DALI_TEST_CHECK( application );
467 int UtcDaliApplicationResizeSignalN(void)
469 Application application;
473 application.ResizeSignal().Connect( &ApplicationSignalCallback );
474 DALI_TEST_CHECK( false ); // Should not get here
478 DALI_TEST_CHECK( true );
484 int UtcDaliApplicationlControlSignalP(void)
486 Application application = Application::New();
487 application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
488 DALI_TEST_CHECK( application );
493 int UtcDaliApplicationlControlSignalN(void)
495 Application application;
499 application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
500 DALI_TEST_CHECK( false ); // Should not get here
504 DALI_TEST_CHECK( true );
510 int UtcDaliApplicationLanguageChangedSignalP(void)
512 Application application = Application::New();
513 application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
514 DALI_TEST_CHECK( application );
519 int UtcDaliApplicationLanguageChangedSignalN(void)
521 Application application;
525 application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
526 DALI_TEST_CHECK( false ); // Should not get here
530 DALI_TEST_CHECK( true );
536 int UtcDaliApplicationRegionChangedSignalP(void)
538 Application application = Application::New();
539 application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
540 DALI_TEST_CHECK( application );
545 int UtcDaliApplicationRegionChangedSignalN(void)
547 Application application;
551 application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
552 DALI_TEST_CHECK( false ); // Should not get here
556 DALI_TEST_CHECK( true );
562 int UtcDaliApplicationBatteryLowSignalP(void)
564 Application application = Application::New();
565 application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
566 DALI_TEST_CHECK( application );
571 int UtcDaliApplicationBatteryLowSignalN(void)
573 Application application;
577 application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
578 DALI_TEST_CHECK( false ); // Should not get here
582 DALI_TEST_CHECK( true );
588 int UtcDaliApplicationMemoryLowSignalP(void)
590 Application application = Application::New();
591 application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
592 DALI_TEST_CHECK( application );
597 int UtcDaliApplicationMemoryLowSignalN(void)
599 Application application;
603 application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
604 DALI_TEST_CHECK( false ); // Should not get here
608 DALI_TEST_CHECK( true );