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("renderer-type", "color-renderer");
52 propertyMap.Insert("blend-color", 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("renderer-type", "color-renderer");
85 propertyMap.Insert("blend-color", 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 DALI_TEST_EQUALS( actor.GetRendererAt(0u).GetDepthIndex(), 1.f, TEST_LOCATION );
96 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), 1.f, TEST_LOCATION );
98 controlRenderer.SetDepthIndex( -1.f );
99 DALI_TEST_EQUALS( actor.GetRendererAt(0u).GetDepthIndex(), -1.f, TEST_LOCATION );
100 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), -1.f, TEST_LOCATION );
105 int UtcDaliControlRendererSize(void)
107 ToolkitTestApplication application;
108 tet_infoline( "UtcDaliControlRendererGetNaturalSize" );
110 RendererFactory factory = RendererFactory::Get();
111 Vector2 rendererSize( 20.f, 30.f );
115 ControlRenderer colorRenderer = factory.GetControlRenderer( Color::MAGENTA );
116 colorRenderer.SetSize( rendererSize );
117 DALI_TEST_EQUALS( colorRenderer.GetSize(), rendererSize, TEST_LOCATION );
118 colorRenderer.GetNaturalSize(naturalSize);
119 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
122 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
123 ControlRenderer imageRenderer = factory.GetControlRenderer( image );
124 imageRenderer.SetSize( rendererSize );
125 DALI_TEST_EQUALS( imageRenderer.GetSize(), rendererSize, TEST_LOCATION );
126 imageRenderer.GetNaturalSize(naturalSize);
127 DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 200.f), TEST_LOCATION );
130 TestPlatformAbstraction& platform = application.GetPlatform();
131 Vector2 testSize(80.f, 160.f);
132 platform.SetClosestImageSize(testSize);
133 image = ResourceImage::New(TEST_NPATCH_FILE_NAME);
134 ControlRenderer nPatchRenderer = factory.GetControlRenderer( image );
135 nPatchRenderer.SetSize( rendererSize );
136 DALI_TEST_EQUALS( nPatchRenderer.GetSize(), rendererSize, TEST_LOCATION );
137 nPatchRenderer.GetNaturalSize(naturalSize);
138 DALI_TEST_EQUALS( naturalSize, testSize, TEST_LOCATION );
141 float borderSize = 5.f;
142 ControlRenderer borderRenderer = factory.GetControlRenderer( borderSize, Color::RED );
143 borderRenderer.SetSize( rendererSize );
144 DALI_TEST_EQUALS( borderRenderer.GetSize(), rendererSize, TEST_LOCATION );
145 borderRenderer.GetNaturalSize(naturalSize);
146 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
149 Property::Map propertyMap;
150 propertyMap.Insert("renderer-type", "gradient-renderer");
151 Vector2 start(-1.f, -1.f);
152 Vector2 end(1.f, 1.f);
153 propertyMap.Insert("gradient-start-position", start);
154 propertyMap.Insert("gradient-end-position", end);
155 propertyMap.Insert("gradient-stop-offset", Vector2(0.f, 1.f));
156 Property::Array stopColors;
157 stopColors.PushBack( Color::RED );
158 stopColors.PushBack( Color::GREEN );
159 propertyMap.Insert("gradient-stop-color", stopColors);
160 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
161 gradientRenderer.SetSize( rendererSize );
162 DALI_TEST_EQUALS( gradientRenderer.GetSize(), rendererSize, TEST_LOCATION );
163 gradientRenderer.GetNaturalSize(naturalSize);
164 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO,TEST_LOCATION );
169 int UtcDaliControlRendererSetOnOffStage(void)
171 ToolkitTestApplication application;
172 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
174 RendererFactory factory = RendererFactory::Get();
175 Property::Map propertyMap;
176 propertyMap.Insert("renderer-type", "color-renderer");
177 propertyMap.Insert("blend-color", Color::BLUE);
178 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
180 Actor actor = Actor::New();
181 actor.SetSize(200.f, 200.f);
182 Stage::GetCurrent().Add( actor );
184 application.SendNotification();
185 application.Render(0);
186 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
188 controlRenderer.SetOnStage( actor );
189 application.SendNotification();
190 application.Render(0);
191 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
193 controlRenderer.SetOffStage( actor );
194 application.SendNotification();
195 application.Render(0);
196 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
201 int UtcDaliControlRendererRemoveAndReset(void)
203 ToolkitTestApplication application;
204 tet_infoline( "intUtcDaliControlRendererRemoveAndReset" );
206 RendererFactory factory = RendererFactory::Get();
208 Actor actor = Actor::New();
209 actor.SetSize(200.f, 200.f);
210 Stage::GetCurrent().Add( actor );
212 ControlRenderer imageRenderer;
213 // test calling RemoveAndReset with an empty handle
216 imageRenderer.RemoveAndReset( actor );
217 tet_result(TET_PASS);
219 catch (DaliException& exception)
221 tet_result(TET_FAIL);
224 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
225 imageRenderer = factory.GetControlRenderer(image);
226 DALI_TEST_CHECK( imageRenderer );
228 imageRenderer.SetOnStage( actor );
229 application.SendNotification();
230 application.Render(0);
231 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
233 imageRenderer.RemoveAndReset( actor );
234 application.SendNotification();
235 application.Render(0);
236 DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // renderer is removed from actor
237 DALI_TEST_CHECK( !imageRenderer ); // control renderer is reset
242 int UtcDaliControlRendererGetPropertyMap1(void)
244 ToolkitTestApplication application;
245 tet_infoline( "UtcDaliControlRendererGetPropertyMap1: ColorRenderer" );
247 RendererFactory factory = RendererFactory::Get();
248 Property::Map propertyMap;
249 propertyMap.Insert("renderer-type", "color-renderer");
250 propertyMap.Insert("blend-color", Color::BLUE);
251 ControlRenderer colorRenderer = factory.GetControlRenderer( propertyMap );
253 Property::Map resultMap;
254 colorRenderer.CreatePropertyMap( resultMap );
256 Property::Value* typeValue = resultMap.Find( "renderer-type", Property::STRING );
257 DALI_TEST_CHECK( typeValue );
258 DALI_TEST_CHECK( typeValue->Get<std::string>() == "color-renderer" );
260 Property::Value* colorValue = resultMap.Find( "blend-color", Property::VECTOR4 );
261 DALI_TEST_CHECK( colorValue );
262 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
264 // change the blend color
265 factory.ResetRenderer( colorRenderer, Color::CYAN );
266 colorRenderer.CreatePropertyMap( resultMap );
268 colorValue = resultMap.Find( "blend-color", Property::VECTOR4 );
269 DALI_TEST_CHECK( colorValue );
270 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
275 int UtcDaliControlRendererGetPropertyMap2(void)
277 ToolkitTestApplication application;
278 tet_infoline( "UtcDaliControlRendererGetPropertyMap2: BorderRenderer" );
280 RendererFactory factory = RendererFactory::Get();
281 Property::Map propertyMap;
282 propertyMap.Insert("renderer-type", "border-renderer");
283 propertyMap.Insert("border-color", Color::BLUE);
284 propertyMap.Insert("border-size", 5.f);
285 ControlRenderer borderRenderer = factory.GetControlRenderer( propertyMap );
287 Property::Map resultMap;
288 borderRenderer.CreatePropertyMap( resultMap );
290 // check the property values from the returned map from control renderer
291 Property::Value* typeValue = resultMap.Find( "renderer-type", Property::STRING );
292 DALI_TEST_CHECK( typeValue );
293 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border-renderer" );
295 Property::Value* colorValue = resultMap.Find( "border-color", Property::VECTOR4 );
296 DALI_TEST_CHECK( colorValue );
297 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
299 Property::Value* sizeValue = resultMap.Find( "border-size", Property::FLOAT );
300 DALI_TEST_CHECK( sizeValue );
301 DALI_TEST_CHECK( sizeValue->Get<float>() == 5.f );
303 borderRenderer = factory.GetControlRenderer( 10.f, Color::CYAN );
304 borderRenderer.CreatePropertyMap( resultMap );
306 typeValue = resultMap.Find( "renderer-type", Property::STRING );
307 DALI_TEST_CHECK( typeValue );
308 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border-renderer" );
310 colorValue = resultMap.Find( "border-color", Property::VECTOR4 );
311 DALI_TEST_CHECK( colorValue );
312 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
314 colorValue = resultMap.Find( "border-size", Property::FLOAT );
315 DALI_TEST_CHECK( colorValue );
316 DALI_TEST_CHECK( colorValue->Get<float>() == 10.f );
321 int UtcDaliControlRendererGetPropertyMap3(void)
323 ToolkitTestApplication application;
324 tet_infoline( "UtcDaliControlRendererGetPropertyMap3: linear GradientRenderer" );
326 RendererFactory factory = RendererFactory::Get();
327 DALI_TEST_CHECK( factory );
329 Property::Map propertyMap;
330 propertyMap.Insert("renderer-type", "gradient-renderer");
332 Vector2 start(-1.f, -1.f);
333 Vector2 end(1.f, 1.f);
334 propertyMap.Insert("gradient-start-position", start);
335 propertyMap.Insert("gradient-end-position", end);
336 propertyMap.Insert("gradient-spread-method", "repeat");
338 propertyMap.Insert("gradient-stop-offset", Vector2(0.2f, 0.8f));
340 Property::Array stopColors;
341 stopColors.PushBack( Color::RED );
342 stopColors.PushBack( Color::GREEN );
343 propertyMap.Insert("gradient-stop-color", stopColors);
345 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
347 Property::Map resultMap;
348 gradientRenderer.CreatePropertyMap( resultMap );
350 // check the property values from the returned map from control renderer
351 Property::Value* value = resultMap.Find( "renderer-type", Property::STRING );
352 DALI_TEST_CHECK( value );
353 DALI_TEST_CHECK( value->Get<std::string>() == "gradient-renderer" );
355 value = resultMap.Find( "gradient-units", Property::STRING );
356 DALI_TEST_CHECK( value );
357 DALI_TEST_CHECK( value->Get<std::string>() == "object-bounding-box" );
359 value = resultMap.Find( "gradient-spread-method", Property::STRING );
360 DALI_TEST_CHECK( value );
361 DALI_TEST_CHECK( value->Get<std::string>() == "repeat" );
363 value = resultMap.Find( "gradient-start-position", Property::VECTOR2 );
364 DALI_TEST_CHECK( value );
365 DALI_TEST_EQUALS( value->Get<Vector2>(), start , Math::MACHINE_EPSILON_100, TEST_LOCATION );
367 value = resultMap.Find( "gradient-end-position", Property::VECTOR2 );
368 DALI_TEST_CHECK( value );
369 DALI_TEST_EQUALS( value->Get<Vector2>(), end , Math::MACHINE_EPSILON_100, TEST_LOCATION );
371 value = resultMap.Find( "gradient-stop-offset", Property::ARRAY );
372 DALI_TEST_CHECK( value );
373 Property::Array* offsetArray = value->GetArray();
374 DALI_TEST_CHECK( offsetArray->Count() == 2 );
375 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.2f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
376 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.8f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
378 value = resultMap.Find( "gradient-stop-color", Property::ARRAY );
379 DALI_TEST_CHECK( value );
380 Property::Array* colorArray = value->GetArray();
381 DALI_TEST_CHECK( colorArray->Count() == 2 );
382 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
383 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
388 int UtcDaliControlRendererGetPropertyMap4(void)
390 ToolkitTestApplication application;
391 tet_infoline( "UtcDaliControlRendererGetPropertyMap4: radial GradientRenderer" );
393 RendererFactory factory = RendererFactory::Get();
394 DALI_TEST_CHECK( factory );
396 Property::Map propertyMap;
397 propertyMap.Insert("renderer-type", "gradient-renderer");
399 Vector2 center(100.f, 100.f);
400 float radius = 100.f;
401 propertyMap.Insert("gradient-units", "user-space");
402 propertyMap.Insert("gradient-center", center);
403 propertyMap.Insert("gradient-radius", radius);
404 propertyMap.Insert("gradient-stop-offset", Vector3(0.1f, 0.3f, 1.1f));
406 Property::Array stopColors;
407 stopColors.PushBack( Color::RED );
408 stopColors.PushBack( Color::BLACK );
409 stopColors.PushBack( Color::GREEN );
410 propertyMap.Insert("gradient-stop-color", stopColors);
412 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
413 DALI_TEST_CHECK( gradientRenderer );
415 Property::Map resultMap;
416 gradientRenderer.CreatePropertyMap( resultMap );
418 // check the property values from the returned map from control renderer
419 Property::Value* value = resultMap.Find( "renderer-type", Property::STRING );
420 DALI_TEST_CHECK( value );
421 DALI_TEST_CHECK( value->Get<std::string>() == "gradient-renderer" );
423 value = resultMap.Find( "gradient-units", Property::STRING );
424 DALI_TEST_CHECK( value );
425 DALI_TEST_CHECK( value->Get<std::string>() == "user-space" );
427 value = resultMap.Find( "gradient-spread-method", Property::STRING );
428 DALI_TEST_CHECK( value );
429 DALI_TEST_CHECK( value->Get<std::string>() == "pad" );
431 value = resultMap.Find( "gradient-center", Property::VECTOR2 );
432 DALI_TEST_CHECK( value );
433 DALI_TEST_EQUALS( value->Get<Vector2>(), center , Math::MACHINE_EPSILON_100, TEST_LOCATION );
435 value = resultMap.Find( "gradient-radius", Property::FLOAT );
436 DALI_TEST_CHECK( value );
437 DALI_TEST_EQUALS( value->Get<float>(), radius , Math::MACHINE_EPSILON_100, TEST_LOCATION );
439 value = resultMap.Find( "gradient-stop-offset", Property::ARRAY );
440 DALI_TEST_CHECK( value );
441 Property::Array* offsetArray = value->GetArray();
442 DALI_TEST_CHECK( offsetArray->Count() == 3 );
443 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.1f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
444 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.3f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
445 // any stop value will be clamped to [0.0, 1.0];
446 DALI_TEST_EQUALS( offsetArray->GetElementAt(2).Get<float>(), 1.0f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
448 value = resultMap.Find( "gradient-stop-color", Property::ARRAY );
449 DALI_TEST_CHECK( value );
450 Property::Array* colorArray = value->GetArray();
451 DALI_TEST_CHECK( colorArray->Count() == 3 );
452 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
453 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::BLACK , Math::MACHINE_EPSILON_100, TEST_LOCATION );
454 DALI_TEST_EQUALS( colorArray->GetElementAt(2).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
459 int UtcDaliControlRendererGetPropertyMap5(void)
461 ToolkitTestApplication application;
462 tet_infoline( "UtcDaliControlRendererGetPropertyMap5: ImageRenderer" );
464 RendererFactory factory = RendererFactory::Get();
465 Property::Map propertyMap;
466 propertyMap.Insert( "renderer-type", "image-renderer" );
467 propertyMap.Insert( "image-url", TEST_IMAGE_FILE_NAME );
468 propertyMap.Insert( "image-desired-width", 20 );
469 propertyMap.Insert( "image-desired-height", 30 );
470 propertyMap.Insert( "image-fitting-mode", "fit-height" );
471 propertyMap.Insert( "image-sampling-mode", "box-then-nearest" );
473 ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap);
474 DALI_TEST_CHECK( imageRenderer );
476 Property::Map resultMap;
477 imageRenderer.CreatePropertyMap( resultMap );
479 // check the property values from the returned map from control renderer
480 Property::Value* value = resultMap.Find( "renderer-type", Property::STRING );
481 DALI_TEST_CHECK( value );
482 DALI_TEST_CHECK( value->Get<std::string>() == "image-renderer" );
484 value = resultMap.Find( "image-url", Property::STRING );
485 DALI_TEST_CHECK( value );
486 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
488 value = resultMap.Find( "image-fitting-mode", Property::STRING );
489 DALI_TEST_CHECK( value );
490 DALI_TEST_CHECK( value->Get<std::string>() == "fit-height" );
492 value = resultMap.Find( "image-sampling-mode", Property::STRING );
493 DALI_TEST_CHECK( value );
494 DALI_TEST_CHECK( value->Get<std::string>() == "box-then-nearest" );
496 value = resultMap.Find( "image-desired-width", Property::INTEGER );
497 DALI_TEST_CHECK( value );
498 DALI_TEST_CHECK( value->Get<int>() == 20 );
500 value = resultMap.Find( "image-desired-height", Property::INTEGER );
501 DALI_TEST_CHECK( value );
502 DALI_TEST_CHECK( value->Get<int>() == 30 );
504 // Get an image renderer with an image handle, and test the default property values
505 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
506 imageRenderer = factory.GetControlRenderer(image);
507 imageRenderer.CreatePropertyMap( resultMap );
509 value = resultMap.Find( "renderer-type", Property::STRING );
510 DALI_TEST_CHECK( value );
511 DALI_TEST_CHECK( value->Get<std::string>() == "image-renderer" );
513 value = resultMap.Find( "image-url", Property::STRING );
514 DALI_TEST_CHECK( value );
515 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
517 value = resultMap.Find( "image-fitting-mode", Property::STRING );
518 DALI_TEST_CHECK( value );
519 DALI_TEST_CHECK( value->Get<std::string>() == "shrink-to-fit" );
521 value = resultMap.Find( "image-sampling-mode", Property::STRING );
522 DALI_TEST_CHECK( value );
523 DALI_TEST_CHECK( value->Get<std::string>() == "box" );
525 value = resultMap.Find( "image-desired-width", Property::INTEGER );
526 DALI_TEST_CHECK( value );
527 DALI_TEST_CHECK( value->Get<int>() == 100 );
529 value = resultMap.Find( "image-desired-height", Property::INTEGER );
530 DALI_TEST_CHECK( value );
531 DALI_TEST_CHECK( value->Get<int>() == 200 );
536 int UtcDaliControlRendererGetPropertyMap6(void)
538 ToolkitTestApplication application;
539 tet_infoline( "UtcDaliControlRendererGetPropertyMap6: NPatchRenderer" );
541 RendererFactory factory = RendererFactory::Get();
542 Property::Map propertyMap;
543 propertyMap.Insert( "renderer-type", "n-patch-renderer" );
544 propertyMap.Insert( "image-url", TEST_NPATCH_FILE_NAME );
545 propertyMap.Insert( "border-only", true );
546 ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap );
548 Property::Map resultMap;
549 nPatchRenderer.CreatePropertyMap( resultMap );
551 // check the property values from the returned map from control renderer
552 Property::Value* value = resultMap.Find( "renderer-type", Property::STRING );
553 DALI_TEST_CHECK( value );
554 DALI_TEST_CHECK( value->Get<std::string>() == "n-patch-renderer" );
556 value = resultMap.Find( "image-url", Property::STRING );
557 DALI_TEST_CHECK( value );
558 DALI_TEST_CHECK( value->Get<std::string>() == TEST_NPATCH_FILE_NAME );
560 value = resultMap.Find( "border-only", Property::BOOLEAN );
561 DALI_TEST_CHECK( value );
562 DALI_TEST_CHECK( value->Get<bool>() );