2 * Copyright (c) 2018 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.
22 #include <dali-toolkit-test-suite-utils.h>
23 #include <dali-toolkit/dali-toolkit.h>
24 #include <toolkit-text-utils.h>
25 #include <toolkit-event-thread-callback.h>
26 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
27 #include <dali-toolkit/internal/visuals/visual-factory-cache.h>
28 #include <dali-toolkit/internal/visuals/color/color-visual.h>
29 #include <dali-toolkit/internal/visuals/npatch-loader.h>
30 #include <dummy-visual.h>
31 #include <../dali-toolkit/dali-toolkit-test-utils/dummy-control.h>
34 using namespace Toolkit;
39 const char* TEST_VECTOR_IMAGE_FILE_NAME = TEST_RESOURCE_DIR "/insta_camera.json";
43 int UtcDaliVisualAction(void)
45 ToolkitTestApplication application;
46 tet_infoline( "Register an ImageVisual and and perform an Action on Visual directly" );
47 Vector2 controlSize( 20.f, 30.f );
50 Property::Map settings;
51 Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New( settings );
53 DummyControl dummyControl = DummyControl::New( true );
54 Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
56 tet_infoline( "Register visual and stage control" );
58 Toolkit::Visual::Base visualBaseHandle = Toolkit::Visual::Base( dummyVisualPtr.Get() );
59 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visualBaseHandle );
60 dummyControl.SetSize(200.f, 200.f);
61 Stage::GetCurrent().Add( dummyControl );
63 application.SendNotification();
66 tet_infoline( "Check action counter is 0 before DoAction" );
67 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
69 tet_infoline( "Perform TEST_ACTION action on Visual. Should increase the action counter" );
71 Property::Map attributes;
72 Toolkit::Internal::Visual::Base& internalVisualBase = GetImplementation( visualBaseHandle );
73 internalVisualBase.DoAction( Dali::Toolkit::Internal::DummyVisual::TEST_ACTION, attributes );
74 application.SendNotification();
75 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 1, TEST_LOCATION );
80 int UtcDaliVisualActionNotImplemented(void)
82 ToolkitTestApplication application;
83 tet_infoline( "Register an ImageVisual and and perform an Action on a Visual which does not support any Actions" );
84 Vector2 controlSize( 20.f, 30.f );
87 Property::Map settings;
88 Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New( settings );
90 DummyControl dummyControl = DummyControl::New( true );
91 Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
93 tet_infoline( "Register visual and stage control" );
95 VisualFactory factory = VisualFactory::Get();
96 Property::Map propertyMap;
97 propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR);
98 propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE);
99 Visual::Base visual = factory.CreateVisual( propertyMap );
101 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
102 dummyControl.SetSize(200.f, 200.f);
103 Stage::GetCurrent().Add( dummyControl );
105 application.SendNotification();
106 application.Render();
108 tet_infoline( "Check action counter is 0 before DoAction" );
109 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
111 tet_infoline( "Perform TEST_ACTION action on Color Visual which does not support it.. Should not increment the action counter" );
112 Property::Map attributes;
113 GetImplementation( visual ).DoAction( Dali::Toolkit::Internal::DummyVisual::TEST_ACTION, attributes );
114 application.SendNotification();
115 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
120 int UtcDaliVisualSetProperties(void)
122 ToolkitTestApplication application;
123 tet_infoline( "Register a visual and SetProperties" );
125 Toolkit::Internal::VisualFactoryCache* factoryCache = new Toolkit::Internal::VisualFactoryCache(false);
127 //Created ColorVisual
128 Property::Map propertyMap1;
129 propertyMap1.Insert(Visual::Property::TYPE, Visual::COLOR);
130 propertyMap1.Insert(ColorVisual::Property::MIX_COLOR, Color::RED);
131 Toolkit::Internal::ColorVisualPtr colorVisualPtr = Toolkit::Internal::ColorVisual::New( *factoryCache, propertyMap1 );
133 DummyControl dummyControl = DummyControl::New( true );
134 Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummyControl.GetImplementation() );
136 Toolkit::Visual::Base visualBaseHandle = Toolkit::Visual::Base( colorVisualPtr.Get() );
137 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visualBaseHandle );
138 dummyControl.SetSize( 200.f, 200.f );
139 Stage::GetCurrent().Add( dummyControl );
141 application.SendNotification();
142 application.Render();
144 Property::Map propertyMap;
145 propertyMap.Insert( Visual::Property::MIX_COLOR, Color::BLUE );
147 colorVisualPtr->SetProperties( propertyMap );
148 application.SendNotification();
149 application.Render();
151 Property::Map resultMap;
152 visualBaseHandle.CreatePropertyMap( resultMap );
154 Property::Value* colorValue = resultMap.Find( Visual::Property::MIX_COLOR, Property::VECTOR4 );
155 DALI_TEST_CHECK( colorValue );
156 DALI_TEST_CHECK( colorValue->Get< Vector4 >() == Color::BLUE );
163 int UtcDaliNPatchBufferGetRedOffsetAndMask(void)
165 TestApplication application;
167 tet_infoline("UtcDaliNPatchBufferGetRedOffsetAndMask");
172 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::A8, byteOffset, bitMask );
173 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
174 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::L8, byteOffset, bitMask );
175 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
176 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::LA88, byteOffset, bitMask );
177 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
179 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB888, byteOffset, bitMask );
180 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
181 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB8888, byteOffset, bitMask );
182 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
183 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGBA8888, byteOffset, bitMask );
184 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
186 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGR8888, byteOffset, bitMask );
187 DALI_TEST_CHECK( byteOffset == 2 && bitMask == 0xff );
188 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGRA8888, byteOffset, bitMask );
189 DALI_TEST_CHECK( byteOffset == 2 && bitMask == 0xff );
191 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB565, byteOffset, bitMask );
192 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xf8 );
194 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGR565, byteOffset, bitMask );
195 DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x1f );
197 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGBA4444, byteOffset, bitMask );
198 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xf0 );
200 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGRA4444, byteOffset, bitMask );
201 DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0xf0 );
203 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGBA5551, byteOffset, bitMask );
204 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xf8 );
206 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGRA5551, byteOffset, bitMask );
207 DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x1e );
209 // Compressed formats are not supported
210 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::INVALID, byteOffset, bitMask );
211 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
212 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_R11_EAC, byteOffset, bitMask );
213 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
214 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SIGNED_R11_EAC, byteOffset, bitMask );
215 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
216 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RG11_EAC, byteOffset, bitMask );
217 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
218 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SIGNED_RG11_EAC, byteOffset, bitMask );
219 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
220 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB8_ETC2, byteOffset, bitMask );
221 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
222 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ETC2, byteOffset, bitMask );
223 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
224 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB8_ETC1, byteOffset, bitMask );
225 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
226 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB_PVRTC_4BPPV1, byteOffset, bitMask );
227 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
228 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask );
229 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
230 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask );
231 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
232 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA8_ETC2_EAC, byteOffset, bitMask );
233 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
234 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, byteOffset, bitMask );
235 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
236 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR, byteOffset, bitMask );
237 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
238 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR, byteOffset, bitMask );
239 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
240 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR, byteOffset, bitMask );
241 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
242 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR, byteOffset, bitMask );
243 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
244 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR, byteOffset, bitMask );
245 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
246 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR, byteOffset, bitMask );
247 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
248 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR, byteOffset, bitMask );
249 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
250 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR, byteOffset, bitMask );
251 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
252 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR, byteOffset, bitMask );
253 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
254 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR, byteOffset, bitMask );
255 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
256 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR, byteOffset, bitMask );
257 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
258 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR, byteOffset, bitMask );
259 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
260 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR, byteOffset, bitMask );
261 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
262 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR, byteOffset, bitMask );
263 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
264 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, byteOffset, bitMask );
265 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
266 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, byteOffset, bitMask );
267 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
268 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, byteOffset, bitMask );
269 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
270 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, byteOffset, bitMask );
271 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
272 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, byteOffset, bitMask );
273 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
274 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, byteOffset, bitMask );
275 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
276 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, byteOffset, bitMask );
277 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
278 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, byteOffset, bitMask );
279 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
280 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, byteOffset, bitMask );
281 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
282 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, byteOffset, bitMask );
283 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
284 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, byteOffset, bitMask );
285 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
286 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, byteOffset, bitMask );
287 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
288 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, byteOffset, bitMask );
289 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
290 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, byteOffset, bitMask );
291 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
294 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB16F, byteOffset, bitMask );
295 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
296 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB32F, byteOffset, bitMask );
297 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
302 int UtcDaliAnimatedVectorImageVisualCreateInstancePropertyMap(void)
304 ToolkitTestApplication application;
305 tet_infoline( "UtcDaliAnimatedVectorImageVisualCreateInstancePropertyMap" );
307 Property::Map propertyMap;
308 propertyMap.Add( Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE )
309 .Add( ImageVisual::Property::URL, TEST_VECTOR_IMAGE_FILE_NAME );
311 // request AnimatedVectorImageVisual with a property map
312 VisualFactory factory = VisualFactory::Get();
313 Visual::Base visual = factory.CreateVisual( propertyMap );
314 Toolkit::Internal::Visual::Base& visualImpl = GetImplementation( visual );
316 Property::Map resultMap;
317 visualImpl.CreateInstancePropertyMap( resultMap );
319 // check the property values from the returned map from a visual
320 DALI_TEST_CHECK( resultMap.Empty() ); // Now the map is empty
325 int UtcDaliAnimatedVectorImageVisualSetProperties(void)
327 ToolkitTestApplication application;
328 tet_infoline( "UtcDaliAnimatedVectorImageVisualSetProperties" );
330 Property::Map propertyMap;
331 propertyMap.Add( Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE )
332 .Add( ImageVisual::Property::URL, TEST_VECTOR_IMAGE_FILE_NAME )
333 .Add( DevelImageVisual::Property::LOOP_COUNT, 3 )
334 .Add( DevelImageVisual::Property::PLAY_RANGE, Vector2( 0.2f, 0.8f ) );
336 Visual::Base visual = VisualFactory::Get().CreateVisual( propertyMap );
337 Toolkit::Internal::Visual::Base& visualImpl = GetImplementation( visual );
338 DALI_TEST_CHECK( visual );
340 DummyControl actor = DummyControl::New( true );
341 DummyControlImpl& dummyImpl = static_cast< DummyControlImpl& >( actor.GetImplementation() );
342 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
343 actor.SetSize( 200.0f, 200.0f );
344 Stage::GetCurrent().Add( actor );
346 application.SendNotification();
347 application.Render();
349 // renderer is added to actor
350 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
351 Renderer renderer = actor.GetRendererAt( 0u );
352 DALI_TEST_CHECK( renderer );
354 Property::Map propertyMap1;
355 propertyMap1.Add( DevelImageVisual::Property::LOOP_COUNT, 1 )
356 .Add( DevelImageVisual::Property::PLAY_RANGE, Vector2( 0.4f, 0.6f ) );
358 visualImpl.SetProperties( propertyMap1 );
360 application.SendNotification();
361 application.Render();
363 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
364 renderer = actor.GetRendererAt( 0u );
365 DALI_TEST_CHECK( renderer );
368 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );