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";
33 const char* TEST_OBJ_FILE_NAME = TEST_RESOURCE_DIR "/Cube.obj";
34 const char* TEST_MTL_FILE_NAME = TEST_RESOURCE_DIR "/ToyRobot-Metal.mtl";
35 const char* TEST_RESOURCE_LOCATION = TEST_RESOURCE_DIR "/";
38 void dali_control_renderer_startup(void)
40 test_return_value = TET_UNDEF;
43 void dali_control_renderer_cleanup(void)
45 test_return_value = TET_PASS;
48 int UtcDaliControlRendererCopyAndAssignment(void)
50 ToolkitTestApplication application;
51 tet_infoline( "UtcDaliControlRendererCopyAndAssignment" );
53 RendererFactory factory = RendererFactory::Get();
54 Property::Map propertyMap;
55 propertyMap.Insert("rendererType", "color");
56 propertyMap.Insert("mixColor", Color::BLUE);
57 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
59 ControlRenderer controlRendererCopy( controlRenderer );
60 DALI_TEST_CHECK(controlRenderer == controlRendererCopy);
62 ControlRenderer emptyControlRenderer;
63 ControlRenderer emptyControlRendererCopy( emptyControlRenderer );
64 DALI_TEST_CHECK(emptyControlRenderer == emptyControlRendererCopy);
66 ControlRenderer controlRendererEquals;
67 controlRendererEquals = controlRenderer;
68 DALI_TEST_CHECK(controlRenderer == controlRendererEquals);
70 ControlRenderer emptyControlRendererEquals;
71 emptyControlRendererEquals = emptyControlRenderer;
72 DALI_TEST_CHECK( emptyControlRenderer == emptyControlRendererEquals );
75 controlRenderer = controlRenderer;
76 DALI_TEST_CHECK( controlRenderer = controlRendererCopy );
81 int UtcDaliControlRendererSetGetDepthIndex(void)
83 ToolkitTestApplication application;
84 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
86 RendererFactory factory = RendererFactory::Get();
87 Property::Map propertyMap;
88 propertyMap.Insert("rendererType", "color");
89 propertyMap.Insert("mixColor", Color::BLUE);
90 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
92 controlRenderer.SetDepthIndex( 1.f );
94 Actor actor = Actor::New();
95 actor.SetSize(200.f, 200.f);
96 Stage::GetCurrent().Add( actor );
97 controlRenderer.SetOnStage( actor );
99 int depthIndex = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::DEPTH_INDEX );
100 DALI_TEST_EQUALS( depthIndex, 1, TEST_LOCATION );
101 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), 1.f, TEST_LOCATION );
103 controlRenderer.SetDepthIndex( -1.f );
104 depthIndex = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::DEPTH_INDEX );
105 DALI_TEST_EQUALS( depthIndex, -1, TEST_LOCATION );
106 DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), -1.f, TEST_LOCATION );
111 int UtcDaliControlRendererSize(void)
113 ToolkitTestApplication application;
114 tet_infoline( "UtcDaliControlRendererGetNaturalSize" );
116 RendererFactory factory = RendererFactory::Get();
117 Vector2 rendererSize( 20.f, 30.f );
121 ControlRenderer colorRenderer = factory.GetControlRenderer( Color::MAGENTA );
122 colorRenderer.SetSize( rendererSize );
123 DALI_TEST_EQUALS( colorRenderer.GetSize(), rendererSize, TEST_LOCATION );
124 colorRenderer.GetNaturalSize(naturalSize);
125 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
128 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
129 ControlRenderer imageRenderer = factory.GetControlRenderer( image );
130 imageRenderer.SetSize( rendererSize );
131 DALI_TEST_EQUALS( imageRenderer.GetSize(), rendererSize, TEST_LOCATION );
132 imageRenderer.GetNaturalSize(naturalSize);
133 DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 200.f), TEST_LOCATION );
136 TestPlatformAbstraction& platform = application.GetPlatform();
137 Vector2 testSize(80.f, 160.f);
138 platform.SetClosestImageSize(testSize);
139 image = ResourceImage::New(TEST_NPATCH_FILE_NAME);
140 ControlRenderer nPatchRenderer = factory.GetControlRenderer( image );
141 nPatchRenderer.SetSize( rendererSize );
142 DALI_TEST_EQUALS( nPatchRenderer.GetSize(), rendererSize, TEST_LOCATION );
143 nPatchRenderer.GetNaturalSize(naturalSize);
144 DALI_TEST_EQUALS( naturalSize, testSize, TEST_LOCATION );
147 float borderSize = 5.f;
148 ControlRenderer borderRenderer = factory.GetControlRenderer( borderSize, Color::RED );
149 borderRenderer.SetSize( rendererSize );
150 DALI_TEST_EQUALS( borderRenderer.GetSize(), rendererSize, TEST_LOCATION );
151 borderRenderer.GetNaturalSize(naturalSize);
152 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
155 Property::Map propertyMap;
156 propertyMap.Insert("rendererType", "gradient");
157 Vector2 start(-1.f, -1.f);
158 Vector2 end(1.f, 1.f);
159 propertyMap.Insert("startPosition", start);
160 propertyMap.Insert("endPosition", end);
161 propertyMap.Insert("stopOffset", Vector2(0.f, 1.f));
162 Property::Array stopColors;
163 stopColors.PushBack( Color::RED );
164 stopColors.PushBack( Color::GREEN );
165 propertyMap.Insert("stopColor", stopColors);
166 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
167 gradientRenderer.SetSize( rendererSize );
168 DALI_TEST_EQUALS( gradientRenderer.GetSize(), rendererSize, TEST_LOCATION );
169 gradientRenderer.GetNaturalSize(naturalSize);
170 DALI_TEST_EQUALS( naturalSize, Vector2::ZERO,TEST_LOCATION );
173 ControlRenderer svgRenderer = factory.GetControlRenderer( TEST_SVG_FILE_NAME );
174 svgRenderer.SetSize( rendererSize );
175 DALI_TEST_EQUALS( svgRenderer.GetSize(), rendererSize, TEST_LOCATION );
176 svgRenderer.GetNaturalSize(naturalSize);
178 // <svg width="100" height="100">
179 // <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
181 DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 100.f), TEST_LOCATION );
185 int UtcDaliControlRendererSetOnOffStage(void)
187 ToolkitTestApplication application;
188 tet_infoline( "UtcDaliControlRendererSetDepthIndex" );
190 RendererFactory factory = RendererFactory::Get();
191 Property::Map propertyMap;
192 propertyMap.Insert("rendererType", "color");
193 propertyMap.Insert("mixColor", Color::BLUE);
194 ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
196 Actor actor = Actor::New();
197 actor.SetSize(200.f, 200.f);
198 Stage::GetCurrent().Add( actor );
200 application.SendNotification();
201 application.Render(0);
202 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
204 controlRenderer.SetOnStage( actor );
205 application.SendNotification();
206 application.Render(0);
207 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
209 controlRenderer.SetOffStage( actor );
210 application.SendNotification();
211 application.Render(0);
212 DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
217 int UtcDaliControlRendererRemoveAndReset(void)
219 ToolkitTestApplication application;
220 tet_infoline( "intUtcDaliControlRendererRemoveAndReset" );
222 RendererFactory factory = RendererFactory::Get();
224 Actor actor = Actor::New();
225 actor.SetSize(200.f, 200.f);
226 Stage::GetCurrent().Add( actor );
228 ControlRenderer imageRenderer;
229 // test calling RemoveAndReset with an empty handle
232 imageRenderer.RemoveAndReset( actor );
233 tet_result(TET_PASS);
235 catch (DaliException& exception)
237 tet_result(TET_FAIL);
240 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
241 imageRenderer = factory.GetControlRenderer(image);
242 DALI_TEST_CHECK( imageRenderer );
244 imageRenderer.SetOnStage( actor );
245 application.SendNotification();
246 application.Render(0);
247 DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
249 imageRenderer.RemoveAndReset( actor );
250 application.SendNotification();
251 application.Render(0);
252 DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // renderer is removed from actor
253 DALI_TEST_CHECK( !imageRenderer ); // control renderer is reset
258 int UtcDaliControlRendererGetPropertyMap1(void)
260 ToolkitTestApplication application;
261 tet_infoline( "UtcDaliControlRendererGetPropertyMap1: ColorRenderer" );
263 RendererFactory factory = RendererFactory::Get();
264 Property::Map propertyMap;
265 propertyMap.Insert("rendererType", "color");
266 propertyMap.Insert("mixColor", Color::BLUE);
267 ControlRenderer colorRenderer = factory.GetControlRenderer( propertyMap );
269 Property::Map resultMap;
270 colorRenderer.CreatePropertyMap( resultMap );
272 Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING );
273 DALI_TEST_CHECK( typeValue );
274 DALI_TEST_CHECK( typeValue->Get<std::string>() == "color" );
276 Property::Value* colorValue = resultMap.Find( "mixColor", Property::VECTOR4 );
277 DALI_TEST_CHECK( colorValue );
278 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
280 // change the blend color
282 factory.ResetRenderer( colorRenderer, actor, Color::CYAN );
283 colorRenderer.CreatePropertyMap( resultMap );
285 colorValue = resultMap.Find( "mixColor", Property::VECTOR4 );
286 DALI_TEST_CHECK( colorValue );
287 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
292 int UtcDaliControlRendererGetPropertyMap2(void)
294 ToolkitTestApplication application;
295 tet_infoline( "UtcDaliControlRendererGetPropertyMap2: BorderRenderer" );
297 RendererFactory factory = RendererFactory::Get();
298 Property::Map propertyMap;
299 propertyMap.Insert("rendererType", "border");
300 propertyMap.Insert("borderColor", Color::BLUE);
301 propertyMap.Insert("borderSize", 5.f);
302 ControlRenderer borderRenderer = factory.GetControlRenderer( propertyMap );
304 Property::Map resultMap;
305 borderRenderer.CreatePropertyMap( resultMap );
307 // check the property values from the returned map from control renderer
308 Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING );
309 DALI_TEST_CHECK( typeValue );
310 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border" );
312 Property::Value* colorValue = resultMap.Find( "borderColor", Property::VECTOR4 );
313 DALI_TEST_CHECK( colorValue );
314 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::BLUE );
316 Property::Value* sizeValue = resultMap.Find( "borderSize", Property::FLOAT );
317 DALI_TEST_CHECK( sizeValue );
318 DALI_TEST_CHECK( sizeValue->Get<float>() == 5.f );
320 borderRenderer = factory.GetControlRenderer( 10.f, Color::CYAN );
321 borderRenderer.CreatePropertyMap( resultMap );
323 typeValue = resultMap.Find( "rendererType", Property::STRING );
324 DALI_TEST_CHECK( typeValue );
325 DALI_TEST_CHECK( typeValue->Get<std::string>() == "border" );
327 colorValue = resultMap.Find( "borderColor", Property::VECTOR4 );
328 DALI_TEST_CHECK( colorValue );
329 DALI_TEST_CHECK( colorValue->Get<Vector4>() == Color::CYAN );
331 colorValue = resultMap.Find( "borderSize", Property::FLOAT );
332 DALI_TEST_CHECK( colorValue );
333 DALI_TEST_CHECK( colorValue->Get<float>() == 10.f );
338 int UtcDaliControlRendererGetPropertyMap3(void)
340 ToolkitTestApplication application;
341 tet_infoline( "UtcDaliControlRendererGetPropertyMap3: linear GradientRenderer" );
343 RendererFactory factory = RendererFactory::Get();
344 DALI_TEST_CHECK( factory );
346 Property::Map propertyMap;
347 propertyMap.Insert("rendererType", "gradient");
349 Vector2 start(-1.f, -1.f);
350 Vector2 end(1.f, 1.f);
351 propertyMap.Insert("startPosition", start);
352 propertyMap.Insert("endPosition", end);
353 propertyMap.Insert("spreadMethod", "repeat");
355 propertyMap.Insert("stopOffset", Vector2(0.2f, 0.8f));
357 Property::Array stopColors;
358 stopColors.PushBack( Color::RED );
359 stopColors.PushBack( Color::GREEN );
360 propertyMap.Insert("stopColor", stopColors);
362 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
364 Property::Map resultMap;
365 gradientRenderer.CreatePropertyMap( resultMap );
367 // check the property values from the returned map from control renderer
368 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
369 DALI_TEST_CHECK( value );
370 DALI_TEST_CHECK( value->Get<std::string>() == "gradient" );
372 value = resultMap.Find( "units", Property::STRING );
373 DALI_TEST_CHECK( value );
374 DALI_TEST_CHECK( value->Get<std::string>() == "objectBoundingBox" );
376 value = resultMap.Find( "spreadMethod", Property::STRING );
377 DALI_TEST_CHECK( value );
378 DALI_TEST_CHECK( value->Get<std::string>() == "repeat" );
380 value = resultMap.Find( "startPosition", Property::VECTOR2 );
381 DALI_TEST_CHECK( value );
382 DALI_TEST_EQUALS( value->Get<Vector2>(), start , Math::MACHINE_EPSILON_100, TEST_LOCATION );
384 value = resultMap.Find( "endPosition", Property::VECTOR2 );
385 DALI_TEST_CHECK( value );
386 DALI_TEST_EQUALS( value->Get<Vector2>(), end , Math::MACHINE_EPSILON_100, TEST_LOCATION );
388 value = resultMap.Find( "stopOffset", Property::ARRAY );
389 DALI_TEST_CHECK( value );
390 Property::Array* offsetArray = value->GetArray();
391 DALI_TEST_CHECK( offsetArray->Count() == 2 );
392 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.2f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
393 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.8f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
395 value = resultMap.Find( "stopColor", Property::ARRAY );
396 DALI_TEST_CHECK( value );
397 Property::Array* colorArray = value->GetArray();
398 DALI_TEST_CHECK( colorArray->Count() == 2 );
399 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
400 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
405 int UtcDaliControlRendererGetPropertyMap4(void)
407 ToolkitTestApplication application;
408 tet_infoline( "UtcDaliControlRendererGetPropertyMap4: radial GradientRenderer" );
410 RendererFactory factory = RendererFactory::Get();
411 DALI_TEST_CHECK( factory );
413 Property::Map propertyMap;
414 propertyMap.Insert("rendererType", "gradient");
416 Vector2 center(100.f, 100.f);
417 float radius = 100.f;
418 propertyMap.Insert("units", "userSpace");
419 propertyMap.Insert("center", center);
420 propertyMap.Insert("radius", radius);
421 propertyMap.Insert("stopOffset", Vector3(0.1f, 0.3f, 1.1f));
423 Property::Array stopColors;
424 stopColors.PushBack( Color::RED );
425 stopColors.PushBack( Color::BLACK );
426 stopColors.PushBack( Color::GREEN );
427 propertyMap.Insert("stopColor", stopColors);
429 ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap);
430 DALI_TEST_CHECK( gradientRenderer );
432 Property::Map resultMap;
433 gradientRenderer.CreatePropertyMap( resultMap );
435 // check the property values from the returned map from control renderer
436 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
437 DALI_TEST_CHECK( value );
438 DALI_TEST_CHECK( value->Get<std::string>() == "gradient" );
440 value = resultMap.Find( "units", Property::STRING );
441 DALI_TEST_CHECK( value );
442 DALI_TEST_CHECK( value->Get<std::string>() == "userSpace" );
444 value = resultMap.Find( "spreadMethod", Property::STRING );
445 DALI_TEST_CHECK( value );
446 DALI_TEST_CHECK( value->Get<std::string>() == "pad" );
448 value = resultMap.Find( "center", Property::VECTOR2 );
449 DALI_TEST_CHECK( value );
450 DALI_TEST_EQUALS( value->Get<Vector2>(), center , Math::MACHINE_EPSILON_100, TEST_LOCATION );
452 value = resultMap.Find( "radius", Property::FLOAT );
453 DALI_TEST_CHECK( value );
454 DALI_TEST_EQUALS( value->Get<float>(), radius , Math::MACHINE_EPSILON_100, TEST_LOCATION );
456 value = resultMap.Find( "stopOffset", Property::ARRAY );
457 DALI_TEST_CHECK( value );
458 Property::Array* offsetArray = value->GetArray();
459 DALI_TEST_CHECK( offsetArray->Count() == 3 );
460 DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get<float>(), 0.1f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
461 DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get<float>(), 0.3f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
462 // any stop value will be clamped to [0.0, 1.0];
463 DALI_TEST_EQUALS( offsetArray->GetElementAt(2).Get<float>(), 1.0f , Math::MACHINE_EPSILON_100, TEST_LOCATION );
465 value = resultMap.Find( "stopColor", Property::ARRAY );
466 DALI_TEST_CHECK( value );
467 Property::Array* colorArray = value->GetArray();
468 DALI_TEST_CHECK( colorArray->Count() == 3 );
469 DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get<Vector4>(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION );
470 DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get<Vector4>(), Color::BLACK , Math::MACHINE_EPSILON_100, TEST_LOCATION );
471 DALI_TEST_EQUALS( colorArray->GetElementAt(2).Get<Vector4>(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION );
476 int UtcDaliControlRendererGetPropertyMap5(void)
478 ToolkitTestApplication application;
479 tet_infoline( "UtcDaliControlRendererGetPropertyMap5: ImageRenderer" );
481 RendererFactory factory = RendererFactory::Get();
482 Property::Map propertyMap;
483 propertyMap.Insert( "rendererType", "image" );
484 propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME );
485 propertyMap.Insert( "desiredWidth", 20 );
486 propertyMap.Insert( "desiredHeight", 30 );
487 propertyMap.Insert( "fittingMode", "FIT_HEIGHT" );
488 propertyMap.Insert( "samplingMode", "BOX_THEN_NEAREST" );
489 propertyMap.Insert( "synchronousLoading", true );
491 ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap);
492 DALI_TEST_CHECK( imageRenderer );
494 Property::Map resultMap;
495 imageRenderer.CreatePropertyMap( resultMap );
497 // check the property values from the returned map from control renderer
498 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
499 DALI_TEST_CHECK( value );
500 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
502 value = resultMap.Find( "url", Property::STRING );
503 DALI_TEST_CHECK( value );
504 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
506 value = resultMap.Find( "fittingMode", Property::STRING );
507 DALI_TEST_CHECK( value );
508 DALI_TEST_CHECK( value->Get<std::string>() == "FIT_HEIGHT" );
510 value = resultMap.Find( "samplingMode", Property::STRING );
511 DALI_TEST_CHECK( value );
512 DALI_TEST_CHECK( value->Get<std::string>() == "BOX_THEN_NEAREST" );
514 value = resultMap.Find( "desiredWidth", Property::INTEGER );
515 DALI_TEST_CHECK( value );
516 DALI_TEST_CHECK( value->Get<int>() == 20 );
518 value = resultMap.Find( "desiredHeight", Property::INTEGER );
519 DALI_TEST_CHECK( value );
520 DALI_TEST_CHECK( value->Get<int>() == 30 );
522 value = resultMap.Find( "synchronousLoading", Property::BOOLEAN );
523 DALI_TEST_CHECK( value );
524 DALI_TEST_CHECK( value->Get<bool>() == true );
526 // Get an image renderer with an image handle, and test the default property values
527 Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
528 imageRenderer = factory.GetControlRenderer(image);
529 imageRenderer.CreatePropertyMap( resultMap );
531 value = resultMap.Find( "rendererType", Property::STRING );
532 DALI_TEST_CHECK( value );
533 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
535 value = resultMap.Find( "url", Property::STRING );
536 DALI_TEST_CHECK( value );
537 DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
539 value = resultMap.Find( "fittingMode", Property::STRING );
540 DALI_TEST_CHECK( value );
541 DALI_TEST_CHECK( value->Get<std::string>() == "SHRINK_TO_FIT" );
543 value = resultMap.Find( "samplingMode", Property::STRING );
544 DALI_TEST_CHECK( value );
545 DALI_TEST_CHECK( value->Get<std::string>() == "BOX" );
547 value = resultMap.Find( "desiredWidth", Property::INTEGER );
548 DALI_TEST_CHECK( value );
549 DALI_TEST_CHECK( value->Get<int>() == 100 );
551 value = resultMap.Find( "desiredHeight", Property::INTEGER );
552 DALI_TEST_CHECK( value );
553 DALI_TEST_CHECK( value->Get<int>() == 200 );
555 value = resultMap.Find( "synchronousLoading", Property::BOOLEAN );
556 DALI_TEST_CHECK( value );
557 DALI_TEST_CHECK( value->Get<bool>() == false );
562 int UtcDaliControlRendererGetPropertyMap6(void)
564 ToolkitTestApplication application;
565 tet_infoline( "UtcDaliControlRendererGetPropertyMap6: NPatchRenderer" );
567 RendererFactory factory = RendererFactory::Get();
568 Property::Map propertyMap;
569 propertyMap.Insert( "rendererType", "image" );
570 propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
571 propertyMap.Insert( "borderOnly", true );
572 ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap );
574 Property::Map resultMap;
575 nPatchRenderer.CreatePropertyMap( resultMap );
577 // check the property values from the returned map from control renderer
578 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
579 DALI_TEST_CHECK( value );
580 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
582 value = resultMap.Find( "url", Property::STRING );
583 DALI_TEST_CHECK( value );
584 DALI_TEST_CHECK( value->Get<std::string>() == TEST_NPATCH_FILE_NAME );
586 value = resultMap.Find( "borderOnly", Property::BOOLEAN );
587 DALI_TEST_CHECK( value );
588 DALI_TEST_CHECK( value->Get<bool>() );
593 int UtcDaliControlRendererGetPropertyMap7(void)
595 ToolkitTestApplication application;
596 tet_infoline( "UtcDaliControlRendererGetPropertyMap7: SvgRenderer" );
598 // request SvgRenderer with a property map
599 RendererFactory factory = RendererFactory::Get();
600 Property::Map propertyMap;
601 propertyMap.Insert( "rendererType", "image" );
602 propertyMap.Insert( "url", TEST_SVG_FILE_NAME );
603 ControlRenderer svgRenderer = factory.GetControlRenderer( propertyMap );
605 Property::Map resultMap;
606 svgRenderer.CreatePropertyMap( resultMap );
607 // check the property values from the returned map from control renderer
608 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
609 DALI_TEST_CHECK( value );
610 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
612 value = resultMap.Find( "url", Property::STRING );
613 DALI_TEST_CHECK( value );
614 DALI_TEST_CHECK( value->Get<std::string>() == TEST_SVG_FILE_NAME );
616 // request SvgRenderer with an URL
617 ControlRenderer svgRenderer2 = factory.GetControlRenderer( TEST_SVG_FILE_NAME );
619 svgRenderer2.CreatePropertyMap( resultMap );
620 // check the property values from the returned map from control renderer
621 value = resultMap.Find( "rendererType", Property::STRING );
622 DALI_TEST_CHECK( value );
623 DALI_TEST_CHECK( value->Get<std::string>() == "image" );
625 value = resultMap.Find( "url", Property::STRING );
626 DALI_TEST_CHECK( value );
627 DALI_TEST_CHECK( value->Get<std::string>() == TEST_SVG_FILE_NAME );
633 int UtcDaliControlRendererGetPropertyMap8(void)
635 ToolkitTestApplication application;
636 tet_infoline( "UtcDaliControlRendererGetPropertyMap8: MeshRenderer" );
638 //Request MeshRenderer using a property map.
639 RendererFactory factory = RendererFactory::Get();
640 Property::Map propertyMap;
641 propertyMap.Insert( "rendererType", "mesh" );
642 propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
643 propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
644 propertyMap.Insert( "texturesPath", TEST_RESOURCE_LOCATION );
645 propertyMap.Insert( "shaderType", "textureless" );
646 ControlRenderer meshRenderer = factory.GetControlRenderer( propertyMap );
648 Property::Map resultMap;
649 meshRenderer.CreatePropertyMap( resultMap );
651 //Check values in the result map are identical to the initial map's values.
652 Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
653 DALI_TEST_CHECK( value );
654 DALI_TEST_CHECK( value->Get<std::string>() == "mesh" );
656 value = resultMap.Find( "objectUrl", Property::STRING );
657 DALI_TEST_CHECK( value );
658 DALI_TEST_CHECK( value->Get<std::string>() == TEST_OBJ_FILE_NAME );
660 value = resultMap.Find( "materialUrl", Property::STRING );
661 DALI_TEST_CHECK( value );
662 DALI_TEST_CHECK( value->Get<std::string>() == TEST_MTL_FILE_NAME );
664 value = resultMap.Find( "texturesPath", Property::STRING );
665 DALI_TEST_CHECK( value );
666 DALI_TEST_CHECK( value->Get<std::string>() == TEST_RESOURCE_LOCATION );
668 value = resultMap.Find( "shaderType", Property::STRING );
669 DALI_TEST_CHECK( value );
670 DALI_TEST_CHECK( value->Get<std::string>() == "textureless" );