edje: Add test to verify that swallow objects are alive during DEL cb. 36/189936/3
authorAmitesh Singh <singh.amitesh@gmail.com>
Mon, 24 Sep 2018 08:54:11 +0000 (14:24 +0530)
committerHermet Park <chuneon.park@samsung.com>
Fri, 12 Oct 2018 07:56:36 +0000 (07:56 +0000)
At edje object DEL callback, the swallowed object should exist.

Change-Id: I220491bc269cd2f8e47de350922adc652210fe05
Signed-off-by: Amitesh Singh <singh.amitesh@gmail.com>
TC/edje/edje_object/utc_edje_object_part_swallow_get.c

index 7f9b370a9c071959d345b28dc8854392222ebdac..4067538afea4b1db11d25e7c6efe0c9d34c07607 100644 (file)
@@ -101,6 +101,50 @@ START_TEST(utc_edje_object_part_swallow_get_p_1)
 }
 END_TEST
 
+static void
+_edje_test_swallows_invalidate_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *ei EINA_UNUSED)
+{
+   if (data != edje_object_part_swallow_get(obj, "part_one"))
+     {
+        ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
+     }
+   printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
+}
+
+/**
+ * @addtogroup utc_edje_object_part_swallow_get_del
+ * @{
+ * @objective Test case to verify that swallow objects are alive during DEL callback
+ * @n Input data:
+ * @li valid Evas_Object handle
+ * @li valid part name
+ *
+ * @procedure
+ * @step 1 add Edje Object
+ * @step 2 set the edje file
+ * @step 3 add rectangle to swallow part
+ * @step 4 add a DEL callback on edje object and pass the swallowed object rectangle. In callback, test if swallowed object remains same.
+ *
+ * @passcondition: returned Evas Object is the same as swallowed in DEL callback.
+ * @}
+ */
+START_TEST(utc_edje_object_part_swallow_get_del)
+{
+   Evas_Object *edje_obj;
+   Evas_Object *rect;
+
+   edje_obj = edje_object_add(ecore_evas_get(ee));
+   edje_object_file_set(edje_obj, get_edj(), "tc/edje_box/group3");
+   evas_object_show(edje_obj);
+
+   rect = evas_object_rectangle_add(ecore_evas_get(ee));
+   edje_object_part_swallow(edje_obj, "part_one", rect);
+
+   evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_DEL, _edje_test_swallows_invalidate_del, rect);
+   evas_object_del(edje_obj);
+}
+END_TEST
+
 /**
  * @addtogroup edje_object_part_swallow_get
  * @{
@@ -140,5 +184,6 @@ TCase * _utc_edje_object_part_swallow_get()
    tcase_add_checked_fixture(tcase, setup, teardown);
    tcase_add_test(tcase, utc_edje_object_part_swallow_get_p_1);
    tcase_add_test(tcase, utc_edje_object_part_swallow_get_n_1);
+   tcase_add_test(tcase, utc_edje_object_part_swallow_get_del);
    return tcase;
 }