[dali_1.9.1] Merge branch 'devel/master'
[platform/core/uifw/dali-adaptor.git] / automated-tests / src / dali-adaptor-internal / utc-Dali-Lifecycle-Controller.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 // EXTERNAL INCLUDES
19 #include <stdlib.h>
20 #include <iostream>
21 #include <dali.h>
22 #include <dali-test-suite-utils.h>
23 #include <dali/devel-api/adaptor-framework/lifecycle-controller.h>
24
25 #include <dali/internal/adaptor/common/lifecycle-controller-impl.h>
26
27 using namespace Dali;
28
29 void utc_dali_lifecycle_controller_startup(void)
30 {
31   test_return_value = TET_UNDEF;
32 }
33
34 void utc_dali_lifecycle_controller_cleanup(void)
35 {
36   test_return_value = TET_PASS;
37 }
38
39 namespace
40 {
41
42 bool g_OnInitCalled = false;
43 bool g_OnTerminateCalled = false;
44 bool g_OnPauseCalled = false;
45 bool g_OnResumeCalled = false;
46 bool g_OnResetCalled = false;
47 bool g_OnResizeCalled = false;
48 bool g_OnLanguageChangedCalled = false;
49
50 void OnInit()
51 {
52   g_OnInitCalled = true;
53 }
54
55 void OnTerminate()
56 {
57   g_OnTerminateCalled = true;
58 }
59
60 void OnPause()
61 {
62   g_OnPauseCalled = true;
63 }
64
65 void OnResume()
66 {
67   g_OnResumeCalled = true;
68 }
69
70 void OnReset()
71 {
72   g_OnResetCalled = true;
73 }
74
75 void OnResize()
76 {
77   g_OnResizeCalled = true;
78 }
79
80 void OnLanguageChanged()
81 {
82   g_OnLanguageChangedCalled = true;
83 }
84
85 } // anonymous namespace
86
87 int UtcDaliLifecycleControllerGet(void)
88 {
89   // Attempt to retrieve LifecycleController before creating application
90   LifecycleController lifecycleController;
91   lifecycleController = LifecycleController::Get();
92   DALI_TEST_CHECK( !lifecycleController );
93
94   TestApplication app;
95   Application application = Application::New();
96
97   lifecycleController = LifecycleController::Get();
98   DALI_TEST_CHECK( lifecycleController );
99
100   END_TEST;
101 }
102
103 int UtcDaliLifecycleControllerSignalInit(void)
104 {
105   TestApplication app;
106   Application application = Application::New();
107
108   DALI_TEST_CHECK( !g_OnInitCalled );
109
110   LifecycleController lifecycleController = LifecycleController::Get();
111
112   lifecycleController.InitSignal().Connect( &OnInit );
113
114   GetImplementation( lifecycleController ).OnInit( application );
115
116   DALI_TEST_CHECK( g_OnInitCalled );
117
118   END_TEST;
119 }
120
121 int UtcDaliLifecycleControllerSignalTerminate(void)
122 {
123   TestApplication app;
124   Application application = Application::New();
125
126   DALI_TEST_CHECK( !g_OnTerminateCalled );
127
128   LifecycleController lifecycleController = LifecycleController::Get();
129
130   lifecycleController.TerminateSignal().Connect( &OnTerminate );
131
132   GetImplementation( lifecycleController ).OnTerminate( application );
133
134   DALI_TEST_CHECK( g_OnTerminateCalled );
135
136   END_TEST;
137 }
138
139 int UtcDaliLifecycleControllerSignalPause(void)
140 {
141   TestApplication app;
142   Application application = Application::New();
143
144   DALI_TEST_CHECK( !g_OnPauseCalled );
145
146   LifecycleController lifecycleController = LifecycleController::Get();
147
148   lifecycleController.PauseSignal().Connect( &OnPause );
149
150   GetImplementation( lifecycleController ).OnPause( application );
151
152   DALI_TEST_CHECK( g_OnPauseCalled );
153
154   END_TEST;
155 }
156
157 int UtcDaliLifecycleControllerSignalResume(void)
158 {
159   TestApplication app;
160   Application application = Application::New();
161
162   DALI_TEST_CHECK( !g_OnResumeCalled );
163
164   LifecycleController lifecycleController = LifecycleController::Get();
165
166   lifecycleController.ResumeSignal().Connect( &OnResume );
167
168   GetImplementation( lifecycleController ).OnResume( application );
169
170   DALI_TEST_CHECK( g_OnResumeCalled );
171
172   END_TEST;
173 }
174
175 int UtcDaliLifecycleControllerSignalReset(void)
176 {
177   TestApplication app;
178   Application application = Application::New();
179
180   DALI_TEST_CHECK( !g_OnResetCalled );
181
182   LifecycleController lifecycleController = LifecycleController::Get();
183
184   lifecycleController.ResetSignal().Connect( &OnReset );
185
186   GetImplementation( lifecycleController ).OnReset( application );
187
188   DALI_TEST_CHECK( g_OnResetCalled );
189
190   END_TEST;
191 }
192
193 int UtcDaliLifecycleControllerSignalResize(void)
194 {
195   TestApplication app;
196   Application application = Application::New();
197
198   DALI_TEST_CHECK( !g_OnResizeCalled );
199
200   LifecycleController lifecycleController = LifecycleController::Get();
201
202   lifecycleController.ResizeSignal().Connect( &OnResize );
203
204   GetImplementation( lifecycleController ).OnResize( application );
205
206   DALI_TEST_CHECK( g_OnResizeCalled );
207
208   END_TEST;
209 }
210
211 int UtcDaliLifecycleControllerSignalLanguageChanged(void)
212 {
213   TestApplication app;
214   Application application = Application::New();
215
216   DALI_TEST_CHECK( !g_OnLanguageChangedCalled );
217
218   LifecycleController lifecycleController = LifecycleController::Get();
219
220   lifecycleController.LanguageChangedSignal().Connect( &OnLanguageChanged );
221
222   GetImplementation( lifecycleController ).OnLanguageChanged( application );
223
224   DALI_TEST_CHECK( g_OnLanguageChangedCalled );
225
226   END_TEST;
227 }