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/texture-set.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";
32 const char* TEST_SVG_FILE_NAME = TEST_RESOURCE_DIR "/svg1.svg";
35 void dali_control_renderer_startup(void)
37 test_return_value = TET_UNDEF;
40 void dali_control_renderer_cleanup(void)
42 test_return_value = TET_PASS;
45 int UtcDaliControlRendererCopyAndAssignment(void)
47 ToolkitTestApplication application;
48 tet_infoline( "UtcDaliControlRendererCopyAndAssignment" );
50 RendererFactory factory = RendererFactory::Get();
51 Property::Map propertyMap;
52 propertyMap.Insert("rendererType", "color");
53 propertyMap.Insert("blendColor", Color::BLUE);
54 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
56 ControlRenderer controlRendererCopy( controlRenderer );
57 DALI_TEST_CHECK(controlRenderer == controlRendererCopy);
59 ControlRenderer emptyControlRenderer;
60 ControlRenderer emptyControlRendererCopy( emptyControlRenderer );
61 DALI_TEST_CHECK(emptyControlRenderer == emptyControlRendererCopy);
63 ControlRenderer controlRendererEquals;
64 controlRendererEquals = controlRenderer;
65 DALI_TEST_CHECK(controlRenderer == controlRendererEquals);
67 ControlRenderer emptyControlRendererEquals;
68 emptyControlRendererEquals = emptyControlRenderer;
69 DALI_TEST_CHECK( emptyControlRenderer == emptyControlRendererEquals );
72 controlRenderer = controlRenderer;
73 DALI_TEST_CHECK( controlRenderer = controlRendererCopy );
78 int UtcDaliControlRendererSetGetDepthIndex(void)
80 ToolkitTestApplication application;
81 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
83 RendererFactory factory = RendererFactory::Get();
84 Property::Map propertyMap;
85 propertyMap.Insert("rendererType", "color");
86 propertyMap.Insert("blendColor", Color::BLUE);
87 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
89 controlRenderer.SetDepthIndex( 1.f );
91 Actor actor = Actor::New();
92 actor.SetSize(200.f, 200.f);
93 Stage::GetCurrent().Add( actor );
94 controlRenderer.SetOnStage( actor );
96 int depthIndex = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::DEPTH_INDEX );
97 DALI_TEST_EQUALS( depthIndex, 1, TEST_LOCATION );
98 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), 1.f, TEST_LOCATION );
100 controlRenderer.SetDepthIndex( -1.f );
101 depthIndex = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::DEPTH_INDEX );
102 DALI_TEST_EQUALS( depthIndex, -1, TEST_LOCATION );
103 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), -1.f, TEST_LOCATION );
108 int UtcDaliControlRendererSize(void)
110 ToolkitTestApplication application;
111 tet_infoline( "UtcDaliControlRendererGetNaturalSize" );
113 RendererFactory factory = RendererFactory::Get();
114 Vector2 rendererSize( 20.f, 30.f );
118 ControlRenderer colorRenderer = factory.GetControlRenderer( Color::MAGENTA );
119 colorRenderer.SetSize( rendererSize );
120 DALI_TEST_EQUALS( colorRenderer.GetSize(), rendererSize, TEST_LOCATION );
121 colorRenderer.GetNaturalSize(naturalSize);
122 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
125 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
126 ControlRenderer imageRenderer = factory.GetControlRenderer( image );
127 imageRenderer.SetSize( rendererSize );
128 DALI_TEST_EQUALS( imageRenderer.GetSize(), rendererSize, TEST_LOCATION );
129 imageRenderer.GetNaturalSize(naturalSize);
130 DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 200.f), TEST_LOCATION );
133 TestPlatformAbstraction& platform = application.GetPlatform();
134 Vector2 testSize(80.f, 160.f);
135 platform.SetClosestImageSize(testSize);
136 image = ResourceImage::New(TEST_NPATCH_FILE_NAME);
137 ControlRenderer nPatchRenderer = factory.GetControlRenderer( image );
138 nPatchRenderer.SetSize( rendererSize );
139 DALI_TEST_EQUALS( nPatchRenderer.GetSize(), rendererSize, TEST_LOCATION );
140 nPatchRenderer.GetNaturalSize(naturalSize);
141 DALI_TEST_EQUALS( naturalSize, testSize, TEST_LOCATION );
144 float borderSize = 5.f;
145 ControlRenderer borderRenderer = factory.GetControlRenderer( borderSize, Color::RED );
146 borderRenderer.SetSize( rendererSize );
147 DALI_TEST_EQUALS( borderRenderer.GetSize(), rendererSize, TEST_LOCATION );
148 borderRenderer.GetNaturalSize(naturalSize);
149 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
152 Property::Map propertyMap;
153 propertyMap.Insert("rendererType", "gradient");
154 Vector2 start(-1.f, -1.f);
155 Vector2 end(1.f, 1.f);
156 propertyMap.Insert("startPosition", start);
157 propertyMap.Insert("endPosition", end);
158 propertyMap.Insert("stopOffset", Vector2(0.f, 1.f));
159 Property::Array stopColors;
160 stopColors.PushBack( Color::RED );
161 stopColors.PushBack( Color::GREEN );
162 propertyMap.Insert("stopColor", stopColors);
163 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
164 gradientRenderer.SetSize( rendererSize );
165 DALI_TEST_EQUALS( gradientRenderer.GetSize(), rendererSize, TEST_LOCATION );
166 gradientRenderer.GetNaturalSize(naturalSize);
167 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO,TEST_LOCATION );
170 ControlRenderer svgRenderer = factory.GetControlRenderer( TEST_SVG_FILE_NAME );
171 svgRenderer.SetSize( rendererSize );
172 DALI_TEST_EQUALS( svgRenderer.GetSize(), rendererSize, TEST_LOCATION );
173 svgRenderer.GetNaturalSize(naturalSize);
175 // <svg width="100" height="100">
176 // <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
178 DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 100.f), TEST_LOCATION );
182 int UtcDaliControlRendererSetOnOffStage(void)
184 ToolkitTestApplication application;
185 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
187 RendererFactory factory = RendererFactory::Get();
188 Property::Map propertyMap;
189 propertyMap.Insert("rendererType", "color");
190 propertyMap.Insert("blendColor", Color::BLUE);
191 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
193 Actor actor = Actor::New();
194 actor.SetSize(200.f, 200.f);
195 Stage::GetCurrent().Add( actor );
197 application.SendNotification();
198 application.Render(0);
199 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
201 controlRenderer.SetOnStage( actor );
202 application.SendNotification();
203 application.Render(0);
204 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
206 controlRenderer.SetOffStage( actor );
207 application.SendNotification();
208 application.Render(0);
209 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
214 int UtcDaliControlRendererRemoveAndReset(void)
216 ToolkitTestApplication application;
217 tet_infoline( "intUtcDaliControlRendererRemoveAndReset" );
219 RendererFactory factory = RendererFactory::Get();
221 Actor actor = Actor::New();
222 actor.SetSize(200.f, 200.f);
223 Stage::GetCurrent().Add( actor );
225 ControlRenderer imageRenderer;
226 // test calling RemoveAndReset with an empty handle
229 imageRenderer.RemoveAndReset( actor );
230 tet_result(TET_PASS);
232 catch (DaliException& exception)
234 tet_result(TET_FAIL);
237 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
238 imageRenderer = factory.GetControlRenderer(image);
239 DALI_TEST_CHECK( imageRenderer );
241 imageRenderer.SetOnStage( actor );
242 application.SendNotification();
243 application.Render(0);
244 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
246 imageRenderer.RemoveAndReset( actor );
247 application.SendNotification();
248 application.Render(0);
249 DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // renderer is removed from actor
250 DALI_TEST_CHECK( !imageRenderer ); // control renderer is reset
255 int UtcDaliControlRendererGetPropertyMap1(void)
257 ToolkitTestApplication application;
258 tet_infoline( "UtcDaliControlRendererGetPropertyMap1: ColorRenderer" );
260 RendererFactory factory = RendererFactory::Get();
261 Property::Map propertyMap;
262 propertyMap.Insert("rendererType", "color");
263 propertyMap.Insert("blendColor", Color::BLUE);
264 ControlRenderer colorRenderer = factory.GetControlRenderer( propertyMap );
266 Property::Map resultMap;
267 colorRenderer.CreatePropertyMap( resultMap );
269 Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING );
270 DALI_TEST_CHECK( typeValue );
271 DALI_TEST_CHECK( typeValue->Get<std::string>() == "color" );
273 Property::Value* colorValue = resultMap.Find( "blendColor", Property::VECTOR4 );
274 DALI_TEST_CHECK( colorValue );
275 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
277 // change the blend color
279 factory.ResetRenderer( colorRenderer, actor, Color::CYAN );
280 colorRenderer.CreatePropertyMap( resultMap );
282 colorValue = resultMap.Find( "blendColor", Property::VECTOR4 );
283 DALI_TEST_CHECK( colorValue );
284 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
289 int UtcDaliControlRendererGetPropertyMap2(void)
291 ToolkitTestApplication application;
292 tet_infoline( "UtcDaliControlRendererGetPropertyMap2: BorderRenderer" );
294 RendererFactory factory = RendererFactory::Get();
295 Property::Map propertyMap;
296 propertyMap.Insert("rendererType", "border");
297 propertyMap.Insert("borderColor", Color::BLUE);
298 propertyMap.Insert("borderSize", 5.f);
299 ControlRenderer borderRenderer = factory.GetControlRenderer( propertyMap );
301 Property::Map resultMap;
302 borderRenderer.CreatePropertyMap( resultMap );
304 // check the property values from the returned map from control renderer
305 Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING );
306 DALI_TEST_CHECK( typeValue );
307 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border" );
309 Property::Value* colorValue = resultMap.Find( "borderColor", Property::VECTOR4 );
310 DALI_TEST_CHECK( colorValue );
311 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
313 Property::Value* sizeValue = resultMap.Find( "borderSize", Property::FLOAT );
314 DALI_TEST_CHECK( sizeValue );
315 DALI_TEST_CHECK( sizeValue->Get<float>() == 5.f );
317 borderRenderer = factory.GetControlRenderer( 10.f, Color::CYAN );
318 borderRenderer.CreatePropertyMap( resultMap );
320 typeValue = resultMap.Find( "rendererType", Property::STRING );
321 DALI_TEST_CHECK( typeValue );
322 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border" );
324 colorValue = resultMap.Find( "borderColor", Property::VECTOR4 );
325 DALI_TEST_CHECK( colorValue );
326 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
328 colorValue = resultMap.Find( "borderSize", Property::FLOAT );
329 DALI_TEST_CHECK( colorValue );
330 DALI_TEST_CHECK( colorValue->Get<float>() == 10.f );
335 int UtcDaliControlRendererGetPropertyMap3(void)
337 ToolkitTestApplication application;
338 tet_infoline( "UtcDaliControlRendererGetPropertyMap3: linear GradientRenderer" );
340 RendererFactory factory = RendererFactory::Get();
341 DALI_TEST_CHECK( factory );
343 Property::Map propertyMap;
344 propertyMap.Insert("rendererType", "gradient");
346 Vector2 start(-1.f, -1.f);
347 Vector2 end(1.f, 1.f);
348 propertyMap.Insert("startPosition", start);
349 propertyMap.Insert("endPosition", end);
350 propertyMap.Insert("spreadMethod", "repeat");
352 propertyMap.Insert("stopOffset", Vector2(0.2f, 0.8f));
354 Property::Array stopColors;
355 stopColors.PushBack( Color::RED );
356 stopColors.PushBack( Color::GREEN );
357 propertyMap.Insert("stopColor", stopColors);
359 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
361 Property::Map resultMap;
362 gradientRenderer.CreatePropertyMap( resultMap );
364 // check the property values from the returned map from control renderer
365 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
366 DALI_TEST_CHECK( value );
367 DALI_TEST_CHECK( value->Get<std::string>() == "gradient" );
369 value = resultMap.Find( "units", Property::STRING );
370 DALI_TEST_CHECK( value );
371 DALI_TEST_CHECK( value->Get<std::string>() == "objectBoundingBox" );
373 value = resultMap.Find( "spreadMethod", Property::STRING );
374 DALI_TEST_CHECK( value );
375 DALI_TEST_CHECK( value->Get<std::string>() == "repeat" );
377 value = resultMap.Find( "startPosition", Property::VECTOR2 );
378 DALI_TEST_CHECK( value );
379 DALI_TEST_EQUALS( value->Get<Vector2>(), start , Math::MACHINE_EPSILON_100, TEST_LOCATION );
381 value = resultMap.Find( "endPosition", Property::VECTOR2 );
382 DALI_TEST_CHECK( value );
383 DALI_TEST_EQUALS( value->Get<Vector2>(), end , Math::MACHINE_EPSILON_100, TEST_LOCATION );
385 value = resultMap.Find( "stopOffset", Property::ARRAY );
386 DALI_TEST_CHECK( value );
387 Property::Array* offsetArray = value->GetArray();
388 DALI_TEST_CHECK( offsetArray->Count() == 2 );
389 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.2f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
390 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.8f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
392 value = resultMap.Find( "stopColor", Property::ARRAY );
393 DALI_TEST_CHECK( value );
394 Property::Array* colorArray = value->GetArray();
395 DALI_TEST_CHECK( colorArray->Count() == 2 );
396 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
397 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
402 int UtcDaliControlRendererGetPropertyMap4(void)
404 ToolkitTestApplication application;
405 tet_infoline( "UtcDaliControlRendererGetPropertyMap4: radial GradientRenderer" );
407 RendererFactory factory = RendererFactory::Get();
408 DALI_TEST_CHECK( factory );
410 Property::Map propertyMap;
411 propertyMap.Insert("rendererType", "gradient");
413 Vector2 center(100.f, 100.f);
414 float radius = 100.f;
415 propertyMap.Insert("units", "userSpace");
416 propertyMap.Insert("center", center);
417 propertyMap.Insert("radius", radius);
418 propertyMap.Insert("stopOffset", Vector3(0.1f, 0.3f, 1.1f));
420 Property::Array stopColors;
421 stopColors.PushBack( Color::RED );
422 stopColors.PushBack( Color::BLACK );
423 stopColors.PushBack( Color::GREEN );
424 propertyMap.Insert("stopColor", stopColors);
426 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
427 DALI_TEST_CHECK( gradientRenderer );
429 Property::Map resultMap;
430 gradientRenderer.CreatePropertyMap( resultMap );
432 // check the property values from the returned map from control renderer
433 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
434 DALI_TEST_CHECK( value );
435 DALI_TEST_CHECK( value->Get<std::string>() == "gradient" );
437 value = resultMap.Find( "units", Property::STRING );
438 DALI_TEST_CHECK( value );
439 DALI_TEST_CHECK( value->Get<std::string>() == "userSpace" );
441 value = resultMap.Find( "spreadMethod", Property::STRING );
442 DALI_TEST_CHECK( value );
443 DALI_TEST_CHECK( value->Get<std::string>() == "pad" );
445 value = resultMap.Find( "center", Property::VECTOR2 );
446 DALI_TEST_CHECK( value );
447 DALI_TEST_EQUALS( value->Get<Vector2>(), center , Math::MACHINE_EPSILON_100, TEST_LOCATION );
449 value = resultMap.Find( "radius", Property::FLOAT );
450 DALI_TEST_CHECK( value );
451 DALI_TEST_EQUALS( value->Get<float>(), radius , Math::MACHINE_EPSILON_100, TEST_LOCATION );
453 value = resultMap.Find( "stopOffset", Property::ARRAY );
454 DALI_TEST_CHECK( value );
455 Property::Array* offsetArray = value->GetArray();
456 DALI_TEST_CHECK( offsetArray->Count() == 3 );
457 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.1f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
458 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.3f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
459 // any stop value will be clamped to [0.0, 1.0];
460 DALI_TEST_EQUALS( offsetArray->GetElementAt(2).Get<float>(), 1.0f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
462 value = resultMap.Find( "stopColor", Property::ARRAY );
463 DALI_TEST_CHECK( value );
464 Property::Array* colorArray = value->GetArray();
465 DALI_TEST_CHECK( colorArray->Count() == 3 );
466 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
467 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::BLACK , Math::MACHINE_EPSILON_100, TEST_LOCATION );
468 DALI_TEST_EQUALS( colorArray->GetElementAt(2).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
473 int UtcDaliControlRendererGetPropertyMap5(void)
475 ToolkitTestApplication application;
476 tet_infoline( "UtcDaliControlRendererGetPropertyMap5: ImageRenderer" );
478 RendererFactory factory = RendererFactory::Get();
479 Property::Map propertyMap;
480 propertyMap.Insert( "rendererType", "image" );
481 propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME );
482 propertyMap.Insert( "desiredWidth", 20 );
483 propertyMap.Insert( "desiredHeight", 30 );
484 propertyMap.Insert( "fittingMode", "FIT_HEIGHT" );
485 propertyMap.Insert( "samplingMode", "BOX_THEN_NEAREST" );
487 ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap);
488 DALI_TEST_CHECK( imageRenderer );
490 Property::Map resultMap;
491 imageRenderer.CreatePropertyMap( resultMap );
493 // check the property values from the returned map from control renderer
494 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
495 DALI_TEST_CHECK( value );
496 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
498 value = resultMap.Find( "url", Property::STRING );
499 DALI_TEST_CHECK( value );
500 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
502 value = resultMap.Find( "fittingMode", Property::STRING );
503 DALI_TEST_CHECK( value );
504 DALI_TEST_CHECK( value->Get<std::string>() == "FIT_HEIGHT" );
506 value = resultMap.Find( "samplingMode", Property::STRING );
507 DALI_TEST_CHECK( value );
508 DALI_TEST_CHECK( value->Get<std::string>() == "BOX_THEN_NEAREST" );
510 value = resultMap.Find( "desiredWidth", Property::INTEGER );
511 DALI_TEST_CHECK( value );
512 DALI_TEST_CHECK( value->Get<int>() == 20 );
514 value = resultMap.Find( "desiredHeight", Property::INTEGER );
515 DALI_TEST_CHECK( value );
516 DALI_TEST_CHECK( value->Get<int>() == 30 );
518 // Get an image renderer with an image handle, and test the default property values
519 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
520 imageRenderer = factory.GetControlRenderer(image);
521 imageRenderer.CreatePropertyMap( resultMap );
523 value = resultMap.Find( "rendererType", Property::STRING );
524 DALI_TEST_CHECK( value );
525 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
527 value = resultMap.Find( "url", Property::STRING );
528 DALI_TEST_CHECK( value );
529 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
531 value = resultMap.Find( "fittingMode", Property::STRING );
532 DALI_TEST_CHECK( value );
533 DALI_TEST_CHECK( value->Get<std::string>() == "SHRINK_TO_FIT" );
535 value = resultMap.Find( "samplingMode", Property::STRING );
536 DALI_TEST_CHECK( value );
537 DALI_TEST_CHECK( value->Get<std::string>() == "BOX" );
539 value = resultMap.Find( "desiredWidth", Property::INTEGER );
540 DALI_TEST_CHECK( value );
541 DALI_TEST_CHECK( value->Get<int>() == 100 );
543 value = resultMap.Find( "desiredHeight", Property::INTEGER );
544 DALI_TEST_CHECK( value );
545 DALI_TEST_CHECK( value->Get<int>() == 200 );
550 int UtcDaliControlRendererGetPropertyMap6(void)
552 ToolkitTestApplication application;
553 tet_infoline( "UtcDaliControlRendererGetPropertyMap6: NPatchRenderer" );
555 RendererFactory factory = RendererFactory::Get();
556 Property::Map propertyMap;
557 propertyMap.Insert( "rendererType", "image" );
558 propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
559 propertyMap.Insert( "borderOnly", true );
560 ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap );
562 Property::Map resultMap;
563 nPatchRenderer.CreatePropertyMap( resultMap );
565 // check the property values from the returned map from control renderer
566 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
567 DALI_TEST_CHECK( value );
568 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
570 value = resultMap.Find( "url", Property::STRING );
571 DALI_TEST_CHECK( value );
572 DALI_TEST_CHECK( value->Get<std::string>() == TEST_NPATCH_FILE_NAME );
574 value = resultMap.Find( "borderOnly", Property::BOOLEAN );
575 DALI_TEST_CHECK( value );
576 DALI_TEST_CHECK( value->Get<bool>() );
581 int UtcDaliControlRendererGetPropertyMap7(void)
583 ToolkitTestApplication application;
584 tet_infoline( "UtcDaliControlRendererGetPropertyMap7: SvgRenderer" );
586 // request SvgRenderer with a property map
587 RendererFactory factory = RendererFactory::Get();
588 Property::Map propertyMap;
589 propertyMap.Insert( "rendererType", "image" );
590 propertyMap.Insert( "url", TEST_SVG_FILE_NAME );
591 ControlRenderer svgRenderer = factory.GetControlRenderer( propertyMap );
593 Property::Map resultMap;
594 svgRenderer.CreatePropertyMap( resultMap );
595 // check the property values from the returned map from control renderer
596 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
597 DALI_TEST_CHECK( value );
598 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
600 value = resultMap.Find( "url", Property::STRING );
601 DALI_TEST_CHECK( value );
602 DALI_TEST_CHECK( value->Get<std::string>() == TEST_SVG_FILE_NAME );
604 // request SvgRenderer with an URL
605 ControlRenderer svgRenderer2 = factory.GetControlRenderer( TEST_SVG_FILE_NAME );
607 svgRenderer2.CreatePropertyMap( resultMap );
608 // check the property values from the returned map from control renderer
609 value = resultMap.Find( "rendererType", Property::STRING );
610 DALI_TEST_CHECK( value );
611 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
613 value = resultMap.Find( "url", Property::STRING );
614 DALI_TEST_CHECK( value );
615 DALI_TEST_CHECK( value->Get<std::string>() == TEST_SVG_FILE_NAME );