}
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
* @{
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;
}