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 TestLayerCallback
93 TestLayerCallback(bool& signalReceived)
94 : mSignalVerified(signalReceived)
97 void operator()(BaseHandle object)
99 tet_infoline("Verifying TestLayerCallback()");
100 Layer actor = Layer::DownCast(object);
103 mSignalVerified = true;
106 bool& mSignalVerified;
109 struct TestAnimationCallback
111 TestAnimationCallback(bool& signalReceived)
112 : mSignalVerified(signalReceived)
115 void operator()(BaseHandle object)
117 tet_infoline("Verifying TestAnimationCallback()");
118 Animation actor = Animation::DownCast(object);
121 mSignalVerified = true;
124 bool& mSignalVerified;
127 } // anonymous namespace
129 int UtcDaliObjectRegistryGet(void)
131 TestApplication application;
133 ObjectRegistry registry; // like this for ctor code coverage
134 registry= Stage::GetCurrent().GetObjectRegistry();
136 DALI_TEST_CHECK( registry );
140 int UtcDaliObjectRegistryCopyConstructor(void)
142 TestApplication application;
144 ObjectRegistry myRegistry;
145 ObjectRegistry anotherRegistry( myRegistry );
147 DALI_TEST_EQUALS( myRegistry, anotherRegistry, TEST_LOCATION );
151 int UtcDaliObjectRegistrySignalActorCreated(void)
153 tet_infoline("Testing GetObjectRegistry()");
154 TestApplication application;
155 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
156 DALI_TEST_CHECK( registry );
158 bool verified = false;
159 TestActorCallback test(verified);
161 Dali::RefObject* objectPointer = NULL;
162 TestObjectDestroyedCallback test2(verified, objectPointer);
164 registry.ObjectCreatedSignal().Connect(&application, test);
165 registry.ObjectDestroyedSignal().Connect(&application, test2);
168 Actor actor = Actor::New();
169 DALI_TEST_CHECK( test.mSignalVerified );
172 objectPointer = actor.GetObjectPtr();
174 DALI_TEST_CHECK( test.mSignalVerified );
178 int UtcDaliObjectRegistrySignalCameraCreated(void)
180 TestApplication application;
182 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
184 bool verified = false;
185 TestCameraActorCallback test(verified);
187 Dali::RefObject* objectPointer = NULL;
188 TestObjectDestroyedCallback test2(verified, objectPointer);
190 registry.ObjectCreatedSignal().Connect(&application, test);
191 registry.ObjectDestroyedSignal().Connect(&application, test2);
194 CameraActor actor = CameraActor::New();
195 DALI_TEST_CHECK( test.mSignalVerified );
198 objectPointer = actor.GetObjectPtr();
200 DALI_TEST_CHECK( test.mSignalVerified );
204 int UtcDaliObjectRegistrySignalLayerCreated(void)
206 TestApplication application;
207 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
209 bool verified = false;
210 TestLayerCallback test(verified);
212 Dali::RefObject* objectPointer = NULL;
213 TestObjectDestroyedCallback test2(verified, objectPointer);
215 registry.ObjectCreatedSignal().Connect(&application, test);
216 registry.ObjectDestroyedSignal().Connect(&application, test2);
219 Layer actor = Layer::New();
220 DALI_TEST_CHECK( test.mSignalVerified );
223 objectPointer = actor.GetObjectPtr();
225 DALI_TEST_CHECK( test.mSignalVerified );
229 int UtcDaliObjectRegistrySignalAnimationCreated(void)
231 TestApplication application;
232 ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
234 bool verified = false;
235 TestAnimationCallback test(verified);
237 Dali::RefObject* objectPointer = NULL;
238 TestObjectDestroyedCallback test2(verified, objectPointer);
240 registry.ObjectCreatedSignal().Connect(&application, test);
241 registry.ObjectDestroyedSignal().Connect(&application, test2);
244 Animation animation = Animation::New(1.0f);
245 DALI_TEST_CHECK( test.mSignalVerified );
248 objectPointer = animation.GetObjectPtr();
250 DALI_TEST_CHECK( test.mSignalVerified );