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.
21 #include <dali-test-suite-utils.h>
22 #include <dali/public-api/dali-core.h>
29 // Functors to test whether Object created/destroyed signal is emitted for different types of Objects
31 struct TestObjectDestroyedCallback
33 TestObjectDestroyedCallback(bool& signalReceived, Dali::RefObject*& objectPointer)
34 : mSignalVerified(signalReceived),
35 mObjectPointer(objectPointer)
39 void operator()(const Dali::RefObject* objectPointer)
41 tet_infoline("Verifying TestObjectDestroyedCallback()");
43 if(objectPointer == mObjectPointer)
45 mSignalVerified = true;
49 bool& mSignalVerified;
50 Dali::RefObject*& mObjectPointer;
53 struct TestActorCallback
55 TestActorCallback(bool& signalReceived)
56 : mSignalVerified(signalReceived)
60 void operator()(BaseHandle object)
62 tet_infoline("Verifying TestActorCallback()");
63 Actor actor = Actor::DownCast(object);
66 mSignalVerified = true;
70 bool& mSignalVerified;
73 struct TestCameraActorCallback
75 TestCameraActorCallback(bool& signalReceived)
76 : mSignalVerified(signalReceived)
79 void operator()(BaseHandle object)
81 tet_infoline("Verifying TestCameraActorCallback()");
82 CameraActor actor = CameraActor::DownCast(object);
85 mSignalVerified = true;
88 bool& mSignalVerified;
91 struct TestImageActorCallback
93 TestImageActorCallback(bool& signalReceived)
94 : mSignalVerified(signalReceived)
97 void operator()(BaseHandle object)
99 tet_infoline("Verifying TestImageActorCallback()");
100 ImageActor actor = ImageActor::DownCast(object);
103 mSignalVerified = true;
106 bool& mSignalVerified;
109 struct TestLayerCallback
111 TestLayerCallback(bool& signalReceived)
112 : mSignalVerified(signalReceived)
115 void operator()(BaseHandle object)
117 tet_infoline("Verifying TestLayerCallback()");
118 Layer actor = Layer::DownCast(object);
121 mSignalVerified = true;
124 bool& mSignalVerified;
127 struct TestAnimationCallback
129 TestAnimationCallback(bool& signalReceived)
130 : mSignalVerified(signalReceived)
133 void operator()(BaseHandle object)
135 tet_infoline("Verifying TestAnimationCallback()");
136 Animation actor = Animation::DownCast(object);
139 mSignalVerified = true;
142 bool& mSignalVerified;
145 struct TestShaderEffectCallback
147 TestShaderEffectCallback(bool& signalReceived)
148 : mSignalVerified(signalReceived)
151 void operator()(BaseHandle object)
153 tet_infoline("Verifying TestShaderEffectCallback()");
154 ShaderEffect actor = ShaderEffect::DownCast(object);
157 mSignalVerified = true;
160 bool& mSignalVerified;
164 } // anonymous namespace
169 int UtcDaliObjectRegistryGet(void)
171 TestApplication application;
173 ObjectRegistry registry; // like this for ctor code coverage
174 registry= Stage::GetCurrent().GetObjectRegistry();
176 DALI_TEST_CHECK( registry );
180 int UtcDaliObjectRegistryCopyConstructor(void)
182 TestApplication application;
183 tet_printf(" copy consturctor ");
185 ObjectRegistry myRegistry;
187 ObjectRegistry anotherRegistry( myRegistry );
189 tet_result( TET_PASS );
195 int UtcDaliObjectRegistrySignalActorCreated(void)
197 tet_infoline("Testing GetObjectRegistry()");
198 TestApplication application;
199 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
200 DALI_TEST_CHECK( registry );
202 bool verified = false;
203 TestActorCallback test(verified);
205 Dali::RefObject* objectPointer = NULL;
206 TestObjectDestroyedCallback test2(verified, objectPointer);
208 registry.ObjectCreatedSignal().Connect(&application, test);
209 registry.ObjectDestroyedSignal().Connect(&application, test2);
212 Actor actor = Actor::New();
213 DALI_TEST_CHECK( test.mSignalVerified );
216 objectPointer = actor.GetObjectPtr();
218 DALI_TEST_CHECK( test.mSignalVerified );
222 int UtcDaliObjectRegistrySignalCameraCreated(void)
224 TestApplication application;
226 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
228 bool verified = false;
229 TestCameraActorCallback test(verified);
231 Dali::RefObject* objectPointer = NULL;
232 TestObjectDestroyedCallback test2(verified, objectPointer);
234 registry.ObjectCreatedSignal().Connect(&application, test);
235 registry.ObjectDestroyedSignal().Connect(&application, test2);
238 CameraActor actor = CameraActor::New();
239 DALI_TEST_CHECK( test.mSignalVerified );
242 objectPointer = actor.GetObjectPtr();
244 DALI_TEST_CHECK( test.mSignalVerified );
248 int UtcDaliObjectRegistrySignalImageActorCreated(void)
250 TestApplication application;
251 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
253 static const char* TestImageFilename = "icon_wrt.png";
254 Image image = ResourceImage::New(TestImageFilename);
256 bool verified = false;
257 TestImageActorCallback test(verified);
259 Dali::RefObject* objectPointer = NULL;
260 TestObjectDestroyedCallback test2(verified, objectPointer);
262 registry.ObjectCreatedSignal().Connect(&application, test);
263 registry.ObjectDestroyedSignal().Connect(&application, test2);
266 ImageActor actor = ImageActor::New(image);
267 DALI_TEST_CHECK( test.mSignalVerified );
270 objectPointer = actor.GetObjectPtr();
272 DALI_TEST_CHECK( test.mSignalVerified );
276 int UtcDaliObjectRegistrySignalLayerCreated(void)
278 TestApplication application;
279 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
281 bool verified = false;
282 TestLayerCallback test(verified);
284 Dali::RefObject* objectPointer = NULL;
285 TestObjectDestroyedCallback test2(verified, objectPointer);
287 registry.ObjectCreatedSignal().Connect(&application, test);
288 registry.ObjectDestroyedSignal().Connect(&application, test2);
291 Layer actor = Layer::New();
292 DALI_TEST_CHECK( test.mSignalVerified );
295 objectPointer = actor.GetObjectPtr();
297 DALI_TEST_CHECK( test.mSignalVerified );
301 int UtcDaliObjectRegistrySignalAnimationCreated(void)
303 TestApplication application;
304 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
306 bool verified = false;
307 TestAnimationCallback test(verified);
309 Dali::RefObject* objectPointer = NULL;
310 TestObjectDestroyedCallback test2(verified, objectPointer);
312 registry.ObjectCreatedSignal().Connect(&application, test);
313 registry.ObjectDestroyedSignal().Connect(&application, test2);
316 Animation animation = Animation::New(1.0f);
317 DALI_TEST_CHECK( test.mSignalVerified );
320 objectPointer = animation.GetObjectPtr();
322 DALI_TEST_CHECK( test.mSignalVerified );
326 int UtcDaliObjectRegistrySignalShaderEffectCreated(void)
328 TestApplication application;
329 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
331 static const char* VertexSource =
334 " gl_Position = uProjection * uModelView * vec4(aPosition, 1.0);\n"
335 " vTexCoord = aTexCoord;\n"
338 static const char* FragmentSource =
341 " gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor;\n"
344 bool verified = false;
345 TestShaderEffectCallback test(verified);
347 Dali::RefObject* objectPointer = NULL;
348 TestObjectDestroyedCallback test2(verified, objectPointer);
350 registry.ObjectCreatedSignal().Connect(&application, test);
351 registry.ObjectDestroyedSignal().Connect(&application, test2);
354 ShaderEffect effect = ShaderEffect::New( VertexSource, FragmentSource );
355 DALI_TEST_CHECK( test.mSignalVerified );
358 objectPointer = effect.GetObjectPtr();
360 DALI_TEST_CHECK( test.mSignalVerified );