X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-ControlRenderer.cpp;h=9a89c9c78e1ccd20e2505e42698bae59e2157aa0;hp=be623c269fbb1e34cacef620977ef7e161aca746;hb=a2de9cf491172cd5da9dc9ed60b17683dab6d7bc;hpb=2f04a4705842cce7a40c414e4591ae77035059c2 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp index be623c2..9a89c9c 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp @@ -18,13 +18,20 @@ #include #include #include -#include +#include #include #include using namespace Dali; using namespace Dali::Toolkit; +namespace +{ +const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg"; +const char* TEST_NPATCH_FILE_NAME = "gallery_image_01.9.jpg"; +const char* TEST_SVG_FILE_NAME = TEST_RESOURCE_DIR "/svg1.svg"; +} + void dali_control_renderer_startup(void) { test_return_value = TET_UNDEF; @@ -42,8 +49,8 @@ int UtcDaliControlRendererCopyAndAssignment(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "color-renderer"); - propertyMap.Insert("blend-color", Color::BLUE); + propertyMap.Insert("rendererType", "color"); + propertyMap.Insert("blendColor", Color::BLUE); ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); ControlRenderer controlRendererCopy( controlRenderer ); @@ -68,15 +75,15 @@ int UtcDaliControlRendererCopyAndAssignment(void) END_TEST; } -int UtcDaliControlRendererSetDepthIndex(void) +int UtcDaliControlRendererSetGetDepthIndex(void) { ToolkitTestApplication application; tet_infoline( "UtcDaliControlRendererSetDepthIndex" ); RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "color-renderer"); - propertyMap.Insert("blend-color", Color::BLUE); + propertyMap.Insert("rendererType", "color"); + propertyMap.Insert("blendColor", Color::BLUE); ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); controlRenderer.SetDepthIndex( 1.f ); @@ -86,23 +93,101 @@ int UtcDaliControlRendererSetDepthIndex(void) Stage::GetCurrent().Add( actor ); controlRenderer.SetOnStage( actor ); - DALI_TEST_EQUALS( actor.GetRendererAt(0u).GetDepthIndex(), 1.f, TEST_LOCATION ); + int depthIndex = actor.GetRendererAt(0u).GetProperty( Renderer::Property::DEPTH_INDEX ); + DALI_TEST_EQUALS( depthIndex, 1, TEST_LOCATION ); + DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), 1.f, TEST_LOCATION ); controlRenderer.SetDepthIndex( -1.f ); - DALI_TEST_EQUALS( actor.GetRendererAt(0u).GetDepthIndex(), -1.f, TEST_LOCATION ); + depthIndex = actor.GetRendererAt(0u).GetProperty( Renderer::Property::DEPTH_INDEX ); + DALI_TEST_EQUALS( depthIndex, -1, TEST_LOCATION ); + DALI_TEST_EQUALS( controlRenderer.GetDepthIndex(), -1.f, TEST_LOCATION ); END_TEST; } -int UtcDaliControlRendererSetOnStage(void) +int UtcDaliControlRendererSize(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetNaturalSize" ); + + RendererFactory factory = RendererFactory::Get(); + Vector2 rendererSize( 20.f, 30.f ); + Vector2 naturalSize; + + // color renderer + ControlRenderer colorRenderer = factory.GetControlRenderer( Color::MAGENTA ); + colorRenderer.SetSize( rendererSize ); + DALI_TEST_EQUALS( colorRenderer.GetSize(), rendererSize, TEST_LOCATION ); + colorRenderer.GetNaturalSize(naturalSize); + DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION ); + + // image renderer + Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); + ControlRenderer imageRenderer = factory.GetControlRenderer( image ); + imageRenderer.SetSize( rendererSize ); + DALI_TEST_EQUALS( imageRenderer.GetSize(), rendererSize, TEST_LOCATION ); + imageRenderer.GetNaturalSize(naturalSize); + DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 200.f), TEST_LOCATION ); + + // n patch renderer + TestPlatformAbstraction& platform = application.GetPlatform(); + Vector2 testSize(80.f, 160.f); + platform.SetClosestImageSize(testSize); + image = ResourceImage::New(TEST_NPATCH_FILE_NAME); + ControlRenderer nPatchRenderer = factory.GetControlRenderer( image ); + nPatchRenderer.SetSize( rendererSize ); + DALI_TEST_EQUALS( nPatchRenderer.GetSize(), rendererSize, TEST_LOCATION ); + nPatchRenderer.GetNaturalSize(naturalSize); + DALI_TEST_EQUALS( naturalSize, testSize, TEST_LOCATION ); + + // border renderer + float borderSize = 5.f; + ControlRenderer borderRenderer = factory.GetControlRenderer( borderSize, Color::RED ); + borderRenderer.SetSize( rendererSize ); + DALI_TEST_EQUALS( borderRenderer.GetSize(), rendererSize, TEST_LOCATION ); + borderRenderer.GetNaturalSize(naturalSize); + DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION ); + + // gradient renderer + Property::Map propertyMap; + propertyMap.Insert("rendererType", "gradient"); + Vector2 start(-1.f, -1.f); + Vector2 end(1.f, 1.f); + propertyMap.Insert("startPosition", start); + propertyMap.Insert("endPosition", end); + propertyMap.Insert("stopOffset", Vector2(0.f, 1.f)); + Property::Array stopColors; + stopColors.PushBack( Color::RED ); + stopColors.PushBack( Color::GREEN ); + propertyMap.Insert("stopColor", stopColors); + ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap); + gradientRenderer.SetSize( rendererSize ); + DALI_TEST_EQUALS( gradientRenderer.GetSize(), rendererSize, TEST_LOCATION ); + gradientRenderer.GetNaturalSize(naturalSize); + DALI_TEST_EQUALS( naturalSize, Vector2::ZERO,TEST_LOCATION ); + + //svg renderer + ControlRenderer svgRenderer = factory.GetControlRenderer( TEST_SVG_FILE_NAME ); + svgRenderer.SetSize( rendererSize ); + DALI_TEST_EQUALS( svgRenderer.GetSize(), rendererSize, TEST_LOCATION ); + svgRenderer.GetNaturalSize(naturalSize); + // TEST_SVG_FILE: + // + // + // + DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 100.f), TEST_LOCATION ); + END_TEST; +} + +int UtcDaliControlRendererSetOnOffStage(void) { ToolkitTestApplication application; tet_infoline( "UtcDaliControlRendererSetDepthIndex" ); RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "color-renderer"); - propertyMap.Insert("blend-color", Color::BLUE); + propertyMap.Insert("rendererType", "color"); + propertyMap.Insert("blendColor", Color::BLUE); ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); Actor actor = Actor::New(); @@ -114,10 +199,420 @@ int UtcDaliControlRendererSetOnStage(void) DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); controlRenderer.SetOnStage( actor ); + application.SendNotification(); + application.Render(0); + DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); + + controlRenderer.SetOffStage( actor ); + application.SendNotification(); + application.Render(0); + DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); + + END_TEST; +} + +int UtcDaliControlRendererRemoveAndReset(void) +{ + ToolkitTestApplication application; + tet_infoline( "intUtcDaliControlRendererRemoveAndReset" ); + + RendererFactory factory = RendererFactory::Get(); + Actor actor = Actor::New(); + actor.SetSize(200.f, 200.f); + Stage::GetCurrent().Add( actor ); + + ControlRenderer imageRenderer; + // test calling RemoveAndReset with an empty handle + try + { + imageRenderer.RemoveAndReset( actor ); + tet_result(TET_PASS); + } + catch (DaliException& exception) + { + tet_result(TET_FAIL); + } + + Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); + imageRenderer = factory.GetControlRenderer(image); + DALI_TEST_CHECK( imageRenderer ); + + imageRenderer.SetOnStage( actor ); application.SendNotification(); application.Render(0); DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); + imageRenderer.RemoveAndReset( actor ); + application.SendNotification(); + application.Render(0); + DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // renderer is removed from actor + DALI_TEST_CHECK( !imageRenderer ); // control renderer is reset + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap1(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap1: ColorRenderer" ); + + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert("rendererType", "color"); + propertyMap.Insert("blendColor", Color::BLUE); + ControlRenderer colorRenderer = factory.GetControlRenderer( propertyMap ); + + Property::Map resultMap; + colorRenderer.CreatePropertyMap( resultMap ); + + Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( typeValue ); + DALI_TEST_CHECK( typeValue->Get() == "color" ); + + Property::Value* colorValue = resultMap.Find( "blendColor", Property::VECTOR4 ); + DALI_TEST_CHECK( colorValue ); + DALI_TEST_CHECK( colorValue->Get() == Color::BLUE ); + + // change the blend color + Actor actor; + factory.ResetRenderer( colorRenderer, actor, Color::CYAN ); + colorRenderer.CreatePropertyMap( resultMap ); + + colorValue = resultMap.Find( "blendColor", Property::VECTOR4 ); + DALI_TEST_CHECK( colorValue ); + DALI_TEST_CHECK( colorValue->Get() == Color::CYAN ); + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap2(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap2: BorderRenderer" ); + + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert("rendererType", "border"); + propertyMap.Insert("borderColor", Color::BLUE); + propertyMap.Insert("borderSize", 5.f); + ControlRenderer borderRenderer = factory.GetControlRenderer( propertyMap ); + + Property::Map resultMap; + borderRenderer.CreatePropertyMap( resultMap ); + + // check the property values from the returned map from control renderer + Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( typeValue ); + DALI_TEST_CHECK( typeValue->Get() == "border" ); + + Property::Value* colorValue = resultMap.Find( "borderColor", Property::VECTOR4 ); + DALI_TEST_CHECK( colorValue ); + DALI_TEST_CHECK( colorValue->Get() == Color::BLUE ); + + Property::Value* sizeValue = resultMap.Find( "borderSize", Property::FLOAT ); + DALI_TEST_CHECK( sizeValue ); + DALI_TEST_CHECK( sizeValue->Get() == 5.f ); + + borderRenderer = factory.GetControlRenderer( 10.f, Color::CYAN ); + borderRenderer.CreatePropertyMap( resultMap ); + + typeValue = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( typeValue ); + DALI_TEST_CHECK( typeValue->Get() == "border" ); + + colorValue = resultMap.Find( "borderColor", Property::VECTOR4 ); + DALI_TEST_CHECK( colorValue ); + DALI_TEST_CHECK( colorValue->Get() == Color::CYAN ); + + colorValue = resultMap.Find( "borderSize", Property::FLOAT ); + DALI_TEST_CHECK( colorValue ); + DALI_TEST_CHECK( colorValue->Get() == 10.f ); + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap3(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap3: linear GradientRenderer" ); + + RendererFactory factory = RendererFactory::Get(); + DALI_TEST_CHECK( factory ); + + Property::Map propertyMap; + propertyMap.Insert("rendererType", "gradient"); + + Vector2 start(-1.f, -1.f); + Vector2 end(1.f, 1.f); + propertyMap.Insert("startPosition", start); + propertyMap.Insert("endPosition", end); + propertyMap.Insert("spreadMethod", "repeat"); + + propertyMap.Insert("stopOffset", Vector2(0.2f, 0.8f)); + + Property::Array stopColors; + stopColors.PushBack( Color::RED ); + stopColors.PushBack( Color::GREEN ); + propertyMap.Insert("stopColor", stopColors); + + ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap); + + Property::Map resultMap; + gradientRenderer.CreatePropertyMap( resultMap ); + + // check the property values from the returned map from control renderer + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "gradient" ); + + value = resultMap.Find( "units", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "objectBoundingBox" ); + + value = resultMap.Find( "spreadMethod", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "repeat" ); + + value = resultMap.Find( "startPosition", Property::VECTOR2 ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), start , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "endPosition", Property::VECTOR2 ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), end , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "stopOffset", Property::ARRAY ); + DALI_TEST_CHECK( value ); + Property::Array* offsetArray = value->GetArray(); + DALI_TEST_CHECK( offsetArray->Count() == 2 ); + DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get(), 0.2f , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get(), 0.8f , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "stopColor", Property::ARRAY ); + DALI_TEST_CHECK( value ); + Property::Array* colorArray = value->GetArray(); + DALI_TEST_CHECK( colorArray->Count() == 2 ); + DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap4(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap4: radial GradientRenderer" ); + + RendererFactory factory = RendererFactory::Get(); + DALI_TEST_CHECK( factory ); + + Property::Map propertyMap; + propertyMap.Insert("rendererType", "gradient"); + + Vector2 center(100.f, 100.f); + float radius = 100.f; + propertyMap.Insert("units", "userSpace"); + propertyMap.Insert("center", center); + propertyMap.Insert("radius", radius); + propertyMap.Insert("stopOffset", Vector3(0.1f, 0.3f, 1.1f)); + + Property::Array stopColors; + stopColors.PushBack( Color::RED ); + stopColors.PushBack( Color::BLACK ); + stopColors.PushBack( Color::GREEN ); + propertyMap.Insert("stopColor", stopColors); + + ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap); + DALI_TEST_CHECK( gradientRenderer ); + + Property::Map resultMap; + gradientRenderer.CreatePropertyMap( resultMap ); + + // check the property values from the returned map from control renderer + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "gradient" ); + + value = resultMap.Find( "units", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "userSpace" ); + + value = resultMap.Find( "spreadMethod", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "pad" ); + + value = resultMap.Find( "center", Property::VECTOR2 ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), center , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "radius", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), radius , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "stopOffset", Property::ARRAY ); + DALI_TEST_CHECK( value ); + Property::Array* offsetArray = value->GetArray(); + DALI_TEST_CHECK( offsetArray->Count() == 3 ); + DALI_TEST_EQUALS( offsetArray->GetElementAt(0).Get(), 0.1f , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + DALI_TEST_EQUALS( offsetArray->GetElementAt(1).Get(), 0.3f , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + // any stop value will be clamped to [0.0, 1.0]; + DALI_TEST_EQUALS( offsetArray->GetElementAt(2).Get(), 1.0f , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "stopColor", Property::ARRAY ); + DALI_TEST_CHECK( value ); + Property::Array* colorArray = value->GetArray(); + DALI_TEST_CHECK( colorArray->Count() == 3 ); + DALI_TEST_EQUALS( colorArray->GetElementAt(0).Get(), Color::RED , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + DALI_TEST_EQUALS( colorArray->GetElementAt(1).Get(), Color::BLACK , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + DALI_TEST_EQUALS( colorArray->GetElementAt(2).Get(), Color::GREEN , Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap5(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap5: ImageRenderer" ); + + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert( "rendererType", "image" ); + propertyMap.Insert( "imageUrl", TEST_IMAGE_FILE_NAME ); + propertyMap.Insert( "imageDesiredWidth", 20 ); + propertyMap.Insert( "imageDesiredHeight", 30 ); + propertyMap.Insert( "imageFittingMode", "fitHeight" ); + propertyMap.Insert( "imageSamplingMode", "boxThenNearest" ); + + ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap); + DALI_TEST_CHECK( imageRenderer ); + + Property::Map resultMap; + imageRenderer.CreatePropertyMap( resultMap ); + + // check the property values from the returned map from control renderer + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "image" ); + + value = resultMap.Find( "imageUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_IMAGE_FILE_NAME ); + + value = resultMap.Find( "imageFittingMode", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "fitHeight" ); + + value = resultMap.Find( "imageSamplingMode", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "boxThenNearest" ); + + value = resultMap.Find( "imageDesiredWidth", Property::INTEGER ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == 20 ); + + value = resultMap.Find( "imageDesiredHeight", Property::INTEGER ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == 30 ); + + // Get an image renderer with an image handle, and test the default property values + Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); + imageRenderer = factory.GetControlRenderer(image); + imageRenderer.CreatePropertyMap( resultMap ); + + value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "image" ); + + value = resultMap.Find( "imageUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_IMAGE_FILE_NAME ); + + value = resultMap.Find( "imageFittingMode", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "shrinkToFit" ); + + value = resultMap.Find( "imageSamplingMode", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "box" ); + + value = resultMap.Find( "imageDesiredWidth", Property::INTEGER ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == 100 ); + + value = resultMap.Find( "imageDesiredHeight", Property::INTEGER ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == 200 ); + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap6(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap6: NPatchRenderer" ); + + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert( "rendererType", "nPatch" ); + propertyMap.Insert( "imageUrl", TEST_NPATCH_FILE_NAME ); + propertyMap.Insert( "borderOnly", true ); + ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap ); + + Property::Map resultMap; + nPatchRenderer.CreatePropertyMap( resultMap ); + + // check the property values from the returned map from control renderer + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "nPatch" ); + + value = resultMap.Find( "imageUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_NPATCH_FILE_NAME ); + + value = resultMap.Find( "borderOnly", Property::BOOLEAN ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() ); + + END_TEST; +} + +int UtcDaliControlRendererGetPropertyMap7(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap7: SvgRenderer" ); + + // request SvgRenderer with a property map + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert( "rendererType", "svg" ); + propertyMap.Insert( "imageUrl", TEST_SVG_FILE_NAME ); + ControlRenderer svgRenderer = factory.GetControlRenderer( propertyMap ); + + Property::Map resultMap; + svgRenderer.CreatePropertyMap( resultMap ); + // check the property values from the returned map from control renderer + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "svg" ); + + value = resultMap.Find( "imageUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_SVG_FILE_NAME ); + + // request SvgRenderer with an URL + ControlRenderer svgRenderer2 = factory.GetControlRenderer( TEST_SVG_FILE_NAME ); + resultMap.Clear(); + svgRenderer2.CreatePropertyMap( resultMap ); + // check the property values from the returned map from control renderer + value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == "svg" ); + + value = resultMap.Find( "imageUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_SVG_FILE_NAME ); + END_TEST; }