Protecting test cases from memory scribbling
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-VisualFactory.cpp
index 929825c..ab67b9d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
@@ -181,6 +181,14 @@ int UtcDaliVisualFactoryGetColorVisual1(void)
   ToolkitTestApplication application;
   tet_infoline( "UtcDaliVisualFactoryGetColorVisual1:  Request color visual with a Property::Map" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("mixColor", Property::Type::VECTOR3),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   VisualFactory factory = VisualFactory::Get();
   DALI_TEST_CHECK( factory );
 
@@ -211,6 +219,14 @@ int UtcDaliVisualFactoryGetColorVisual2(void)
   ToolkitTestApplication application;
   tet_infoline( "UtcDaliVisualFactoryGetColorVisual2: Request color visual with a Vector4" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("mixColor", Property::Type::VECTOR3),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   VisualFactory factory = VisualFactory::Get();
   DALI_TEST_CHECK( factory );
 
@@ -243,6 +259,15 @@ int UtcDaliVisualFactoryGetBorderVisual1(void)
   ToolkitTestApplication application;
   tet_infoline( "UtcDaliVisualFactoryGetBorderVisual1:  Request border visual with a Property::Map" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("borderColor", Property::Type::VECTOR4),
+    UniformData("borderSize", Property::Type::FLOAT),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   VisualFactory factory = VisualFactory::Get();
   DALI_TEST_CHECK( factory );
 
@@ -291,6 +316,15 @@ int UtcDaliVisualFactoryGetBorderVisual2(void)
   ToolkitTestApplication application;
   tet_infoline( "UtcDaliVisualFactoryGetBorderVisual2:  Request border visual with a borderSize and a borderColor" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("borderColor", Property::Type::VECTOR4),
+    UniformData("borderSize", Property::Type::FLOAT),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   VisualFactory factory = VisualFactory::Get();
   DALI_TEST_CHECK( factory );
 
@@ -353,6 +387,14 @@ int UtcDaliVisualFactoryGetLinearGradientVisual(void)
   ToolkitTestApplication application;
   tet_infoline("UtcDaliVisualFactoryGetRadialGradientVisual");
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uAlignmentMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   VisualFactory factory = VisualFactory::Get();
   DALI_TEST_CHECK( factory );
 
@@ -390,6 +432,14 @@ int UtcDaliVisualFactoryGetRadialGradientVisual(void)
   ToolkitTestApplication application;
   tet_infoline("UtcDaliVisualFactoryGetRadialGradientVisual");
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uAlignmentMatrix", Property::Type::MATRIX3),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   VisualFactory factory = VisualFactory::Get();
   DALI_TEST_CHECK( factory );
 
@@ -1100,6 +1150,7 @@ int UtcDaliNPatchVisualAuxiliaryImage01(void)
   Renderer renderer = dummy.GetRendererAt( 0 );
   auto textures = renderer.GetTextures();
   DALI_TEST_EQUALS( textures.GetTextureCount(), 2, TEST_LOCATION );
+  UnparentAndReset(dummy);
 
   END_TEST;
 }
@@ -1154,10 +1205,13 @@ int UtcDaliVisualFactoryGetNPatchVisualN1(void)
   TraceCallStack& textureTrace = gl.GetTextureTrace();
   textureTrace.Enable(true);
 
-  DummyControl actor = DummyControl::New(true);
-  TestVisualAsynchronousRender( application, actor, visual );
+  {
+    DummyControl actor = DummyControl::New(true);
+    TestVisualAsynchronousRender( application, actor, visual );
 
-  DALI_TEST_EQUALS( textureTrace.FindMethod("BindTexture"), true, TEST_LOCATION );
+    DALI_TEST_EQUALS( textureTrace.FindMethod("BindTexture"), true, TEST_LOCATION );
+    UnparentAndReset(actor);
+  }
 
   END_TEST;
 }
@@ -1420,6 +1474,13 @@ int UtcDaliVisualFactoryGetMeshVisual1(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual1:  Request mesh visual with a valid object file only" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
 
   //Set up visual properties.
   Property::Map propertyMap;
@@ -1441,6 +1502,14 @@ int UtcDaliVisualFactoryGetMeshVisual2(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual2:  Request mesh visual with blank material file and images directory" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1462,6 +1531,14 @@ int UtcDaliVisualFactoryGetMeshVisual3b(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual3:  Request mesh visual with all parameters correct" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1486,6 +1563,14 @@ int UtcDaliVisualFactoryGetMeshVisual3(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual3:  Request mesh visual with all parameters correct" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1510,6 +1595,13 @@ int UtcDaliVisualFactoryGetMeshVisual4(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual4:  Request mesh visual with diffuse texture but not normal or gloss." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
 
   //Set up visual properties.
   Property::Map propertyMap;
@@ -1532,6 +1624,14 @@ int UtcDaliVisualFactoryGetMeshVisual5(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual5:  Request mesh visual and make it only use diffuse textures." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1558,6 +1658,14 @@ int UtcDaliVisualFactoryGetMeshVisual6(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual6:  Request mesh visual and make it not use any textures." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1577,9 +1685,16 @@ int UtcDaliVisualFactoryGetMeshVisual7(void)
   //Set up test application first, so everything else can be handled.
   ToolkitTestApplication application;
 
-
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual7:  Request mesh visual with custom light position." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1603,6 +1718,14 @@ int UtcDaliVisualFactoryGetMeshVisual8(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetMeshVisual5:  Request mesh visual with normal-less object file." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::MESH );
@@ -1727,6 +1850,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual1(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual1:  Request primitive visual with a shape only" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1746,6 +1877,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual2(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual2:  Request primitive visual with everything" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1775,6 +1914,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual3(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual3:  Request primitive visual to display a sphere" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1797,6 +1944,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual4(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual4:  Request primitive visual to display a conic section" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1821,6 +1976,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual5(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual5:  Request primitive visual to display a bevelled cube" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1842,6 +2005,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual6(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual6:  Request primitive visual to display an octahedron" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1862,6 +2033,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual7(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual7:  Request primitive visual to display a cone" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1885,6 +2064,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual8(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual8:  Request primitive visual with set light position" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1906,6 +2093,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual9(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual9:  Request primitive visual with above-cap slices." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1926,6 +2121,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual10(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual10:  Request primitive visual with too few slices." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1946,6 +2149,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual11(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual11:  Request primitive visual with too many stacks." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1966,6 +2177,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual12(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual12:  Request primitive visual with too few stacks." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -1986,6 +2205,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual13(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual13:  Request primitive visual with invalid scale dimensions." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2006,6 +2233,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual14(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual14:  Request primitive visual with too low a bevel percentage." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2026,6 +2261,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual15(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual15:  Request primitive visual with too high a bevel percentage." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2046,6 +2289,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual16(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual16:  Request primitive visual with too low a bevel smoothness." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2066,6 +2317,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual17(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual17:  Request primitive visual with too high a bevel smoothness." );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2086,6 +2345,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisual18(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual18:  Request primitive visual to display a conic section" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2110,6 +2377,14 @@ int UtcDaliVisualFactoryGetPrimitiveVisualN1(void)
 
   tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisualN1:  Request primitive visual without shape" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("uObjectMatrix", Property::Type::MATRIX),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   //Set up visual properties, without supplying shape.
   Property::Map propertyMap;
   propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::PRIMITIVE );
@@ -2204,6 +2479,15 @@ int UtcDaliVisualFactoryGetAnimatedImageVisual2(void)
   ToolkitTestApplication application;
   tet_infoline( "UtcDaliVisualFactoryGetAnimatedImageVisual2: Request animated image visual with a Property::Map, test custom wrap mode and pixel area" );
 
+  static std::vector<UniformData> customUniforms =
+  {
+    UniformData("pixelArea", Property::Type::VECTOR4),
+    UniformData("wrapMode", Property::Type::VECTOR2),
+  };
+
+  TestGraphicsController& graphics = application.GetGraphicsController();
+  graphics.AddCustomUniforms(customUniforms);
+
   const Vector4 pixelArea(-0.5f, -0.5f, 2.f, 2.f);
   Property::Map propertyMap;
   propertyMap.Add( Toolkit::Visual::Property::TYPE,  Visual::IMAGE  )