DALi Version 1.3.49
[platform/core/uifw/dali-adaptor.git] / automated-tests / src / dali-adaptor / utc-Dali-Application.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 #include <dali/dali.h>
19 #include <dali-test-suite-utils.h>
20
21 using namespace Dali;
22
23 void utc_dali_application_startup(void)
24 {
25   test_return_value = TET_UNDEF;
26 }
27
28 void utc_dali_application_cleanup(void)
29 {
30   test_return_value = TET_PASS;
31 }
32
33 namespace
34 {
35
36 struct MyTestApp : public ConnectionTracker
37 {
38   MyTestApp( Application& app)
39   : initCalled( false ),
40     application( app )
41   {
42     application.InitSignal().Connect( this, &MyTestApp::Create );
43   }
44
45   void Create(Application& app)
46   {
47     initCalled = true;
48   }
49
50   void Quit()
51   {
52     application.Quit();
53   }
54
55   // Data
56   bool initCalled;
57   Application& application;
58 };
59
60 void ApplicationSignalCallback( Application& app )
61 {
62 }
63
64 void ApplicationControlSignalCallback(Application&, void *)
65 {
66 }
67
68 } // unnamed namespace
69
70 void LowBatterySignalCallback( Dali::DeviceStatus::Battery::Status status )
71 {
72 }
73
74 void LowMemorySignalCallback( Dali::DeviceStatus::Memory::Status status )
75 {
76 }
77
78 int UtcDaliApplicationNew01(void)
79 {
80   Application application = Application::New();
81
82   MyTestApp testApp( application );
83
84   DALI_TEST_CHECK( application );
85
86   END_TEST;
87 }
88
89 int UtcDaliApplicationNew02(void)
90 {
91   int argc( 1 );
92   const char* argList[1] = { "program" };
93   char** argv = const_cast<char**>(argList);
94
95   Application application = Application::New( &argc, &argv );
96
97   MyTestApp testApp( application );
98
99   DALI_TEST_CHECK( application );
100
101   END_TEST;
102 }
103
104 int UtcDaliApplicationNew03(void)
105 {
106   int argc( 1 );
107   const char* argList[1] = { "program" };
108   char** argv = const_cast<char**>(argList);
109
110   Application application = Application::New( &argc, &argv, "stylesheet" );
111
112   MyTestApp testApp( application );
113
114   DALI_TEST_CHECK( application );
115
116   END_TEST;
117 }
118
119 int UtcDaliApplicationNew04(void)
120 {
121   int argc( 1 );
122   const char* argList[1] = { "program" };
123   char** argv = const_cast<char**>(argList);
124
125   Application application = Application::New( &argc, &argv, "stylesheet", Application::TRANSPARENT );
126
127   MyTestApp testApp( application );
128
129   DALI_TEST_CHECK( application );
130
131   END_TEST;
132 }
133
134 int UtcDaliApplicationCopyAndAssignment(void)
135 {
136   Application application = Application::New();
137   Application copy( application );
138   DALI_TEST_CHECK( copy == application );
139
140   Application assigned;
141   DALI_TEST_CHECK( !assigned );
142   assigned = application;
143   DALI_TEST_CHECK( copy == assigned );
144
145   END_TEST;
146 }
147
148 int UtcDaliApplicationMainLoop01N(void)
149 {
150   Application application;
151
152   try
153   {
154     application.MainLoop();
155     DALI_TEST_CHECK( false ); // Should not get here
156   }
157   catch( ... )
158   {
159     DALI_TEST_CHECK( true );
160   }
161
162   END_TEST;
163 }
164
165 int UtcDaliApplicationMainLoop02N(void)
166 {
167   Application application;
168
169   try
170   {
171     application.MainLoop( Configuration::APPLICATION_DOES_NOT_HANDLE_CONTEXT_LOSS );
172     DALI_TEST_CHECK( false ); // Should not get here
173   }
174   catch( ... )
175   {
176     DALI_TEST_CHECK( true );
177   }
178
179   END_TEST;
180 }
181
182 int UtcDaliApplicationLowerN(void)
183 {
184   Application application;
185
186   try
187   {
188     application.Lower();
189     DALI_TEST_CHECK( false ); // Should not get here
190   }
191   catch( ... )
192   {
193     DALI_TEST_CHECK( true );
194   }
195
196   END_TEST;
197 }
198
199 int UtcDaliApplicationQuitN(void)
200 {
201   Application application;
202
203   try
204   {
205     application.Quit();
206     DALI_TEST_CHECK( false ); // Should not get here
207   }
208   catch( ... )
209   {
210     DALI_TEST_CHECK( true );
211   }
212
213   END_TEST;
214 }
215
216 int UtcDaliApplicationAddIdleN(void)
217 {
218   Application application;
219
220   try
221   {
222     CallbackBase* callback = NULL;
223     application.AddIdle( callback );
224     DALI_TEST_CHECK( false ); // Should not get here
225   }
226   catch( ... )
227   {
228     DALI_TEST_CHECK( true );
229   }
230
231   END_TEST;
232 }
233
234 int UtcDaliApplicationGetWindowN(void)
235 {
236   Application application;
237
238   try
239   {
240     (void) application.GetWindow();
241     DALI_TEST_CHECK( false ); // Should not get here
242   }
243   catch( ... )
244   {
245     DALI_TEST_CHECK( true );
246   }
247
248   END_TEST;
249 }
250
251 int UtcDaliApplicationReplaceWindowN(void)
252 {
253   Application application;
254
255   try
256   {
257     application.ReplaceWindow( PositionSize(), "window" );
258     DALI_TEST_CHECK( false ); // Should not get here
259   }
260   catch( ... )
261   {
262     DALI_TEST_CHECK( true );
263   }
264
265   END_TEST;
266 }
267
268 int UtcDaliApplicationSetViewModeN(void)
269 {
270   Application application;
271
272   try
273   {
274     application.SetViewMode( STEREO_VERTICAL );
275     DALI_TEST_CHECK( false ); // Should not get here
276   }
277   catch( ... )
278   {
279     DALI_TEST_CHECK( true );
280   }
281
282   END_TEST;
283 }
284
285 int UtcDaliApplicationGetViewModeN(void)
286 {
287   Application application;
288
289   try
290   {
291     (void) application.GetViewMode();
292     DALI_TEST_CHECK( false ); // Should not get here
293   }
294   catch( ... )
295   {
296     DALI_TEST_CHECK( true );
297   }
298
299   END_TEST;
300 }
301
302 int UtcDaliApplicationSetStereoBaseN(void)
303 {
304   Application application;
305
306   try
307   {
308     application.SetStereoBase( 1.0f );
309     DALI_TEST_CHECK( false ); // Should not get here
310   }
311   catch( ... )
312   {
313     DALI_TEST_CHECK( true );
314   }
315
316   END_TEST;
317 }
318
319 int UtcDaliApplicationGetStereoBaseN(void)
320 {
321   Application application;
322
323   try
324   {
325     (void) application.GetStereoBase();
326     DALI_TEST_CHECK( false ); // Should not get here
327   }
328   catch( ... )
329   {
330     DALI_TEST_CHECK( true );
331   }
332
333   END_TEST;
334 }
335
336 int UtcDaliApplicationInitSignalP(void)
337 {
338   Application application = Application::New();
339   application.InitSignal().Connect( &ApplicationSignalCallback );
340   DALI_TEST_CHECK( application );
341
342   END_TEST;
343 }
344
345 int UtcDaliApplicationInitSignalN(void)
346 {
347   Application application;
348
349   try
350   {
351     application.InitSignal().Connect( &ApplicationSignalCallback );
352     DALI_TEST_CHECK( false ); // Should not get here
353   }
354   catch( ... )
355   {
356     DALI_TEST_CHECK( true );
357   }
358
359   END_TEST;
360 }
361
362 int UtcDaliApplicationTerminateSignalP(void)
363 {
364   Application application = Application::New();
365   application.TerminateSignal().Connect( &ApplicationSignalCallback );
366   DALI_TEST_CHECK( application );
367
368   END_TEST;
369 }
370
371 int UtcDaliApplicationTerminateSignalN(void)
372 {
373   Application application;
374
375   try
376   {
377     application.TerminateSignal().Connect( &ApplicationSignalCallback );
378     DALI_TEST_CHECK( false ); // Should not get here
379   }
380   catch( ... )
381   {
382     DALI_TEST_CHECK( true );
383   }
384
385   END_TEST;
386 }
387
388 int UtcDaliApplicationPauseSignalP(void)
389 {
390   Application application = Application::New();
391   application.PauseSignal().Connect( &ApplicationSignalCallback );
392   DALI_TEST_CHECK( application );
393
394   END_TEST;
395 }
396
397 int UtcDaliApplicationPauseSignalN(void)
398 {
399   Application application;
400
401   try
402   {
403     application.PauseSignal().Connect( &ApplicationSignalCallback );
404     DALI_TEST_CHECK( false ); // Should not get here
405   }
406   catch( ... )
407   {
408     DALI_TEST_CHECK( true );
409   }
410
411   END_TEST;
412 }
413
414 int UtcDaliApplicationResumeSignalP(void)
415 {
416   Application application = Application::New();
417   application.ResumeSignal().Connect( &ApplicationSignalCallback );
418   DALI_TEST_CHECK( application );
419
420   END_TEST;
421 }
422
423 int UtcDaliApplicationResumeSignalN(void)
424 {
425   Application application;
426
427   try
428   {
429     application.ResumeSignal().Connect( &ApplicationSignalCallback );
430     DALI_TEST_CHECK( false ); // Should not get here
431   }
432   catch( ... )
433   {
434     DALI_TEST_CHECK( true );
435   }
436
437   END_TEST;
438 }
439
440 int UtcDaliApplicationResetSignalP(void)
441 {
442   Application application = Application::New();
443   application.ResetSignal().Connect( &ApplicationSignalCallback );
444   DALI_TEST_CHECK( application );
445
446   END_TEST;
447 }
448
449 int UtcDaliApplicationResetSignalN(void)
450 {
451   Application application;
452
453   try
454   {
455     application.ResetSignal().Connect( &ApplicationSignalCallback );
456     DALI_TEST_CHECK( false ); // Should not get here
457   }
458   catch( ... )
459   {
460     DALI_TEST_CHECK( true );
461   }
462
463   END_TEST;
464 }
465
466 int UtcDaliApplicationResizeSignalP(void)
467 {
468   Application application = Application::New();
469   application.ResizeSignal().Connect( &ApplicationSignalCallback );
470   DALI_TEST_CHECK( application );
471
472   END_TEST;
473 }
474
475 int UtcDaliApplicationResizeSignalN(void)
476 {
477   Application application;
478
479   try
480   {
481     application.ResizeSignal().Connect( &ApplicationSignalCallback );
482     DALI_TEST_CHECK( false ); // Should not get here
483   }
484   catch( ... )
485   {
486     DALI_TEST_CHECK( true );
487   }
488
489   END_TEST;
490 }
491
492 int UtcDaliApplicationlControlSignalP(void)
493 {
494   Application application = Application::New();
495   application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
496   DALI_TEST_CHECK( application );
497
498   END_TEST;
499 }
500
501 int UtcDaliApplicationlControlSignalN(void)
502 {
503   Application application;
504
505   try
506   {
507     application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
508     DALI_TEST_CHECK( false ); // Should not get here
509   }
510   catch( ... )
511   {
512     DALI_TEST_CHECK( true );
513   }
514
515   END_TEST;
516 }
517
518 int UtcDaliApplicationLanguageChangedSignalP(void)
519 {
520   Application application = Application::New();
521   application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
522   DALI_TEST_CHECK( application );
523
524   END_TEST;
525 }
526
527 int UtcDaliApplicationLanguageChangedSignalN(void)
528 {
529   Application application;
530
531   try
532   {
533     application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
534     DALI_TEST_CHECK( false ); // Should not get here
535   }
536   catch( ... )
537   {
538     DALI_TEST_CHECK( true );
539   }
540
541   END_TEST;
542 }
543
544 int UtcDaliApplicationRegionChangedSignalP(void)
545 {
546   Application application = Application::New();
547   application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
548   DALI_TEST_CHECK( application );
549
550   END_TEST;
551 }
552
553 int UtcDaliApplicationRegionChangedSignalN(void)
554 {
555   Application application;
556
557   try
558   {
559     application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
560     DALI_TEST_CHECK( false ); // Should not get here
561   }
562   catch( ... )
563   {
564     DALI_TEST_CHECK( true );
565   }
566
567   END_TEST;
568 }
569
570 int UtcDaliApplicationBatteryLowSignalP(void)
571 {
572   Application application = Application::New();
573   application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
574   DALI_TEST_CHECK( application );
575
576   END_TEST;
577 }
578
579 int UtcDaliApplicationBatteryLowSignalN(void)
580 {
581   Application application;
582
583   try
584   {
585     application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
586     DALI_TEST_CHECK( false ); // Should not get here
587   }
588   catch( ... )
589   {
590     DALI_TEST_CHECK( true );
591   }
592
593   END_TEST;
594 }
595
596 int UtcDaliApplicationMemoryLowSignalP(void)
597 {
598   Application application = Application::New();
599   application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
600   DALI_TEST_CHECK( application );
601
602   END_TEST;
603 }
604
605 int UtcDaliApplicationMemoryLowSignalN(void)
606 {
607   Application application;
608
609   try
610   {
611     application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
612     DALI_TEST_CHECK( false ); // Should not get here
613   }
614   catch( ... )
615   {
616     DALI_TEST_CHECK( true );
617   }
618
619   END_TEST;
620 }
621
622 int UtcDaliApplicationLowBatterySignalP(void)
623 {
624   Application application = Application::New();
625   application.LowBatterySignal().Connect( &LowBatterySignalCallback );
626   DALI_TEST_CHECK( application );
627
628   END_TEST;
629 }
630
631 int UtcDaliApplicationLowBatterySignalN(void)
632 {
633   Application application;
634
635   try
636   {
637     application.LowBatterySignal().Connect( &LowBatterySignalCallback );
638     DALI_TEST_CHECK( false ); // Should not get here
639   }
640   catch( ... )
641   {
642     DALI_TEST_CHECK( true );
643   }
644
645   END_TEST;
646 }
647
648 int UtcDaliApplicationLowMemorySignalP(void)
649 {
650   Application application = Application::New();
651   application.LowMemorySignal().Connect( &LowMemorySignalCallback );
652   DALI_TEST_CHECK( application );
653
654   END_TEST;
655 }
656
657 int UtcDaliApplicationLowMemorySignalN(void)
658 {
659   Application application;
660
661   try
662   {
663     application.LowMemorySignal().Connect( &LowMemorySignalCallback );
664     DALI_TEST_CHECK( false ); // Should not get here
665   }
666   catch( ... )
667   {
668     DALI_TEST_CHECK( true );
669   }
670
671   END_TEST;
672 }
673
674 int UtcDaliApplicationGetResourcePathP(void)
675 {
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**" );
680
681   END_TEST;
682 }
683
684 int UtcDaliApplicationGetRegionP(void)
685 {
686   Application application = Application::New();
687   std::string result;
688   result = application.GetRegion();
689   DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU
690
691   END_TEST;
692 }
693
694 int UtcDaliApplicationGetLanguageP(void)
695 {
696   Application application = Application::New();
697   std::string result;
698   result = application.GetLanguage();
699   DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU
700
701   END_TEST;
702 }