(Control Base) Add GetVisual() & GetPlacementActor() methods
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-ControlImpl.cpp
index 07c6fe4..2e691af 100644 (file)
@@ -956,6 +956,9 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void)
   Property::Index index =1;
   Actor placementActor = Actor::New();
 
+  DALI_TEST_CHECK( !dummyImpl.GetVisual( index )  );
+  DALI_TEST_CHECK( !dummyImpl.GetPlacementActor( index ) );
+
   Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get();
   Toolkit::Visual::Base visual;
 
@@ -969,6 +972,8 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void)
   // Register index with a color visual
   dummyImpl.RegisterVisual( index, placementActor, visual );
 
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor );
 
   Property::Map newMap;
   newMap[Visual::Property::TYPE] = Visual::COLOR;
@@ -980,6 +985,9 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void)
   // ReRegister with altered color visual
   dummyImpl.RegisterVisual( index, placementActor, visual );
 
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor );
+
   tet_result(TET_PASS);
 
   END_TEST;
@@ -1008,10 +1016,14 @@ int UtcDaliControlImplRegisterVisaulThenReRegisterToSelf(void)
   // Register index with a color visual
   dummyImpl.RegisterVisual( index, placementActor, visual );
 
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor );
+
   // ReRegister to self
   dummyImpl.RegisterVisual( index, dummy, visual );
 
-  tet_result(TET_PASS);
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == dummy );
 
   END_TEST;
 }
@@ -1020,31 +1032,38 @@ int UtcDaliControlImplRegisterVisualToSelf(void)
 {
   ToolkitTestApplication application;
 
-  DummyControl dummy = DummyControl::New();
-  DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
+  Test::ObjectDestructionTracker objectDestructionTracker;
 
-  Property::Index index =1;
-  Actor placementActor = Actor::New();
+  {
+    DummyControl dummy = DummyControl::New();
+    DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
+    objectDestructionTracker.Start( dummy );
 
-  Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get();
-  Toolkit::Visual::Base visual;
+    Property::Index index = 1;
+    Actor placementActor = Actor::New();
 
-  Property::Map map;
-  map[Visual::Property::TYPE] = Visual::COLOR;
-  map[ColorVisual::Property::MIX_COLOR] = Color::RED;
+    Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get();
+    Toolkit::Visual::Base visual;
 
-  visual = visualFactory.CreateVisual( map );
-  DALI_TEST_CHECK(visual);
+    Property::Map map;
+    map[Visual::Property::TYPE] = Visual::COLOR;
+    map[ColorVisual::Property::MIX_COLOR] = Color::RED;
 
-  // ReRegister to self
-  dummyImpl.RegisterVisual( index, dummy, visual );
+    visual = visualFactory.CreateVisual( map );
+    DALI_TEST_CHECK(visual);
 
-  tet_result(TET_PASS);
+    // Register to self
+    dummyImpl.RegisterVisual( index, dummy, visual );
+    DALI_TEST_EQUALS( objectDestructionTracker.IsDestroyed(), false, TEST_LOCATION ); // Control not destroyed yet
+    DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+    DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == dummy );
+  }
+
+  DALI_TEST_EQUALS( objectDestructionTracker.IsDestroyed(), true, TEST_LOCATION ); // Should be destroyed
 
   END_TEST;
 }
 
-
 int UtcDaliControlImplRegisterTwoVisuals(void)
 {
   ToolkitTestApplication application;
@@ -1077,11 +1096,16 @@ int UtcDaliControlImplRegisterTwoVisuals(void)
   newMap[ColorVisual::Property::MIX_COLOR] = Color::BLUE;
 
   secondVisual = visualFactory.CreateVisual( newMap );
+  DALI_TEST_CHECK( secondVisual );
 
   // ReRegister with altered color visual
   dummyImpl.RegisterVisual( index2, secondPlacementActor, secondVisual );
 
-  tet_result(TET_PASS);
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor );
+
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index2 ) == secondVisual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index2 ) == secondPlacementActor );
 
   END_TEST;
 }
@@ -1109,10 +1133,14 @@ int UtcDaliControlImplRegisterUnregisterVisual(void)
   // Register index with a color visual
   dummyImpl.RegisterVisual( index, placementActor, visual );
 
+  DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual );
+  DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor );
+
   // Unregister visual
   dummyImpl.UnregisterVisual( index );
 
-  tet_result(TET_PASS);
+  DALI_TEST_CHECK( !dummyImpl.GetVisual( index ) );
+  DALI_TEST_CHECK( !dummyImpl.GetPlacementActor( index ) );
 
   END_TEST;
 }