2 * Copyright (c) 2015 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.
19 #include <dali-toolkit-test-suite-utils.h>
20 #include <dali/devel-api/rendering/renderer.h>
21 #include <dali/devel-api/rendering/material.h>
22 #include <dali/devel-api/rendering/shader.h>
23 #include <dali-toolkit/devel-api/controls/renderer-factory/renderer-factory.h>
26 using namespace Dali::Toolkit;
30 const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg";
31 const char* TEST_NPATCH_FILE_NAME = "gallery_image_01.9.jpg";
34 void dali_control_renderer_startup(void)
36 test_return_value = TET_UNDEF;
39 void dali_control_renderer_cleanup(void)
41 test_return_value = TET_PASS;
44 int UtcDaliControlRendererCopyAndAssignment(void)
46 ToolkitTestApplication application;
47 tet_infoline( "UtcDaliControlRendererCopyAndAssignment" );
49 RendererFactory factory = RendererFactory::Get();
50 Property::Map propertyMap;
51 propertyMap.Insert("rendererType", "color");
52 propertyMap.Insert("blendColor", Color::BLUE);
53 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
55 ControlRenderer controlRendererCopy( controlRenderer );
56 DALI_TEST_CHECK(controlRenderer == controlRendererCopy);
58 ControlRenderer emptyControlRenderer;
59 ControlRenderer emptyControlRendererCopy( emptyControlRenderer );
60 DALI_TEST_CHECK(emptyControlRenderer == emptyControlRendererCopy);
62 ControlRenderer controlRendererEquals;
63 controlRendererEquals = controlRenderer;
64 DALI_TEST_CHECK(controlRenderer == controlRendererEquals);
66 ControlRenderer emptyControlRendererEquals;
67 emptyControlRendererEquals = emptyControlRenderer;
68 DALI_TEST_CHECK( emptyControlRenderer == emptyControlRendererEquals );
71 controlRenderer = controlRenderer;
72 DALI_TEST_CHECK( controlRenderer = controlRendererCopy );
77 int UtcDaliControlRendererSetGetDepthIndex(void)
79 ToolkitTestApplication application;
80 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
82 RendererFactory factory = RendererFactory::Get();
83 Property::Map propertyMap;
84 propertyMap.Insert("rendererType", "color");
85 propertyMap.Insert("blendColor", Color::BLUE);
86 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
88 controlRenderer.SetDepthIndex( 1.f );
90 Actor actor = Actor::New();
91 actor.SetSize(200.f, 200.f);
92 Stage::GetCurrent().Add( actor );
93 controlRenderer.SetOnStage( actor );
95 int depthIndex = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::DEPTH_INDEX );
96 DALI_TEST_EQUALS( depthIndex, 1, TEST_LOCATION );
97 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), 1.f, TEST_LOCATION );
99 controlRenderer.SetDepthIndex( -1.f );
100 depthIndex = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::DEPTH_INDEX );
101 DALI_TEST_EQUALS( depthIndex, -1, TEST_LOCATION );
102 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), -1.f, TEST_LOCATION );
107 int UtcDaliControlRendererSize(void)
109 ToolkitTestApplication application;
110 tet_infoline( "UtcDaliControlRendererGetNaturalSize" );
112 RendererFactory factory = RendererFactory::Get();
113 Vector2 rendererSize( 20.f, 30.f );
117 ControlRenderer colorRenderer = factory.GetControlRenderer( Color::MAGENTA );
118 colorRenderer.SetSize( rendererSize );
119 DALI_TEST_EQUALS( colorRenderer.GetSize(), rendererSize, TEST_LOCATION );
120 colorRenderer.GetNaturalSize(naturalSize);
121 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
124 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
125 ControlRenderer imageRenderer = factory.GetControlRenderer( image );
126 imageRenderer.SetSize( rendererSize );
127 DALI_TEST_EQUALS( imageRenderer.GetSize(), rendererSize, TEST_LOCATION );
128 imageRenderer.GetNaturalSize(naturalSize);
129 DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 200.f), TEST_LOCATION );
132 TestPlatformAbstraction& platform = application.GetPlatform();
133 Vector2 testSize(80.f, 160.f);
134 platform.SetClosestImageSize(testSize);
135 image = ResourceImage::New(TEST_NPATCH_FILE_NAME);
136 ControlRenderer nPatchRenderer = factory.GetControlRenderer( image );
137 nPatchRenderer.SetSize( rendererSize );
138 DALI_TEST_EQUALS( nPatchRenderer.GetSize(), rendererSize, TEST_LOCATION );
139 nPatchRenderer.GetNaturalSize(naturalSize);
140 DALI_TEST_EQUALS( naturalSize, testSize, TEST_LOCATION );
143 float borderSize = 5.f;
144 ControlRenderer borderRenderer = factory.GetControlRenderer( borderSize, Color::RED );
145 borderRenderer.SetSize( rendererSize );
146 DALI_TEST_EQUALS( borderRenderer.GetSize(), rendererSize, TEST_LOCATION );
147 borderRenderer.GetNaturalSize(naturalSize);
148 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
151 Property::Map propertyMap;
152 propertyMap.Insert("rendererType", "gradient");
153 Vector2 start(-1.f, -1.f);
154 Vector2 end(1.f, 1.f);
155 propertyMap.Insert("gradientStartPosition", start);
156 propertyMap.Insert("gradientEndPosition", end);
157 propertyMap.Insert("gradientStopOffset", Vector2(0.f, 1.f));
158 Property::Array stopColors;
159 stopColors.PushBack( Color::RED );
160 stopColors.PushBack( Color::GREEN );
161 propertyMap.Insert("gradientStopColor", stopColors);
162 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
163 gradientRenderer.SetSize( rendererSize );
164 DALI_TEST_EQUALS( gradientRenderer.GetSize(), rendererSize, TEST_LOCATION );
165 gradientRenderer.GetNaturalSize(naturalSize);
166 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO,TEST_LOCATION );
171 int UtcDaliControlRendererSetOnOffStage(void)
173 ToolkitTestApplication application;
174 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
176 RendererFactory factory = RendererFactory::Get();
177 Property::Map propertyMap;
178 propertyMap.Insert("rendererType", "color");
179 propertyMap.Insert("blendColor", Color::BLUE);
180 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
182 Actor actor = Actor::New();
183 actor.SetSize(200.f, 200.f);
184 Stage::GetCurrent().Add( actor );
186 application.SendNotification();
187 application.Render(0);
188 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
190 controlRenderer.SetOnStage( actor );
191 application.SendNotification();
192 application.Render(0);
193 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
195 controlRenderer.SetOffStage( actor );
196 application.SendNotification();
197 application.Render(0);
198 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
203 int UtcDaliControlRendererRemoveAndReset(void)
205 ToolkitTestApplication application;
206 tet_infoline( "intUtcDaliControlRendererRemoveAndReset" );
208 RendererFactory factory = RendererFactory::Get();
210 Actor actor = Actor::New();
211 actor.SetSize(200.f, 200.f);
212 Stage::GetCurrent().Add( actor );
214 ControlRenderer imageRenderer;
215 // test calling RemoveAndReset with an empty handle
218 imageRenderer.RemoveAndReset( actor );
219 tet_result(TET_PASS);
221 catch (DaliException& exception)
223 tet_result(TET_FAIL);
226 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
227 imageRenderer = factory.GetControlRenderer(image);
228 DALI_TEST_CHECK( imageRenderer );
230 imageRenderer.SetOnStage( actor );
231 application.SendNotification();
232 application.Render(0);
233 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
235 imageRenderer.RemoveAndReset( actor );
236 application.SendNotification();
237 application.Render(0);
238 DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // renderer is removed from actor
239 DALI_TEST_CHECK( !imageRenderer ); // control renderer is reset
244 int UtcDaliControlRendererGetPropertyMap1(void)
246 ToolkitTestApplication application;
247 tet_infoline( "UtcDaliControlRendererGetPropertyMap1: ColorRenderer" );
249 RendererFactory factory = RendererFactory::Get();
250 Property::Map propertyMap;
251 propertyMap.Insert("rendererType", "color");
252 propertyMap.Insert("blendColor", Color::BLUE);
253 ControlRenderer colorRenderer = factory.GetControlRenderer( propertyMap );
255 Property::Map resultMap;
256 colorRenderer.CreatePropertyMap( resultMap );
258 Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING );
259 DALI_TEST_CHECK( typeValue );
260 DALI_TEST_CHECK( typeValue->Get<std::string>() == "color" );
262 Property::Value* colorValue = resultMap.Find( "blendColor", Property::VECTOR4 );
263 DALI_TEST_CHECK( colorValue );
264 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
266 // change the blend color
268 factory.ResetRenderer( colorRenderer, actor, Color::CYAN );
269 colorRenderer.CreatePropertyMap( resultMap );
271 colorValue = resultMap.Find( "blendColor", Property::VECTOR4 );
272 DALI_TEST_CHECK( colorValue );
273 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
278 int UtcDaliControlRendererGetPropertyMap2(void)
280 ToolkitTestApplication application;
281 tet_infoline( "UtcDaliControlRendererGetPropertyMap2: BorderRenderer" );
283 RendererFactory factory = RendererFactory::Get();
284 Property::Map propertyMap;
285 propertyMap.Insert("rendererType", "border");
286 propertyMap.Insert("borderColor", Color::BLUE);
287 propertyMap.Insert("borderSize", 5.f);
288 ControlRenderer borderRenderer = factory.GetControlRenderer( propertyMap );
290 Property::Map resultMap;
291 borderRenderer.CreatePropertyMap( resultMap );
293 // check the property values from the returned map from control renderer
294 Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING );
295 DALI_TEST_CHECK( typeValue );
296 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border" );
298 Property::Value* colorValue = resultMap.Find( "borderColor", Property::VECTOR4 );
299 DALI_TEST_CHECK( colorValue );
300 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
302 Property::Value* sizeValue = resultMap.Find( "borderSize", Property::FLOAT );
303 DALI_TEST_CHECK( sizeValue );
304 DALI_TEST_CHECK( sizeValue->Get<float>() == 5.f );
306 borderRenderer = factory.GetControlRenderer( 10.f, Color::CYAN );
307 borderRenderer.CreatePropertyMap( resultMap );
309 typeValue = resultMap.Find( "rendererType", Property::STRING );
310 DALI_TEST_CHECK( typeValue );
311 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border" );
313 colorValue = resultMap.Find( "borderColor", Property::VECTOR4 );
314 DALI_TEST_CHECK( colorValue );
315 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
317 colorValue = resultMap.Find( "borderSize", Property::FLOAT );
318 DALI_TEST_CHECK( colorValue );
319 DALI_TEST_CHECK( colorValue->Get<float>() == 10.f );
324 int UtcDaliControlRendererGetPropertyMap3(void)
326 ToolkitTestApplication application;
327 tet_infoline( "UtcDaliControlRendererGetPropertyMap3: linear GradientRenderer" );
329 RendererFactory factory = RendererFactory::Get();
330 DALI_TEST_CHECK( factory );
332 Property::Map propertyMap;
333 propertyMap.Insert("rendererType", "gradient");
335 Vector2 start(-1.f, -1.f);
336 Vector2 end(1.f, 1.f);
337 propertyMap.Insert("gradientStartPosition", start);
338 propertyMap.Insert("gradientEndPosition", end);
339 propertyMap.Insert("gradientSpreadMethod", "repeat");
341 propertyMap.Insert("gradientStopOffset", Vector2(0.2f, 0.8f));
343 Property::Array stopColors;
344 stopColors.PushBack( Color::RED );
345 stopColors.PushBack( Color::GREEN );
346 propertyMap.Insert("gradientStopColor", stopColors);
348 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
350 Property::Map resultMap;
351 gradientRenderer.CreatePropertyMap( resultMap );
353 // check the property values from the returned map from control renderer
354 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
355 DALI_TEST_CHECK( value );
356 DALI_TEST_CHECK( value->Get<std::string>() == "gradient" );
358 value = resultMap.Find( "gradientUnits", Property::STRING );
359 DALI_TEST_CHECK( value );
360 DALI_TEST_CHECK( value->Get<std::string>() == "objectBoundingBox" );
362 value = resultMap.Find( "gradientSpreadMethod", Property::STRING );
363 DALI_TEST_CHECK( value );
364 DALI_TEST_CHECK( value->Get<std::string>() == "repeat" );
366 value = resultMap.Find( "gradientStartPosition", Property::VECTOR2 );
367 DALI_TEST_CHECK( value );
368 DALI_TEST_EQUALS( value->Get<Vector2>(), start , Math::MACHINE_EPSILON_100, TEST_LOCATION );
370 value = resultMap.Find( "gradientEndPosition", Property::VECTOR2 );
371 DALI_TEST_CHECK( value );
372 DALI_TEST_EQUALS( value->Get<Vector2>(), end , Math::MACHINE_EPSILON_100, TEST_LOCATION );
374 value = resultMap.Find( "gradientStopOffset", Property::ARRAY );
375 DALI_TEST_CHECK( value );
376 Property::Array* offsetArray = value->GetArray();
377 DALI_TEST_CHECK( offsetArray->Count() == 2 );
378 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.2f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
379 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.8f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
381 value = resultMap.Find( "gradientStopColor", Property::ARRAY );
382 DALI_TEST_CHECK( value );
383 Property::Array* colorArray = value->GetArray();
384 DALI_TEST_CHECK( colorArray->Count() == 2 );
385 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
386 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
391 int UtcDaliControlRendererGetPropertyMap4(void)
393 ToolkitTestApplication application;
394 tet_infoline( "UtcDaliControlRendererGetPropertyMap4: radial GradientRenderer" );
396 RendererFactory factory = RendererFactory::Get();
397 DALI_TEST_CHECK( factory );
399 Property::Map propertyMap;
400 propertyMap.Insert("rendererType", "gradient");
402 Vector2 center(100.f, 100.f);
403 float radius = 100.f;
404 propertyMap.Insert("gradientUnits", "userSpace");
405 propertyMap.Insert("gradientCenter", center);
406 propertyMap.Insert("gradientRadius", radius);
407 propertyMap.Insert("gradientStopOffset", Vector3(0.1f, 0.3f, 1.1f));
409 Property::Array stopColors;
410 stopColors.PushBack( Color::RED );
411 stopColors.PushBack( Color::BLACK );
412 stopColors.PushBack( Color::GREEN );
413 propertyMap.Insert("gradientStopColor", stopColors);
415 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
416 DALI_TEST_CHECK( gradientRenderer );
418 Property::Map resultMap;
419 gradientRenderer.CreatePropertyMap( resultMap );
421 // check the property values from the returned map from control renderer
422 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
423 DALI_TEST_CHECK( value );
424 DALI_TEST_CHECK( value->Get<std::string>() == "gradient" );
426 value = resultMap.Find( "gradientUnits", Property::STRING );
427 DALI_TEST_CHECK( value );
428 DALI_TEST_CHECK( value->Get<std::string>() == "userSpace" );
430 value = resultMap.Find( "gradientSpreadMethod", Property::STRING );
431 DALI_TEST_CHECK( value );
432 DALI_TEST_CHECK( value->Get<std::string>() == "pad" );
434 value = resultMap.Find( "gradientCenter", Property::VECTOR2 );
435 DALI_TEST_CHECK( value );
436 DALI_TEST_EQUALS( value->Get<Vector2>(), center , Math::MACHINE_EPSILON_100, TEST_LOCATION );
438 value = resultMap.Find( "gradientRadius", Property::FLOAT );
439 DALI_TEST_CHECK( value );
440 DALI_TEST_EQUALS( value->Get<float>(), radius , Math::MACHINE_EPSILON_100, TEST_LOCATION );
442 value = resultMap.Find( "gradientStopOffset", Property::ARRAY );
443 DALI_TEST_CHECK( value );
444 Property::Array* offsetArray = value->GetArray();
445 DALI_TEST_CHECK( offsetArray->Count() == 3 );
446 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.1f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
447 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.3f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
448 // any stop value will be clamped to [0.0, 1.0];
449 DALI_TEST_EQUALS( offsetArray->GetElementAt(2).Get<float>(), 1.0f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
451 value = resultMap.Find( "gradientStopColor", Property::ARRAY );
452 DALI_TEST_CHECK( value );
453 Property::Array* colorArray = value->GetArray();
454 DALI_TEST_CHECK( colorArray->Count() == 3 );
455 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
456 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::BLACK , Math::MACHINE_EPSILON_100, TEST_LOCATION );
457 DALI_TEST_EQUALS( colorArray->GetElementAt(2).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
462 int UtcDaliControlRendererGetPropertyMap5(void)
464 ToolkitTestApplication application;
465 tet_infoline( "UtcDaliControlRendererGetPropertyMap5: ImageRenderer" );
467 RendererFactory factory = RendererFactory::Get();
468 Property::Map propertyMap;
469 propertyMap.Insert( "rendererType", "image" );
470 propertyMap.Insert( "imageUrl", TEST_IMAGE_FILE_NAME );
471 propertyMap.Insert( "imageDesiredWidth", 20 );
472 propertyMap.Insert( "imageDesiredHeight", 30 );
473 propertyMap.Insert( "imageFittingMode", "fitHeight" );
474 propertyMap.Insert( "imageSamplingMode", "boxThenNearest" );
476 ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap);
477 DALI_TEST_CHECK( imageRenderer );
479 Property::Map resultMap;
480 imageRenderer.CreatePropertyMap( resultMap );
482 // check the property values from the returned map from control renderer
483 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
484 DALI_TEST_CHECK( value );
485 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
487 value = resultMap.Find( "imageUrl", Property::STRING );
488 DALI_TEST_CHECK( value );
489 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
491 value = resultMap.Find( "imageFittingMode", Property::STRING );
492 DALI_TEST_CHECK( value );
493 DALI_TEST_CHECK( value->Get<std::string>() == "fitHeight" );
495 value = resultMap.Find( "imageSamplingMode", Property::STRING );
496 DALI_TEST_CHECK( value );
497 DALI_TEST_CHECK( value->Get<std::string>() == "boxThenNearest" );
499 value = resultMap.Find( "imageDesiredWidth", Property::INTEGER );
500 DALI_TEST_CHECK( value );
501 DALI_TEST_CHECK( value->Get<int>() == 20 );
503 value = resultMap.Find( "imageDesiredHeight", Property::INTEGER );
504 DALI_TEST_CHECK( value );
505 DALI_TEST_CHECK( value->Get<int>() == 30 );
507 // Get an image renderer with an image handle, and test the default property values
508 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
509 imageRenderer = factory.GetControlRenderer(image);
510 imageRenderer.CreatePropertyMap( resultMap );
512 value = resultMap.Find( "rendererType", Property::STRING );
513 DALI_TEST_CHECK( value );
514 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
516 value = resultMap.Find( "imageUrl", Property::STRING );
517 DALI_TEST_CHECK( value );
518 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
520 value = resultMap.Find( "imageFittingMode", Property::STRING );
521 DALI_TEST_CHECK( value );
522 DALI_TEST_CHECK( value->Get<std::string>() == "shrinkToFit" );
524 value = resultMap.Find( "imageSamplingMode", Property::STRING );
525 DALI_TEST_CHECK( value );
526 DALI_TEST_CHECK( value->Get<std::string>() == "box" );
528 value = resultMap.Find( "imageDesiredWidth", Property::INTEGER );
529 DALI_TEST_CHECK( value );
530 DALI_TEST_CHECK( value->Get<int>() == 100 );
532 value = resultMap.Find( "imageDesiredHeight", Property::INTEGER );
533 DALI_TEST_CHECK( value );
534 DALI_TEST_CHECK( value->Get<int>() == 200 );
539 int UtcDaliControlRendererGetPropertyMap6(void)
541 ToolkitTestApplication application;
542 tet_infoline( "UtcDaliControlRendererGetPropertyMap6: NPatchRenderer" );
544 RendererFactory factory = RendererFactory::Get();
545 Property::Map propertyMap;
546 propertyMap.Insert( "rendererType", "nPatch" );
547 propertyMap.Insert( "imageUrl", TEST_NPATCH_FILE_NAME );
548 propertyMap.Insert( "borderOnly", true );
549 ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap );
551 Property::Map resultMap;
552 nPatchRenderer.CreatePropertyMap( resultMap );
554 // check the property values from the returned map from control renderer
555 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
556 DALI_TEST_CHECK( value );
557 DALI_TEST_CHECK( value->Get<std::string>() == "nPatch" );
559 value = resultMap.Find( "imageUrl", Property::STRING );
560 DALI_TEST_CHECK( value );
561 DALI_TEST_CHECK( value->Get<std::string>() == TEST_NPATCH_FILE_NAME );
563 value = resultMap.Find( "borderOnly", Property::BOOLEAN );
564 DALI_TEST_CHECK( value );
565 DALI_TEST_CHECK( value->Get<bool>() );