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