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>
32 #include <dali-toolkit/devel-api/visuals/arc-visual-properties-devel.h>
35 using namespace Toolkit;
40 const char* TEST_VECTOR_IMAGE_FILE_NAME = TEST_RESOURCE_DIR "/insta_camera.json";
44 int UtcDaliVisualAction(void)
46 ToolkitTestApplication application;
47 tet_infoline( "Register an ImageVisual and and perform an Action on Visual directly" );
48 Vector2 controlSize( 20.f, 30.f );
51 Property::Map settings;
52 Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New( settings );
54 DummyControl dummyControl = DummyControl::New( true );
55 Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
57 tet_infoline( "Register visual and stage control" );
59 Toolkit::Visual::Base visualBaseHandle = Toolkit::Visual::Base( dummyVisualPtr.Get() );
60 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visualBaseHandle );
61 dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) );
62 Stage::GetCurrent().Add( dummyControl );
64 application.SendNotification();
67 tet_infoline( "Check action counter is 0 before DoAction" );
68 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
70 tet_infoline( "Perform TEST_ACTION action on Visual. Should increase the action counter" );
72 Property::Map attributes;
73 Toolkit::Internal::Visual::Base& internalVisualBase = GetImplementation( visualBaseHandle );
74 internalVisualBase.DoAction( Dali::Toolkit::Internal::DummyVisual::TEST_ACTION, attributes );
75 application.SendNotification();
76 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 1, TEST_LOCATION );
81 int UtcDaliVisualActionNotImplemented(void)
83 ToolkitTestApplication application;
84 tet_infoline( "Register an ImageVisual and and perform an Action on a Visual which does not support any Actions" );
85 Vector2 controlSize( 20.f, 30.f );
88 Property::Map settings;
89 Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New( settings );
91 DummyControl dummyControl = DummyControl::New( true );
92 Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
94 tet_infoline( "Register visual and stage control" );
96 VisualFactory factory = VisualFactory::Get();
97 Property::Map propertyMap;
98 propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR);
99 propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE);
100 Visual::Base visual = factory.CreateVisual( propertyMap );
102 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
103 dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) );
104 Stage::GetCurrent().Add( dummyControl );
106 application.SendNotification();
107 application.Render();
109 tet_infoline( "Check action counter is 0 before DoAction" );
110 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
112 tet_infoline( "Perform TEST_ACTION action on Color Visual which does not support it.. Should not increment the action counter" );
113 Property::Map attributes;
114 GetImplementation( visual ).DoAction( Dali::Toolkit::Internal::DummyVisual::TEST_ACTION, attributes );
115 application.SendNotification();
116 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
121 int UtcDaliVisualSetProperties(void)
123 ToolkitTestApplication application;
124 tet_infoline( "Register a visual and SetProperties" );
126 Toolkit::Internal::VisualFactoryCache* factoryCache = new Toolkit::Internal::VisualFactoryCache(false);
128 //Created ColorVisual
129 Property::Map propertyMap1;
130 propertyMap1.Insert(Visual::Property::TYPE, Visual::COLOR);
131 propertyMap1.Insert(ColorVisual::Property::MIX_COLOR, Color::RED);
132 Toolkit::Internal::ColorVisualPtr colorVisualPtr = Toolkit::Internal::ColorVisual::New( *factoryCache, propertyMap1 );
134 DummyControl dummyControl = DummyControl::New( true );
135 Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummyControl.GetImplementation() );
137 Toolkit::Visual::Base visualBaseHandle = Toolkit::Visual::Base( colorVisualPtr.Get() );
138 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visualBaseHandle );
139 dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) );
140 Stage::GetCurrent().Add( dummyControl );
142 application.SendNotification();
143 application.Render();
145 Property::Map propertyMap;
146 propertyMap.Insert( Visual::Property::MIX_COLOR, Color::BLUE );
148 colorVisualPtr->SetProperties( propertyMap );
149 application.SendNotification();
150 application.Render();
152 Property::Map resultMap;
153 visualBaseHandle.CreatePropertyMap( resultMap );
155 Property::Value* colorValue = resultMap.Find( Visual::Property::MIX_COLOR, Property::VECTOR4 );
156 DALI_TEST_CHECK( colorValue );
157 DALI_TEST_CHECK( colorValue->Get< Vector4 >() == Color::BLUE );
164 int UtcDaliNPatchBufferGetRedOffsetAndMask(void)
166 TestApplication application;
168 tet_infoline("UtcDaliNPatchBufferGetRedOffsetAndMask");
173 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::A8, byteOffset, bitMask );
174 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
175 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::L8, byteOffset, bitMask );
176 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
177 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::LA88, byteOffset, bitMask );
178 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
180 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB888, byteOffset, bitMask );
181 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
182 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB8888, byteOffset, bitMask );
183 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
184 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGBA8888, byteOffset, bitMask );
185 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xff );
187 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGR8888, byteOffset, bitMask );
188 DALI_TEST_CHECK( byteOffset == 2 && bitMask == 0xff );
189 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGRA8888, byteOffset, bitMask );
190 DALI_TEST_CHECK( byteOffset == 2 && bitMask == 0xff );
192 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB565, byteOffset, bitMask );
193 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xf8 );
195 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGR565, byteOffset, bitMask );
196 DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x1f );
198 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGBA4444, byteOffset, bitMask );
199 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xf0 );
201 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGRA4444, byteOffset, bitMask );
202 DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0xf0 );
204 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGBA5551, byteOffset, bitMask );
205 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0xf8 );
207 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::BGRA5551, byteOffset, bitMask );
208 DALI_TEST_CHECK( byteOffset == 1 && bitMask == 0x1e );
210 // Compressed formats are not supported
211 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::INVALID, byteOffset, bitMask );
212 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
213 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_R11_EAC, byteOffset, bitMask );
214 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
215 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SIGNED_R11_EAC, byteOffset, bitMask );
216 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
217 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RG11_EAC, byteOffset, bitMask );
218 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
219 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SIGNED_RG11_EAC, byteOffset, bitMask );
220 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
221 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB8_ETC2, byteOffset, bitMask );
222 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
223 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ETC2, byteOffset, bitMask );
224 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
225 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB8_ETC1, byteOffset, bitMask );
226 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
227 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB_PVRTC_4BPPV1, byteOffset, bitMask );
228 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
229 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask );
230 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
231 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, byteOffset, bitMask );
232 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
233 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA8_ETC2_EAC, byteOffset, bitMask );
234 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
235 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, byteOffset, bitMask );
236 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
237 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_4x4_KHR, byteOffset, bitMask );
238 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
239 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_5x4_KHR, byteOffset, bitMask );
240 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
241 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_5x5_KHR, byteOffset, bitMask );
242 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
243 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_6x5_KHR, byteOffset, bitMask );
244 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
245 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_6x6_KHR, byteOffset, bitMask );
246 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
247 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x5_KHR, byteOffset, bitMask );
248 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
249 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x6_KHR, byteOffset, bitMask );
250 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
251 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_8x8_KHR, byteOffset, bitMask );
252 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
253 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x5_KHR, byteOffset, bitMask );
254 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
255 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x6_KHR, byteOffset, bitMask );
256 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
257 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x8_KHR, byteOffset, bitMask );
258 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
259 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_10x10_KHR, byteOffset, bitMask );
260 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
261 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_12x10_KHR, byteOffset, bitMask );
262 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
263 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_RGBA_ASTC_12x12_KHR, byteOffset, bitMask );
264 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
265 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, byteOffset, bitMask );
266 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
267 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, byteOffset, bitMask );
268 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
269 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, byteOffset, bitMask );
270 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
271 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, byteOffset, bitMask );
272 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
273 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, byteOffset, bitMask );
274 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
275 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, byteOffset, bitMask );
276 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
277 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, byteOffset, bitMask );
278 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
279 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, byteOffset, bitMask );
280 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
281 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, byteOffset, bitMask );
282 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
283 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, byteOffset, bitMask );
284 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
285 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, byteOffset, bitMask );
286 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
287 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, byteOffset, bitMask );
288 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
289 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, byteOffset, bitMask );
290 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
291 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, byteOffset, bitMask );
292 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
295 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB16F, byteOffset, bitMask );
296 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
297 Toolkit::Internal::NPatchBuffer::GetRedOffsetAndMask( Pixel::RGB32F, byteOffset, bitMask );
298 DALI_TEST_CHECK( byteOffset == 0 && bitMask == 0 );
303 int UtcDaliAnimatedVectorImageVisualCreateInstancePropertyMap(void)
305 ToolkitTestApplication application;
306 tet_infoline( "UtcDaliAnimatedVectorImageVisualCreateInstancePropertyMap" );
308 Property::Map propertyMap;
309 propertyMap.Add( Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE )
310 .Add( ImageVisual::Property::URL, TEST_VECTOR_IMAGE_FILE_NAME );
312 // request AnimatedVectorImageVisual with a property map
313 VisualFactory factory = VisualFactory::Get();
314 Visual::Base visual = factory.CreateVisual( propertyMap );
315 Toolkit::Internal::Visual::Base& visualImpl = GetImplementation( visual );
317 Property::Map resultMap;
318 visualImpl.CreateInstancePropertyMap( resultMap );
320 // check the property values from the returned map from a visual
321 DALI_TEST_CHECK( resultMap.Empty() ); // Now the map is empty
326 int UtcDaliAnimatedVectorImageVisualSetProperties(void)
328 ToolkitTestApplication application;
329 tet_infoline( "UtcDaliAnimatedVectorImageVisualSetProperties" );
331 Property::Map propertyMap;
332 propertyMap.Add( Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE )
333 .Add( ImageVisual::Property::URL, TEST_VECTOR_IMAGE_FILE_NAME )
334 .Add( DevelImageVisual::Property::LOOP_COUNT, 3 )
335 .Add( DevelImageVisual::Property::PLAY_RANGE, Vector2( 0.2f, 0.8f ) );
337 Visual::Base visual = VisualFactory::Get().CreateVisual( propertyMap );
338 Toolkit::Internal::Visual::Base& visualImpl = GetImplementation( visual );
339 DALI_TEST_CHECK( visual );
341 DummyControl actor = DummyControl::New( true );
342 DummyControlImpl& dummyImpl = static_cast< DummyControlImpl& >( actor.GetImplementation() );
343 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
344 actor.SetProperty( Actor::Property::SIZE, Vector2( 200.0f, 200.0f ) );
345 Stage::GetCurrent().Add( actor );
347 application.SendNotification();
348 application.Render();
350 // renderer is added to actor
351 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
352 Renderer renderer = actor.GetRendererAt( 0u );
353 DALI_TEST_CHECK( renderer );
355 Property::Map propertyMap1;
356 propertyMap1.Add( DevelImageVisual::Property::LOOP_COUNT, 1 )
357 .Add( DevelImageVisual::Property::PLAY_RANGE, Vector2( 0.4f, 0.6f ) );
359 visualImpl.SetProperties( propertyMap1 );
361 application.SendNotification();
362 application.Render();
364 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
365 renderer = actor.GetRendererAt( 0u );
366 DALI_TEST_CHECK( renderer );
369 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
374 int UtcDaliArcVisualCreateInstancePropertyMap(void)
376 ToolkitTestApplication application;
377 tet_infoline( "UtcDaliArcVisualCreateInstancePropertyMap" );
379 Property::Map propertyMap;
380 propertyMap.Add( Toolkit::Visual::Property::TYPE, DevelVisual::ARC )
381 .Add( DevelArcVisual::Property::THICKNESS, 20.0f );
383 // request ArcVisual with a property map
384 VisualFactory factory = VisualFactory::Get();
385 Visual::Base visual = factory.CreateVisual( propertyMap );
386 Toolkit::Internal::Visual::Base& visualImpl = GetImplementation( visual );
388 Property::Map resultMap;
389 visualImpl.CreateInstancePropertyMap( resultMap );
391 // check the property values from the returned map from a visual
392 DALI_TEST_CHECK( resultMap.Empty() ); // Now the map is empty