X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-ControlRenderer.cpp;h=8b3989fa8e579c368f8b796ed9c93ec829c2c829;hb=d00a250741411c386d988e7ac34525cf94a1918e;hp=abe2fb68858a0a08bc501b53f1775e20962715bb;hpb=d24bcb053ae2e41161cca4482c0c788f0e745821;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp index abe2fb6..8b3989f 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ControlRenderer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include using namespace Dali; @@ -29,6 +29,10 @@ 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"; +const char* TEST_OBJ_FILE_NAME = TEST_RESOURCE_DIR "/Cube.obj"; +const char* TEST_MTL_FILE_NAME = TEST_RESOURCE_DIR "/ToyRobot-Metal.mtl"; +const char* TEST_RESOURCE_LOCATION = TEST_RESOURCE_DIR "/"; } void dali_control_renderer_startup(void) @@ -48,9 +52,9 @@ int UtcDaliControlRendererCopyAndAssignment(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "color-renderer"); - propertyMap.Insert("blend-color", Color::BLUE); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + propertyMap.Insert("rendererType", "COLOR"); + propertyMap.Insert("mixColor", Color::BLUE); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); ControlRenderer controlRendererCopy( controlRenderer ); DALI_TEST_CHECK(controlRenderer == controlRendererCopy); @@ -74,16 +78,16 @@ 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); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + propertyMap.Insert("rendererType", "COLOR"); + propertyMap.Insert("mixColor", Color::BLUE); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); controlRenderer.SetDepthIndex( 1.f ); @@ -92,14 +96,99 @@ 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 UtcDaliControlRendererSize(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetNaturalSize" ); + + RendererFactory factory = RendererFactory::Get(); + Vector2 rendererSize( 20.f, 30.f ); + Vector2 naturalSize; + + // color renderer + Dali::Property::Map map; + map[ "rendererType" ] = "COLOR"; + map[ "mixColor" ] = Color::MAGENTA; + ControlRenderer colorRenderer = factory.CreateControlRenderer( map ); + 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.CreateControlRenderer( 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.CreateControlRenderer( 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; + map.Clear(); + map[ "rendererType" ] = "BORDER"; + map[ "borderColor" ] = Color::RED; + map[ "borderSize" ] = borderSize; + ControlRenderer borderRenderer = factory.CreateControlRenderer( map ); + 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.CreateControlRenderer(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.CreateControlRenderer( TEST_SVG_FILE_NAME, ImageDimensions() ); + 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; @@ -107,9 +196,9 @@ int UtcDaliControlRendererSetOnOffStage(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "color-renderer"); - propertyMap.Insert("blend-color", Color::BLUE); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + propertyMap.Insert("rendererType", "COLOR"); + propertyMap.Insert("mixColor", Color::BLUE); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); Actor actor = Actor::New(); actor.SetSize(200.f, 200.f); @@ -132,6 +221,47 @@ int UtcDaliControlRendererSetOnOffStage(void) 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.CreateControlRenderer(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; @@ -139,26 +269,29 @@ int UtcDaliControlRendererGetPropertyMap1(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "color-renderer"); - propertyMap.Insert("blend-color", Color::BLUE); - ControlRenderer colorRenderer = factory.GetControlRenderer( propertyMap ); + propertyMap.Insert("rendererType", "COLOR"); + propertyMap.Insert("mixColor", Color::BLUE); + ControlRenderer colorRenderer = factory.CreateControlRenderer( propertyMap ); Property::Map resultMap; colorRenderer.CreatePropertyMap( resultMap ); - Property::Value* typeValue = resultMap.Find( "renderer-type", Property::STRING ); + Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( typeValue ); - DALI_TEST_CHECK( typeValue->Get() == "color-renderer" ); + DALI_TEST_CHECK( typeValue->Get() == "COLOR" ); - Property::Value* colorValue = resultMap.Find( "blend-color", Property::VECTOR4 ); + Property::Value* colorValue = resultMap.Find( "mixColor", Property::VECTOR4 ); DALI_TEST_CHECK( colorValue ); DALI_TEST_CHECK( colorValue->Get() == Color::BLUE ); // change the blend color - factory.ResetRenderer( colorRenderer, Color::CYAN ); + Actor actor; + colorRenderer.RemoveAndReset( actor ); + propertyMap["mixColor"] = Color::CYAN; + colorRenderer = factory.CreateControlRenderer( propertyMap ); colorRenderer.CreatePropertyMap( resultMap ); - colorValue = resultMap.Find( "blend-color", Property::VECTOR4 ); + colorValue = resultMap.Find( "mixColor", Property::VECTOR4 ); DALI_TEST_CHECK( colorValue ); DALI_TEST_CHECK( colorValue->Get() == Color::CYAN ); @@ -172,39 +305,43 @@ int UtcDaliControlRendererGetPropertyMap2(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "border-renderer"); - propertyMap.Insert("border-color", Color::BLUE); - propertyMap.Insert("border-size", 5.f); - ControlRenderer borderRenderer = factory.GetControlRenderer( propertyMap ); + propertyMap.Insert("rendererType", "BORDER"); + propertyMap.Insert("borderColor", Color::BLUE); + propertyMap.Insert("borderSize", 5.f); + ControlRenderer borderRenderer = factory.CreateControlRenderer( propertyMap ); Property::Map resultMap; borderRenderer.CreatePropertyMap( resultMap ); // check the property values from the returned map from control renderer - Property::Value* typeValue = resultMap.Find( "renderer-type", Property::STRING ); + Property::Value* typeValue = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( typeValue ); - DALI_TEST_CHECK( typeValue->Get() == "border-renderer" ); + DALI_TEST_CHECK( typeValue->Get() == "BORDER" ); - Property::Value* colorValue = resultMap.Find( "border-color", Property::VECTOR4 ); + Property::Value* colorValue = resultMap.Find( "borderColor", Property::VECTOR4 ); DALI_TEST_CHECK( colorValue ); DALI_TEST_CHECK( colorValue->Get() == Color::BLUE ); - Property::Value* sizeValue = resultMap.Find( "border-size", Property::FLOAT ); + 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 ); + Property::Map propertyMap1; + propertyMap1[ "rendererType" ] = "BORDER"; + propertyMap1[ "borderColor" ] = Color::CYAN; + propertyMap1[ "borderSize" ] = 10.0f; + borderRenderer = factory.CreateControlRenderer( propertyMap1 ); borderRenderer.CreatePropertyMap( resultMap ); - typeValue = resultMap.Find( "renderer-type", Property::STRING ); + typeValue = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( typeValue ); - DALI_TEST_CHECK( typeValue->Get() == "border-renderer" ); + DALI_TEST_CHECK( typeValue->Get() == "BORDER" ); - colorValue = resultMap.Find( "border-color", Property::VECTOR4 ); + colorValue = resultMap.Find( "borderColor", Property::VECTOR4 ); DALI_TEST_CHECK( colorValue ); DALI_TEST_CHECK( colorValue->Get() == Color::CYAN ); - colorValue = resultMap.Find( "border-size", Property::FLOAT ); + colorValue = resultMap.Find( "borderSize", Property::FLOAT ); DALI_TEST_CHECK( colorValue ); DALI_TEST_CHECK( colorValue->Get() == 10.f ); @@ -220,55 +357,55 @@ int UtcDaliControlRendererGetPropertyMap3(void) DALI_TEST_CHECK( factory ); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "gradient-renderer"); + propertyMap.Insert("rendererType", "GRADIENT"); Vector2 start(-1.f, -1.f); Vector2 end(1.f, 1.f); - propertyMap.Insert("gradient-start-position", start); - propertyMap.Insert("gradient-end-position", end); - propertyMap.Insert("gradient-spread-method", "repeat"); + propertyMap.Insert("startPosition", start); + propertyMap.Insert("endPosition", end); + propertyMap.Insert("spreadMethod", "REPEAT"); - propertyMap.Insert("gradient-stop-offset", Vector2(0.2f, 0.8f)); + propertyMap.Insert("stopOffset", Vector2(0.2f, 0.8f)); Property::Array stopColors; stopColors.PushBack( Color::RED ); stopColors.PushBack( Color::GREEN ); - propertyMap.Insert("gradient-stop-color", stopColors); + propertyMap.Insert("stopColor", stopColors); - ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer gradientRenderer = factory.CreateControlRenderer(propertyMap); Property::Map resultMap; gradientRenderer.CreatePropertyMap( resultMap ); // check the property values from the returned map from control renderer - Property::Value* value = resultMap.Find( "renderer-type", Property::STRING ); + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "gradient-renderer" ); + DALI_TEST_CHECK( value->Get() == "GRADIENT" ); - value = resultMap.Find( "gradient-units", Property::STRING ); + value = resultMap.Find( "units", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "object-bounding-box" ); + DALI_TEST_CHECK( value->Get() == "OBJECT_BOUNDING_BOX" ); - value = resultMap.Find( "gradient-spread-method", Property::STRING ); + value = resultMap.Find( "spreadMethod", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "repeat" ); + DALI_TEST_CHECK( value->Get() == "REPEAT" ); - value = resultMap.Find( "gradient-start-position", Property::VECTOR2 ); + 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( "gradient-end-position", Property::VECTOR2 ); + 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( "gradient-stop-offset", Property::ARRAY ); + 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( "gradient-stop-color", Property::ARRAY ); + value = resultMap.Find( "stopColor", Property::ARRAY ); DALI_TEST_CHECK( value ); Property::Array* colorArray = value->GetArray(); DALI_TEST_CHECK( colorArray->Count() == 2 ); @@ -287,49 +424,49 @@ int UtcDaliControlRendererGetPropertyMap4(void) DALI_TEST_CHECK( factory ); Property::Map propertyMap; - propertyMap.Insert("renderer-type", "gradient-renderer"); + propertyMap.Insert("rendererType", "GRADIENT"); Vector2 center(100.f, 100.f); float radius = 100.f; - propertyMap.Insert("gradient-units", "user-space"); - propertyMap.Insert("gradient-center", center); - propertyMap.Insert("gradient-radius", radius); - propertyMap.Insert("gradient-stop-offset", Vector3(0.1f, 0.3f, 1.1f)); + propertyMap.Insert("units", "USER_SPACE"); + 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("gradient-stop-color", stopColors); + propertyMap.Insert("stopColor", stopColors); - ControlRenderer gradientRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer gradientRenderer = factory.CreateControlRenderer(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( "renderer-type", Property::STRING ); + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "gradient-renderer" ); + DALI_TEST_CHECK( value->Get() == "GRADIENT" ); - value = resultMap.Find( "gradient-units", Property::STRING ); + value = resultMap.Find( "units", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "user-space" ); + DALI_TEST_CHECK( value->Get() == "USER_SPACE" ); - value = resultMap.Find( "gradient-spread-method", Property::STRING ); + value = resultMap.Find( "spreadMethod", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "pad" ); + DALI_TEST_CHECK( value->Get() == "PAD" ); - value = resultMap.Find( "gradient-center", Property::VECTOR2 ); + 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( "gradient-radius", Property::FLOAT ); + 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( "gradient-stop-offset", Property::ARRAY ); + value = resultMap.Find( "stopOffset", Property::ARRAY ); DALI_TEST_CHECK( value ); Property::Array* offsetArray = value->GetArray(); DALI_TEST_CHECK( offsetArray->Count() == 3 ); @@ -338,7 +475,7 @@ int UtcDaliControlRendererGetPropertyMap4(void) // 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( "gradient-stop-color", Property::ARRAY ); + value = resultMap.Find( "stopColor", Property::ARRAY ); DALI_TEST_CHECK( value ); Property::Array* colorArray = value->GetArray(); DALI_TEST_CHECK( colorArray->Count() == 3 ); @@ -356,73 +493,82 @@ int UtcDaliControlRendererGetPropertyMap5(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert( "renderer-type", "image-renderer" ); - propertyMap.Insert( "image-url", TEST_IMAGE_FILE_NAME ); - propertyMap.Insert( "image-desired-width", 20 ); - propertyMap.Insert( "image-desired-height", 30 ); - propertyMap.Insert( "image-fitting-mode", "fit-height" ); - propertyMap.Insert( "image-sampling-mode", "box-then-nearest" ); - - ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap); + propertyMap.Insert( "rendererType", "IMAGE" ); + propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME ); + propertyMap.Insert( "desiredWidth", 20 ); + propertyMap.Insert( "desiredHeight", 30 ); + propertyMap.Insert( "fittingMode", "FIT_HEIGHT" ); + propertyMap.Insert( "samplingMode", "BOX_THEN_NEAREST" ); + propertyMap.Insert( "synchronousLoading", true ); + + ControlRenderer imageRenderer = factory.CreateControlRenderer(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( "renderer-type", Property::STRING ); + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "image-renderer" ); + DALI_TEST_CHECK( value->Get() == "IMAGE" ); - value = resultMap.Find( "image-url", Property::STRING ); + value = resultMap.Find( "url", Property::STRING ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == TEST_IMAGE_FILE_NAME ); - value = resultMap.Find( "image-fitting-mode", Property::STRING ); + value = resultMap.Find( "fittingMode", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "fit-height" ); + DALI_TEST_CHECK( value->Get() == "FIT_HEIGHT" ); - value = resultMap.Find( "image-sampling-mode", Property::STRING ); + value = resultMap.Find( "samplingMode", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "box-then-nearest" ); + DALI_TEST_CHECK( value->Get() == "BOX_THEN_NEAREST" ); - value = resultMap.Find( "image-desired-width", Property::INTEGER ); + value = resultMap.Find( "desiredWidth", Property::INTEGER ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == 20 ); - value = resultMap.Find( "image-desired-height", Property::INTEGER ); + value = resultMap.Find( "desiredHeight", Property::INTEGER ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == 30 ); + value = resultMap.Find( "synchronousLoading", Property::BOOLEAN ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == true ); + // 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 = factory.CreateControlRenderer(image); imageRenderer.CreatePropertyMap( resultMap ); - value = resultMap.Find( "renderer-type", Property::STRING ); + value = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "image-renderer" ); + DALI_TEST_CHECK( value->Get() == "IMAGE" ); - value = resultMap.Find( "image-url", Property::STRING ); + value = resultMap.Find( "url", Property::STRING ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == TEST_IMAGE_FILE_NAME ); - value = resultMap.Find( "image-fitting-mode", Property::STRING ); + value = resultMap.Find( "fittingMode", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "shrink-to-fit" ); + DALI_TEST_CHECK( value->Get() == "SHRINK_TO_FIT" ); - value = resultMap.Find( "image-sampling-mode", Property::STRING ); + value = resultMap.Find( "samplingMode", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "box" ); + DALI_TEST_CHECK( value->Get() == "BOX" ); - value = resultMap.Find( "image-desired-width", Property::INTEGER ); + value = resultMap.Find( "desiredWidth", Property::INTEGER ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == 100 ); - value = resultMap.Find( "image-desired-height", Property::INTEGER ); + value = resultMap.Find( "desiredHeight", Property::INTEGER ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == 200 ); + value = resultMap.Find( "synchronousLoading", Property::BOOLEAN ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == false ); + END_TEST; } @@ -433,26 +579,195 @@ int UtcDaliControlRendererGetPropertyMap6(void) RendererFactory factory = RendererFactory::Get(); Property::Map propertyMap; - propertyMap.Insert( "renderer-type", "n-patch-renderer" ); - propertyMap.Insert( "image-url", TEST_NPATCH_FILE_NAME ); - propertyMap.Insert( "border-only", true ); - ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap ); + propertyMap.Insert( "rendererType", "IMAGE" ); + propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME ); + propertyMap.Insert( "borderOnly", true ); + ControlRenderer nPatchRenderer = factory.CreateControlRenderer( propertyMap ); Property::Map resultMap; nPatchRenderer.CreatePropertyMap( resultMap ); // check the property values from the returned map from control renderer - Property::Value* value = resultMap.Find( "renderer-type", Property::STRING ); + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == "n-patch-renderer" ); + DALI_TEST_CHECK( value->Get() == "IMAGE" ); - value = resultMap.Find( "image-url", Property::STRING ); + value = resultMap.Find( "url", Property::STRING ); DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == TEST_NPATCH_FILE_NAME ); - value = resultMap.Find( "border-only", Property::BOOLEAN ); + 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", "IMAGE" ); + propertyMap.Insert( "url", TEST_SVG_FILE_NAME ); + ControlRenderer svgRenderer = factory.CreateControlRenderer( 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() == "IMAGE" ); + + value = resultMap.Find( "url", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_SVG_FILE_NAME ); + + // request SvgRenderer with an URL + ControlRenderer svgRenderer2 = factory.CreateControlRenderer( TEST_SVG_FILE_NAME, ImageDimensions() ); + 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() == "IMAGE" ); + + value = resultMap.Find( "url", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == TEST_SVG_FILE_NAME ); + + END_TEST; +} + +//Mesh renderer +int UtcDaliControlRendererGetPropertyMap8(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap8: MeshRenderer" ); + + //Request MeshRenderer using a property map. + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert( "rendererType", "MESH" ); + propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME ); + propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME ); + propertyMap.Insert( "texturesPath", TEST_RESOURCE_LOCATION ); + propertyMap.Insert( "shaderType", "TEXTURELESS" ); + ControlRenderer meshRenderer = factory.CreateControlRenderer( propertyMap ); + + Property::Map resultMap; + meshRenderer.CreatePropertyMap( resultMap ); + + //Check values in the result map are identical to the initial map's values. + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), "MESH", TEST_LOCATION ); + + value = resultMap.Find( "objectUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), TEST_OBJ_FILE_NAME, TEST_LOCATION ); + + value = resultMap.Find( "materialUrl", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), TEST_MTL_FILE_NAME, TEST_LOCATION ); + + value = resultMap.Find( "texturesPath", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), TEST_RESOURCE_LOCATION, TEST_LOCATION ); + + value = resultMap.Find( "shaderType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), "TEXTURELESS", TEST_LOCATION ); + + END_TEST; +} + +//Primitive shape renderer +int UtcDaliControlRendererGetPropertyMap9(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliControlRendererGetPropertyMap9: PrimitiveRenderer" ); + + Vector4 color = Vector4( 1.0, 0.8, 0.6, 1.0); + Vector3 dimensions = Vector3( 1.0, 2.0, 3.0 ); + + //Request PrimitiveRenderer using a property map. + RendererFactory factory = RendererFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert( "rendererType", "PRIMITIVE" ); + propertyMap.Insert( "shape", "CUBE" ); + propertyMap.Insert( "color", color ); + propertyMap.Insert( "slices", 10 ); + propertyMap.Insert( "stacks", 20 ); + propertyMap.Insert( "scaleTopRadius", 30.0f ); + propertyMap.Insert( "scaleBottomRadius", 40.0f ); + propertyMap.Insert( "scaleHeight", 50.0f ); + propertyMap.Insert( "scaleRadius", 60.0f ); + propertyMap.Insert( "scaleDimensions", dimensions ); + propertyMap.Insert( "bevelPercentage", 0.3f ); + propertyMap.Insert( "bevelSmoothness", 0.6f ); + propertyMap.Insert( "uLightPosition", Vector3( 5.0f, 10.0f, 15.0f) ); + ControlRenderer primitiveRenderer = factory.CreateControlRenderer( propertyMap ); + + Property::Map resultMap; + primitiveRenderer.CreatePropertyMap( resultMap ); + + //Check values in the result map are identical to the initial map's values. + Property::Value* value = resultMap.Find( "rendererType", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), "PRIMITIVE", TEST_LOCATION ); + + value = resultMap.Find( "shape", Property::STRING ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), "CUBE", TEST_LOCATION ); + + value = resultMap.Find( "color", Property::VECTOR4 ); + DALI_TEST_CHECK( value ); + DALI_TEST_CHECK( value->Get() == color ); + DALI_TEST_EQUALS( value->Get(), color, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "slices", Property::INTEGER ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 10, TEST_LOCATION ); + + value = resultMap.Find( "stacks", Property::INTEGER ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 20, TEST_LOCATION ); + + value = resultMap.Find( "scaleTopRadius", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 30.0f, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "scaleBottomRadius", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 40.0f, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "scaleHeight", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 50.0f, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "scaleRadius", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 60.0f, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "scaleDimensions", Property::VECTOR3 ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), dimensions, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "bevelPercentage", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 0.3f, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "bevelSmoothness", Property::FLOAT ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), 0.6f, Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + value = resultMap.Find( "uLightPosition", Property::VECTOR3 ); + DALI_TEST_CHECK( value ); + DALI_TEST_EQUALS( value->Get(), Vector3( 5.0f, 10.0f, 15.0f), Math::MACHINE_EPSILON_100, TEST_LOCATION ); + + END_TEST; +}