Remove StereoMode
[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 UtcDaliApplicationInitSignalP(void)
269 {
270   Application application = Application::New();
271   application.InitSignal().Connect( &ApplicationSignalCallback );
272   DALI_TEST_CHECK( application );
273
274   END_TEST;
275 }
276
277 int UtcDaliApplicationInitSignalN(void)
278 {
279   Application application;
280
281   try
282   {
283     application.InitSignal().Connect( &ApplicationSignalCallback );
284     DALI_TEST_CHECK( false ); // Should not get here
285   }
286   catch( ... )
287   {
288     DALI_TEST_CHECK( true );
289   }
290
291   END_TEST;
292 }
293
294 int UtcDaliApplicationTerminateSignalP(void)
295 {
296   Application application = Application::New();
297   application.TerminateSignal().Connect( &ApplicationSignalCallback );
298   DALI_TEST_CHECK( application );
299
300   END_TEST;
301 }
302
303 int UtcDaliApplicationTerminateSignalN(void)
304 {
305   Application application;
306
307   try
308   {
309     application.TerminateSignal().Connect( &ApplicationSignalCallback );
310     DALI_TEST_CHECK( false ); // Should not get here
311   }
312   catch( ... )
313   {
314     DALI_TEST_CHECK( true );
315   }
316
317   END_TEST;
318 }
319
320 int UtcDaliApplicationPauseSignalP(void)
321 {
322   Application application = Application::New();
323   application.PauseSignal().Connect( &ApplicationSignalCallback );
324   DALI_TEST_CHECK( application );
325
326   END_TEST;
327 }
328
329 int UtcDaliApplicationPauseSignalN(void)
330 {
331   Application application;
332
333   try
334   {
335     application.PauseSignal().Connect( &ApplicationSignalCallback );
336     DALI_TEST_CHECK( false ); // Should not get here
337   }
338   catch( ... )
339   {
340     DALI_TEST_CHECK( true );
341   }
342
343   END_TEST;
344 }
345
346 int UtcDaliApplicationResumeSignalP(void)
347 {
348   Application application = Application::New();
349   application.ResumeSignal().Connect( &ApplicationSignalCallback );
350   DALI_TEST_CHECK( application );
351
352   END_TEST;
353 }
354
355 int UtcDaliApplicationResumeSignalN(void)
356 {
357   Application application;
358
359   try
360   {
361     application.ResumeSignal().Connect( &ApplicationSignalCallback );
362     DALI_TEST_CHECK( false ); // Should not get here
363   }
364   catch( ... )
365   {
366     DALI_TEST_CHECK( true );
367   }
368
369   END_TEST;
370 }
371
372 int UtcDaliApplicationResetSignalP(void)
373 {
374   Application application = Application::New();
375   application.ResetSignal().Connect( &ApplicationSignalCallback );
376   DALI_TEST_CHECK( application );
377
378   END_TEST;
379 }
380
381 int UtcDaliApplicationResetSignalN(void)
382 {
383   Application application;
384
385   try
386   {
387     application.ResetSignal().Connect( &ApplicationSignalCallback );
388     DALI_TEST_CHECK( false ); // Should not get here
389   }
390   catch( ... )
391   {
392     DALI_TEST_CHECK( true );
393   }
394
395   END_TEST;
396 }
397
398 int UtcDaliApplicationResizeSignalP(void)
399 {
400   Application application = Application::New();
401   application.ResizeSignal().Connect( &ApplicationSignalCallback );
402   DALI_TEST_CHECK( application );
403
404   END_TEST;
405 }
406
407 int UtcDaliApplicationResizeSignalN(void)
408 {
409   Application application;
410
411   try
412   {
413     application.ResizeSignal().Connect( &ApplicationSignalCallback );
414     DALI_TEST_CHECK( false ); // Should not get here
415   }
416   catch( ... )
417   {
418     DALI_TEST_CHECK( true );
419   }
420
421   END_TEST;
422 }
423
424 int UtcDaliApplicationlControlSignalP(void)
425 {
426   Application application = Application::New();
427   application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
428   DALI_TEST_CHECK( application );
429
430   END_TEST;
431 }
432
433 int UtcDaliApplicationlControlSignalN(void)
434 {
435   Application application;
436
437   try
438   {
439     application.AppControlSignal().Connect( &ApplicationControlSignalCallback );
440     DALI_TEST_CHECK( false ); // Should not get here
441   }
442   catch( ... )
443   {
444     DALI_TEST_CHECK( true );
445   }
446
447   END_TEST;
448 }
449
450 int UtcDaliApplicationLanguageChangedSignalP(void)
451 {
452   Application application = Application::New();
453   application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
454   DALI_TEST_CHECK( application );
455
456   END_TEST;
457 }
458
459 int UtcDaliApplicationLanguageChangedSignalN(void)
460 {
461   Application application;
462
463   try
464   {
465     application.LanguageChangedSignal().Connect( &ApplicationSignalCallback );
466     DALI_TEST_CHECK( false ); // Should not get here
467   }
468   catch( ... )
469   {
470     DALI_TEST_CHECK( true );
471   }
472
473   END_TEST;
474 }
475
476 int UtcDaliApplicationRegionChangedSignalP(void)
477 {
478   Application application = Application::New();
479   application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
480   DALI_TEST_CHECK( application );
481
482   END_TEST;
483 }
484
485 int UtcDaliApplicationRegionChangedSignalN(void)
486 {
487   Application application;
488
489   try
490   {
491     application.RegionChangedSignal().Connect( &ApplicationSignalCallback );
492     DALI_TEST_CHECK( false ); // Should not get here
493   }
494   catch( ... )
495   {
496     DALI_TEST_CHECK( true );
497   }
498
499   END_TEST;
500 }
501
502 int UtcDaliApplicationBatteryLowSignalP(void)
503 {
504   Application application = Application::New();
505   application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
506   DALI_TEST_CHECK( application );
507
508   END_TEST;
509 }
510
511 int UtcDaliApplicationBatteryLowSignalN(void)
512 {
513   Application application;
514
515   try
516   {
517     application.BatteryLowSignal().Connect( &ApplicationSignalCallback );
518     DALI_TEST_CHECK( false ); // Should not get here
519   }
520   catch( ... )
521   {
522     DALI_TEST_CHECK( true );
523   }
524
525   END_TEST;
526 }
527
528 int UtcDaliApplicationMemoryLowSignalP(void)
529 {
530   Application application = Application::New();
531   application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
532   DALI_TEST_CHECK( application );
533
534   END_TEST;
535 }
536
537 int UtcDaliApplicationMemoryLowSignalN(void)
538 {
539   Application application;
540
541   try
542   {
543     application.MemoryLowSignal().Connect( &ApplicationSignalCallback );
544     DALI_TEST_CHECK( false ); // Should not get here
545   }
546   catch( ... )
547   {
548     DALI_TEST_CHECK( true );
549   }
550
551   END_TEST;
552 }
553
554 int UtcDaliApplicationLowBatterySignalP(void)
555 {
556   Application application = Application::New();
557   application.LowBatterySignal().Connect( &LowBatterySignalCallback );
558   DALI_TEST_CHECK( application );
559
560   END_TEST;
561 }
562
563 int UtcDaliApplicationLowBatterySignalN(void)
564 {
565   Application application;
566
567   try
568   {
569     application.LowBatterySignal().Connect( &LowBatterySignalCallback );
570     DALI_TEST_CHECK( false ); // Should not get here
571   }
572   catch( ... )
573   {
574     DALI_TEST_CHECK( true );
575   }
576
577   END_TEST;
578 }
579
580 int UtcDaliApplicationLowMemorySignalP(void)
581 {
582   Application application = Application::New();
583   application.LowMemorySignal().Connect( &LowMemorySignalCallback );
584   DALI_TEST_CHECK( application );
585
586   END_TEST;
587 }
588
589 int UtcDaliApplicationLowMemorySignalN(void)
590 {
591   Application application;
592
593   try
594   {
595     application.LowMemorySignal().Connect( &LowMemorySignalCallback );
596     DALI_TEST_CHECK( false ); // Should not get here
597   }
598   catch( ... )
599   {
600     DALI_TEST_CHECK( true );
601   }
602
603   END_TEST;
604 }
605
606 int UtcDaliApplicationGetResourcePathP(void)
607 {
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**" );
612
613   END_TEST;
614 }
615
616 int UtcDaliApplicationGetRegionP(void)
617 {
618   Application application = Application::New();
619   std::string result;
620   result = application.GetRegion();
621   DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU
622
623   END_TEST;
624 }
625
626 int UtcDaliApplicationGetLanguageP(void)
627 {
628   Application application = Application::New();
629   std::string result;
630   result = application.GetLanguage();
631   DALI_TEST_CHECK( result == "NOT_SUPPORTED" ); // Not supported in UBUNTU
632
633   END_TEST;
634 }