[Tizen] Make mScene nullptr when the Actor is disconnected from Scene recursively
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-Scene.cpp
index a9a415e..26a7070 100644 (file)
@@ -429,12 +429,26 @@ int UtcDaliSceneGet(void)
 
   Dali::Integration::Scene scene = application.GetScene();
 
-  Actor actor = Actor::New();
-  DALI_TEST_CHECK(Dali::Integration::Scene() == Dali::Integration::Scene::Get(actor));
+  Actor parent = Actor::New();
+  Actor child  = Actor::New();
 
-  scene.Add(actor);
+  parent.Add(child);
+
+  // Should be empty scene
+  DALI_TEST_CHECK(Dali::Integration::Scene() == Dali::Integration::Scene::Get(parent));
+  DALI_TEST_CHECK(Dali::Integration::Scene() == Dali::Integration::Scene::Get(child));
+
+  scene.Add(parent);
 
-  DALI_TEST_CHECK(scene == Dali::Integration::Scene::Get(actor));
+  // Should return the valid scene
+  DALI_TEST_CHECK(scene == Dali::Integration::Scene::Get(parent));
+  DALI_TEST_CHECK(scene == Dali::Integration::Scene::Get(child));
+
+  parent.Unparent();
+
+  // Should be empty scene
+  DALI_TEST_CHECK(Dali::Integration::Scene() == Dali::Integration::Scene::Get(parent));
+  DALI_TEST_CHECK(Dali::Integration::Scene() == Dali::Integration::Scene::Get(child));
 
   END_TEST;
 }
@@ -1737,4 +1751,4 @@ int UtcDaliSceneWheelEventGeneratedSignalP(void)
   DALI_TEST_CHECK(event2.delta == data.receivedWheelEvent.GetDelta());
   DALI_TEST_CHECK(event2.timeStamp == data.receivedWheelEvent.GetTime());
   END_TEST;
-}
\ No newline at end of file
+}