e_view : Add testcase of e_view_smart & e_view_textblock 78/325578/1
authorjinbong.lee <jinbong.lee@samsung.com>
Wed, 11 Jun 2025 05:51:52 +0000 (14:51 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 12 Jun 2025 08:25:50 +0000 (17:25 +0900)
 - remove warning of testcases.

Change-Id: I7567808e813fc77c932fbdf3edc8885bfd5b00de
Signed-off-by: jinbong.lee <jinbong.lee@samsung.com>
14 files changed:
src/bin/core/e_view_smart.c
src/bin/meson.build
src/include/e_view_smart.h
src/include/meson.build
tests/evas_wrapper.cpp
tests/evas_wrapper.h
tests/evas_wrapper_intern.h
tests/meson.build
tests/tc-e_view_image.cpp
tests/tc-e_view_layout.cpp
tests/tc-e_view_rect.cpp
tests/tc-e_view_smart.cpp [new file with mode: 0644]
tests/tc-e_view_text.cpp
tests/tc-e_view_textblock.cpp [new file with mode: 0644]

index f1f9d161e236475bfe878df909bdf94bbcf047bb..2aef126454790e102ff01097ab0552ce37e5323c 100644 (file)
@@ -303,7 +303,7 @@ e_view_smart_resize_listener_add(E_View_Smart *smart, struct wl_listener *listen
 }
 
 E_API void
-e_view_smart_data_set(E_View_Smartsmart, void *data)
+e_view_smart_data_set(E_View_Smart *smart, void *data)
 {
    if (!smart) return;
 
@@ -311,7 +311,7 @@ e_view_smart_data_set(E_View_Smart* smart, void *data)
 }
 
 E_API void *
-e_view_smart_data_get(E_View_Smartsmart)
+e_view_smart_data_get(E_View_Smart *smart)
 {
    if (!smart) return NULL;
 
@@ -319,7 +319,7 @@ e_view_smart_data_get(E_View_Smart* smart)
 }
 
 E_API void
-e_view_smart_member_add(E_View_Smartsmart, E_View *member)
+e_view_smart_member_add(E_View_Smart *smart, E_View *member)
 {
    evas_object_smart_member_add(member->eo, smart->view.eo);
 }
index 457d9566daac9f7b9f43b6222d720e728caf5f48..2595df2a5cedff84fbea1230245f39871e46f836 100644 (file)
@@ -161,6 +161,9 @@ e_sources = [
   'core/e_view_edje.c',
   'core/e_view_event.c',
   'core/e_view_layout.c',
+  'core/e_view_text.c',
+  'core/e_view_textblock.c',
+  'core/e_view_smart.c',
   'core/e_device.c',
   'server/e_compositor.c',
   'server/e_comp_wl.c',
index 2d44ace016f525e9e4f7b1c946ab91fe694c6681..1ac3ff8499fffe770e652ec68a946093763f2c9a 100644 (file)
@@ -27,11 +27,11 @@ typedef struct _E_View_Smart_Class
    void       (*member_del)(E_View_Smart *o, E_View *child); /**< code to be run when a child member is removed from object */
 } E_View_Smart_Class;
 
-E_API E_View_Smarte_view_smart_create(E_View_Tree *parent, const E_View_Smart_Class *sc);
+E_API E_View_Smart *e_view_smart_create(E_View_Tree *parent, const E_View_Smart_Class *sc);
 
 E_API E_View *e_view_smart_view_get(E_View_Smart *smart);
 
-E_API E_View_Smarte_view_smart_try_from_view(E_View *view);
+E_API E_View_Smart *e_view_smart_try_from_view(E_View *view);
 
 E_API void e_view_smart_size_set(E_View_Smart *smart, int width, int height);
 
@@ -39,11 +39,11 @@ E_API void e_view_smart_size_get(E_View_Smart *smart, int *width, int *height);
 
 E_API void e_view_smart_resize_listener_add(E_View_Smart *smart, struct wl_listener *listener);
 
-E_API void e_view_smart_data_set(E_View_Smartsmart, void *data);
+E_API void e_view_smart_data_set(E_View_Smart *smart, void *data);
 
-E_API void *e_view_smart_data_get(E_View_Smartsmart);
+E_API void *e_view_smart_data_get(E_View_Smart *smart);
 
-E_API void e_view_smart_member_add(E_View_Smartsmart, E_View *member);
+E_API void e_view_smart_member_add(E_View_Smart *smart, E_View *member);
 
 E_API void e_view_smart_member_del(E_View *member);
 
index cf2d4ec955448fb7ca084468da0229efee8c2b48..55c3b1e974aa12884f5bb4cc02f0a600e8734b3f 100644 (file)
@@ -77,6 +77,9 @@ install_headers([
   'e_view_client.h',
   'e_view_edje.h',
   'e_view_layout.h',
+  'e_view_text.h',
+  'e_view_textblock.h',
+  'e_view_smart.h',
   'e_blur_video_capture.h',
 ],
   subdir: 'enlightenment')
index 7ce0ef587d001a1204a6882f46ae5b713f81e218..2b30a84d7f7991ddbc70e33c75e0d3a0efd038cd 100644 (file)
@@ -345,6 +345,16 @@ void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel)
    evasMock->evas_object_image_preload(obj, cancel);
 }
 
+void evas_object_image_orient_set(Evas_Object *obj, Evas_Image_Orient orient)
+{
+   evasMock->evas_object_image_orient_set(obj, orient);
+}
+
+Evas_Image_Orient evas_object_image_orient_get(const Evas_Object *obj)
+{
+   return evasMock->evas_object_image_orient_get(obj);
+}
+
 Evas_Map *evas_map_new(int count)
 {
    return evasMock->evas_map_new(count);
@@ -515,6 +525,11 @@ Evas_Smart *evas_object_smart_smart_get(const Evas_Object *obj)
    return evasMock->evas_object_smart_smart_get(obj);
 }
 
+void evas_object_smart_data_set(const Evas_Object *obj, void *data)
+{
+   evasMock->evas_object_smart_data_set(obj, data);
+}
+
 void *evas_object_smart_data_get(const Evas_Object *obj)
 {
    return evasMock->evas_object_smart_data_get(obj);
@@ -554,3 +569,63 @@ const char *evas_object_text_text_get(const Evas_Object *obj)
 {
    return evasMock->evas_object_text_text_get(obj);
 }
+
+Evas_Object *evas_object_textblock_add(Evas *e)
+{
+   return evasMock->evas_object_textblock_add(e);
+}
+
+Evas_Textblock_Style *evas_textblock_style_new(void)
+{
+   return evasMock->evas_textblock_style_new();
+}
+
+void evas_textblock_style_free(Evas_Textblock_Style *ts)
+{
+   evasMock->evas_textblock_style_free(ts);
+}
+
+void evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text)
+{
+   evasMock->evas_textblock_style_set(ts, text);
+}
+
+const char *evas_textblock_style_get(const Evas_Textblock_Style *ts)
+{
+   return evasMock->evas_textblock_style_get(ts);
+}
+
+void evas_object_textblock_style_set(Evas_Object *obj, const Evas_Textblock_Style *ts)
+{
+   evasMock->evas_object_textblock_style_set(obj, ts);
+}
+
+void evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text)
+{
+   evasMock->evas_object_textblock_text_markup_set(obj, text);
+}
+
+char *evas_textblock_text_utf8_to_markup(const Evas_Object *obj, const char *text)
+{
+   return evasMock->evas_textblock_text_utf8_to_markup(obj, text);
+}
+
+void evas_object_textblock_valign_set(Evas_Object *obj, double align)
+{
+   evasMock->evas_object_textblock_valign_set(obj, align);
+}
+
+void evas_object_textblock_size_native_get(const Efl_Canvas_Textblock *obj, int *width, int *height)
+{
+   evasMock->evas_object_textblock_size_native_get(obj, width, height);
+}
+
+void evas_object_textblock_size_formatted_get(const Efl_Canvas_Textblock *obj, int *width, int *height)
+{
+   evasMock->evas_object_textblock_size_formatted_get(obj, width, height);
+}
+
+Eina_Bool evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+{
+   return evasMock->evas_object_textblock_line_number_geometry_get(obj, line, cx, cy, cw, ch);
+}
\ No newline at end of file
index 8ec95575d4efdcf9971418c8e5d93fe720c18ca3..6b27240f71eb40c9bfa8cb4f8c8832e5b0b0f317 100644 (file)
@@ -76,6 +76,8 @@ public:
     virtual Eina_Bool evas_object_image_source_unset(Evas_Object *obj) = 0;
     virtual Eina_Bool evas_object_image_save(const Evas_Object *obj, const char *file, const char *key, const char *flags) = 0;
     virtual void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel) = 0;
+    virtual void evas_object_image_orient_set(Evas_Object *obj, Evas_Image_Orient orient) = 0;
+    virtual Evas_Image_Orient evas_object_image_orient_get(const Evas_Object *obj) = 0;
     virtual Evas_Map *evas_map_new(int count) = 0;
     virtual void evas_map_free(Evas_Map *m) = 0;
     virtual Evas_Map *evas_map_dup(const Evas_Map *m) = 0;
@@ -110,6 +112,7 @@ public:
     virtual Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s) = 0;
     virtual Evas_Smart *evas_object_smart_smart_get(const Evas_Object *obj) = 0;
     virtual void *evas_object_smart_data_get(const Evas_Object *obj) = 0;
+    virtual void evas_object_smart_data_set(const Evas_Object *obj, void *data) = 0;
     virtual void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj) = 0;
     virtual void evas_object_smart_member_del(Evas_Object *obj) = 0;
     virtual Evas_Object *evas_object_text_add(Evas *e) = 0;
@@ -117,6 +120,18 @@ public:
     virtual void evas_object_text_font_get(const Evas_Object *obj, const char **font, int *size) = 0;
     virtual void evas_object_text_text_set(Evas_Object *obj, const char *text) = 0;
     virtual const char *evas_object_text_text_get(const Evas_Object *obj) = 0;
+    virtual Evas_Object *evas_object_textblock_add(Evas *e) = 0;
+    virtual Evas_Textblock_Style *evas_textblock_style_new(void) = 0;
+    virtual void evas_textblock_style_free(Evas_Textblock_Style *ts) = 0;
+    virtual void evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) = 0;
+    virtual const char *evas_textblock_style_get(const Evas_Textblock_Style *ts) = 0;
+    virtual void evas_object_textblock_style_set(Evas_Object *obj, const Evas_Textblock_Style *ts) = 0;
+    virtual void evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text) = 0;
+    virtual char *evas_textblock_text_utf8_to_markup(const Evas_Object *obj, const char *text) = 0;
+    virtual void evas_object_textblock_valign_set(Evas_Object *obj, double align) = 0;
+    virtual void evas_object_textblock_size_native_get(const Efl_Canvas_Textblock *obj, int *width, int *height) = 0;
+    virtual void evas_object_textblock_size_formatted_get(const Efl_Canvas_Textblock *obj, int *width, int *height) = 0;
+    virtual Eina_Bool evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) = 0;
 };
 
 class EvasMock : public EvasWrapper {
@@ -192,6 +207,8 @@ public:
     MOCK_METHOD(Eina_Bool, evas_object_image_source_unset, (Evas_Object *obj));
     MOCK_METHOD(Eina_Bool, evas_object_image_save, (const Evas_Object *obj, const char *file, const char *key, const char *flags));
     MOCK_METHOD(void, evas_object_image_preload, (Evas_Object *obj, Eina_Bool cancel));
+    MOCK_METHOD(void, evas_object_image_orient_set, (Evas_Object *obj, Evas_Image_Orient orient));
+    MOCK_METHOD(Evas_Image_Orient, evas_object_image_orient_get, (const Evas_Object *obj));
     MOCK_METHOD(Evas_Map *, evas_map_new, (int count));
     MOCK_METHOD(void, evas_map_free, (Evas_Map *m));
     MOCK_METHOD(Evas_Map *, evas_map_dup, (const Evas_Map *m));
@@ -225,6 +242,7 @@ public:
     MOCK_METHOD(Evas_Smart *, evas_smart_class_new, (const Evas_Smart_Class *sc));
     MOCK_METHOD(Evas_Object *, evas_object_smart_add, (Evas *e, Evas_Smart *s));
     MOCK_METHOD(Evas_Smart *, evas_object_smart_smart_get, (const Evas_Object *obj));
+    MOCK_METHOD(void, evas_object_smart_data_set, (const Evas_Object *obj, void *data));
     MOCK_METHOD(void *, evas_object_smart_data_get, (const Evas_Object *obj));
     MOCK_METHOD(void, evas_object_smart_member_add, (Evas_Object *obj, Evas_Object *smart_obj));
     MOCK_METHOD(void, evas_object_smart_member_del, (Evas_Object *obj));
@@ -233,6 +251,18 @@ public:
     MOCK_METHOD(void, evas_object_text_font_get, (const Evas_Object *obj, const char **font, int *size));
     MOCK_METHOD(void, evas_object_text_text_set, (Evas_Object *obj, const char *text));
     MOCK_METHOD(const char *, evas_object_text_text_get, (const Evas_Object *obj));
+    MOCK_METHOD(Evas_Object *, evas_object_textblock_add,(Evas *e));
+    MOCK_METHOD0(evas_textblock_style_new, Evas_Textblock_Style *());
+    MOCK_METHOD(void, evas_textblock_style_free, (Evas_Textblock_Style *ts));
+    MOCK_METHOD(void, evas_textblock_style_set, (Evas_Textblock_Style *ts, const char *text));
+    MOCK_METHOD(const char *, evas_textblock_style_get, (const Evas_Textblock_Style *ts));
+    MOCK_METHOD(void, evas_object_textblock_style_set,(Evas_Object *obj, const Evas_Textblock_Style *ts));
+    MOCK_METHOD(void, evas_object_textblock_text_markup_set, (Evas_Object *obj, const char *text));
+    MOCK_METHOD(char *, evas_textblock_text_utf8_to_markup, (const Evas_Object *obj, const char *text));
+    MOCK_METHOD(void, evas_object_textblock_valign_set, (Evas_Object *obj, double align));
+    MOCK_METHOD(void, evas_object_textblock_size_native_get, (const Efl_Canvas_Textblock *obj, int *width, int *height));
+    MOCK_METHOD(void, evas_object_textblock_size_formatted_get, (const Efl_Canvas_Textblock *obj, int *width, int *height));
+    MOCK_METHOD(Eina_Bool, evas_object_textblock_line_number_geometry_get, (const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch));
 };
 
 extern EvasMock* evasMock;
index 16d513131375493e06b93cd4ef372382d99add9d..99d8a0f8626e219082dfd19354fe6cd1c5332a5a 100755 (executable)
@@ -24,6 +24,8 @@ typedef int Evas_Object;
 typedef int Evas_Map;
 typedef int  Evas_Coord;
 typedef unsigned char Eina_Bool;
+typedef int Evas_Textblock_Style;
+typedef int Efl_Canvas_Textblock;
 
 #define EVAS_OBJECT_SIZE sizeof(Evas_Object)
 #define EINA_TRUE ((Eina_Bool)1)
@@ -339,6 +341,18 @@ typedef enum
                           */
 } Evas_Render_Op;
 
+typedef enum
+{
+  EVAS_IMAGE_ORIENT_NONE = 0, /**< no orientation change */
+  EVAS_IMAGE_ORIENT_0 = 0, /**< no orientation change */
+  EVAS_IMAGE_ORIENT_90 = 1, /**< rotate 90 degrees clockwise */
+  EVAS_IMAGE_ORIENT_180 = 2, /**< rotate 180 degrees clockwise */
+  EVAS_IMAGE_ORIENT_270 = 3, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
+  EVAS_IMAGE_FLIP_HORIZONTAL = 4, /**< flip image horizontally (along the x = width / 2 line) */
+  EVAS_IMAGE_FLIP_VERTICAL = 5, /**< flip image vertically (along the y = height / 2 line) */
+  EVAS_IMAGE_FLIP_TRANSPOSE = 6, /**< flip image along the y = (width - x) line (bottom-left to top-right) */
+  EVAS_IMAGE_FLIP_TRANSVERSE = 7 /**< flip image along the y = x line (top-left to bottom-right) */
+} Evas_Image_Orient;
 
 void evas_object_del(Evas_Object *obj);
 void evas_object_stack_above(Evas_Object *obj, Evas_Object *above);
@@ -365,6 +379,7 @@ Evas_Smart *evas_smart_class_new(const Evas_Smart_Class *sc);
 Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s);
 Evas_Smart *evas_object_smart_smart_get(const Evas_Object *obj);
 void *evas_object_smart_data_get(const Evas_Object *obj);
+void evas_object_smart_data_set(const Evas_Object *obj, void *data);
 void  evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj);
 void  evas_object_smart_member_del(Evas_Object *obj);
 void  evas_event_callback_add(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data);
@@ -417,10 +432,11 @@ void evas_object_repeat_events_set(Evas_Object *obj, Eina_Bool repeat);
 Eina_Bool evas_object_map_enable_get(const Evas_Object *obj);
 void evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled);
 void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel);
+void evas_object_image_orient_set(Evas_Object *obj, Evas_Image_Orient orient);
+Evas_Image_Orient evas_object_image_orient_get(const Evas_Object *obj);
 void evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data);
 void *evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func);
 char *efl_gfx_filter_program_set(Evas_Object *obj, const char *code, const char *name);
-
 Evas_Map *evas_map_new(int count);
 void evas_map_free(Evas_Map *m);
 Evas_Map *evas_map_dup(const Evas_Map *m);
@@ -454,6 +470,19 @@ void evas_object_text_font_get(const Evas_Object *obj, const char **font, int *s
 void evas_object_text_text_set(Evas_Object *obj, const char *text);
 const char *evas_object_text_text_get(const Evas_Object *obj);
 
+Evas_Object *evas_object_textblock_add(Evas *e);
+Evas_Textblock_Style *evas_textblock_style_new(void);
+void evas_textblock_style_free(Evas_Textblock_Style *ts);
+void evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text);
+const char *evas_textblock_style_get(const Evas_Textblock_Style *ts);
+void evas_object_textblock_style_set(Evas_Object *obj, const Evas_Textblock_Style *ts);
+void evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text);
+char *evas_textblock_text_utf8_to_markup(const Evas_Object *obj, const char *text);
+void evas_object_textblock_valign_set(Evas_Object *obj, double align);
+void evas_object_textblock_size_native_get(const Efl_Canvas_Textblock *obj, int *width, int *height);
+void evas_object_textblock_size_formatted_get(const Efl_Canvas_Textblock *obj, int *width, int *height);
+Eina_Bool evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
+
 #ifdef  __cplusplus
 }
 #endif
index deb1d7c23001f7b34e6b92e32ae679848dec5112..1179ff6fe2b23ede71efbe7387f8d6133ce6a4c5 100644 (file)
@@ -12,6 +12,9 @@ e_src = [
   '../src/bin/utils/e_map.c',
   '../src/bin/core/e_view_event.c',
   '../src/bin/core/e_view_layout.c',
+  '../src/bin/core/e_view_text.c',
+  '../src/bin/core/e_view_textblock.c',
+  '../src/bin/core/e_view_smart.c',
 ]
 
 src = [
@@ -25,6 +28,9 @@ src = [
   'tc-e_view_event.cpp',
   'tc-e_view_layout.cpp',
   'tc-e_view_tree.cpp',
+  'tc-e_view_text.cpp',
+  'tc-e_view_textblock.cpp',
+  'tc-e_view_smart.cpp',
 ]
 
 executable(
index 3b690e507e85c1cc181b596375141bd37c136739..001319cf7ce3d5dd1fe0dc9a2f700925e9464b27 100755 (executable)
@@ -45,11 +45,13 @@ TEST_F(EViewImageTest, Test_E_View_Image_Create)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    EXPECT_NE(image, nullptr);
    E_View *view = e_view_image_view_get(image);
    EXPECT_NE(view, nullptr);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -68,6 +70,7 @@ TEST_F(EViewImageTest, Test_e_view_image_view_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -81,6 +84,7 @@ TEST_F(EViewImageTest, Test_e_view_image_view_get)
    EXPECT_EQ(parent_image_from_view, nullptr);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -99,6 +103,7 @@ TEST_F(EViewImageTest, Test_e_view_image_alpha_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -121,6 +126,7 @@ TEST_F(EViewImageTest, Test_e_view_image_alpha_set_get)
    EXPECT_EQ(ret, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -139,6 +145,7 @@ TEST_F(EViewImageTest, Test_e_view_image_animated_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -157,6 +164,7 @@ TEST_F(EViewImageTest, Test_e_view_image_animated_get)
    EXPECT_EQ(ret, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -175,6 +183,7 @@ TEST_F(EViewImageTest, Test_e_vew_image_animated_frame_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -192,6 +201,7 @@ TEST_F(EViewImageTest, Test_e_vew_image_animated_frame_set_get)
    EXPECT_EQ(ret, frame);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -210,6 +220,7 @@ TEST_F(EViewImageTest, Test_e_view_image_animated_frame_count_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -224,6 +235,7 @@ TEST_F(EViewImageTest, Test_e_view_image_animated_frame_count_get)
    EXPECT_EQ(ret, frame);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -242,6 +254,7 @@ TEST_F(EViewImageTest, Test_e_view_image_animated_frame_duration_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -257,6 +270,7 @@ TEST_F(EViewImageTest, Test_e_view_image_animated_frame_duration_get)
    EXPECT_EQ(ret, duration);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -275,6 +289,7 @@ TEST_F(EViewImageTest, Test_e_view_image_border_center_fill_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -319,6 +334,7 @@ TEST_F(EViewImageTest, Test_e_view_image_border_center_fill_set_get)
    EXPECT_EQ(fill_mode, ret);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -337,6 +353,7 @@ TEST_F(EViewImageTest, Test_e_view_image_border_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -366,6 +383,7 @@ TEST_F(EViewImageTest, Test_e_view_image_border_set_get)
    EXPECT_EQ(b, ret_b);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -385,6 +403,7 @@ TEST_F(EViewImageTest, Test_e_view_image_colorspace_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -402,6 +421,7 @@ TEST_F(EViewImageTest, Test_e_view_image_colorspace_set_get)
    EXPECT_EQ(ret, E_VIEW_COLORSPACE_GRY8);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -420,6 +440,7 @@ TEST_F(EViewImageTest, Test_e_view_image_data_copy_set)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -433,6 +454,7 @@ TEST_F(EViewImageTest, Test_e_view_image_data_copy_set)
    e_view_image_data_copy_set(image, data);
    free(data);
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -451,6 +473,7 @@ TEST_F(EViewImageTest, Test_e_view_image_data_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -472,6 +495,7 @@ TEST_F(EViewImageTest, Test_e_view_image_data_set_get)
    EXPECT_EQ(ret, data);
    free(data);
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -490,6 +514,7 @@ TEST_F(EViewImageTest, Test_e_view_image_data_update_add)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -500,6 +525,7 @@ TEST_F(EViewImageTest, Test_e_view_image_data_update_add)
    e_view_image_data_update_add(image, 10, 20, 100, 200);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -518,6 +544,7 @@ TEST_F(EViewImageTest, Test_e_view_image_file_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -525,6 +552,7 @@ TEST_F(EViewImageTest, Test_e_view_image_file_set_get)
    const char file[] = "temp.txt";
    const char key[] = "key0";
 
+   EXPECT_CALL(*evasMock, evas_object_image_load_error_get(_));
    EXPECT_CALL(*evasMock, evas_object_image_file_set(obj, file, key))
       .Times(1);
 
@@ -542,6 +570,7 @@ TEST_F(EViewImageTest, Test_e_view_image_file_set_get)
    EXPECT_EQ(ret_key, key);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -560,6 +589,7 @@ TEST_F(EViewImageTest, Test_e_view_image_fill_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -588,6 +618,7 @@ TEST_F(EViewImageTest, Test_e_view_image_fill_set_get)
    EXPECT_EQ(ret_h, h);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -606,6 +637,7 @@ TEST_F(EViewImageTest, Test_e_view_image_filled_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -631,6 +663,7 @@ TEST_F(EViewImageTest, Test_e_view_image_filled_set_get)
    EXPECT_EQ(ret, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -649,6 +682,7 @@ TEST_F(EViewImageTest, Test_e_view_image_load_error_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -661,6 +695,7 @@ TEST_F(EViewImageTest, Test_e_view_image_load_error_get)
    EXPECT_EQ(ret, E_VIEW_LOAD_ERROR_NONE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -679,6 +714,7 @@ TEST_F(EViewImageTest, Test_e_view_image_load_size_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -701,6 +737,7 @@ TEST_F(EViewImageTest, Test_e_view_image_load_size_set_get)
    EXPECT_EQ(ret_h, h);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -719,6 +756,7 @@ TEST_F(EViewImageTest, Test_e_view_image_native_surface_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -748,6 +786,7 @@ TEST_F(EViewImageTest, Test_e_view_image_native_surface_set_get)
    EXPECT_NE(ret, nullptr);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -766,6 +805,7 @@ TEST_F(EViewImageTest, Test_e_view_image_pixels_dirty_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -787,6 +827,7 @@ TEST_F(EViewImageTest, Test_e_view_image_pixels_dirty_set_get)
    EXPECT_EQ(ret_dirty, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -813,6 +854,7 @@ TEST_F(EViewImageTest, Test_e_view_image_pixels_get_callback_set)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -826,6 +868,7 @@ TEST_F(EViewImageTest, Test_e_view_image_pixels_get_callback_set)
    e_view_image_pixels_get_callback_set(image, &cb_pixel_get, cb_data);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -844,6 +887,7 @@ TEST_F(EViewImageTest, Test_e_view_image_pixels_noti_callback_set)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -857,6 +901,7 @@ TEST_F(EViewImageTest, Test_e_view_image_pixels_noti_callback_set)
    e_view_image_pixels_noti_callback_set(image, &cb_pixel_get, cb_data);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -875,6 +920,7 @@ TEST_F(EViewImageTest, Test_e_view_image_smooth_scale_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -898,6 +944,7 @@ TEST_F(EViewImageTest, Test_e_view_image_smooth_scale_set_get)
    EXPECT_EQ(ret_smooth_scale, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -916,6 +963,7 @@ TEST_F(EViewImageTest, Test_e_view_image_size_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -935,6 +983,7 @@ TEST_F(EViewImageTest, Test_e_view_image_size_set_get)
    EXPECT_EQ(h, ret_h);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -953,6 +1002,7 @@ TEST_F(EViewImageTest, Test_e_view_image_source_set_get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -966,6 +1016,7 @@ TEST_F(EViewImageTest, Test_e_view_image_source_set_get)
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_stack_above(_, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *img_source = e_view_image_create(this->tree);
    E_View *view_source = e_view_image_view_get(img_source);
    EXPECT_CALL(*evasMock, evas_object_image_source_set(obj, source_obj))
@@ -991,11 +1042,13 @@ TEST_F(EViewImageTest, Test_e_view_image_source_set_get)
    ret_img_source = e_view_image_source_get(image);
    EXPECT_EQ(ret_img_source, nullptr);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
    e_view_destroy(view_source);
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -1015,6 +1068,7 @@ TEST_F(EViewImageTest, Test_e_view_image_save)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -1035,6 +1089,7 @@ TEST_F(EViewImageTest, Test_e_view_image_save)
    EXPECT_EQ(ret, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -1053,6 +1108,7 @@ TEST_F(EViewImageTest, Test_e_view_image_preload)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Image *image = e_view_image_create(this->tree);
    E_View *view = e_view_image_view_get(image);
 
@@ -1068,6 +1124,7 @@ TEST_F(EViewImageTest, Test_e_view_image_preload)
    e_view_image_preload(image, EINA_FALSE);
 
    // end of test code
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
index 7da88e21242fa056b1b7c3d1a62f0065228539c9..cc0674308a7a13a78d29e71670ef8271c0e8b99c 100644 (file)
@@ -49,9 +49,11 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Create)
    EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]));
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Layout *layout = e_view_layout_create(this->tree);
    EXPECT_NE(layout, nullptr);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_del(_));
@@ -75,6 +77,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Pack_UnPack)
    EXPECT_CALL(*evasMock, evas_object_data_get(_, _));
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+      .Times(AnyNumber());
    E_View_Layout *layout = e_view_layout_create(this->tree);
 
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
@@ -87,6 +91,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Pack_UnPack)
    EXPECT_CALL(*evasMock, evas_object_rectangle_add(_))
       .Times(1)
       .WillOnce(Return(obj2));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+      .Times(AnyNumber());
    E_View_Rect* view_rect = e_view_rect_create(this->tree, 1, 1, color);
    E_View *childView = e_view_rect_view_get(view_rect);
 
@@ -102,12 +108,15 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Pack_UnPack)
      .Times(AnyNumber());
    e_view_layout_unpack(childView);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_))
+      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_del(_));
    e_view_destroy(childView);
 
    EXPECT_CALL(*evasMock, evas_object_data_get(_, _));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    e_view_layout_destroy(layout);
    free(obj);
@@ -128,12 +137,14 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Virtual_Size_Set)
    EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]));
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Layout *layout = e_view_layout_create(this->tree);
 
    e_view_layout_virtual_size_set(layout, 100, 200);
 
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    e_view_layout_destroy(layout);
    free(obj);
@@ -155,6 +166,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Move)
    EXPECT_CALL(*evasMock, evas_object_data_get(_, _));
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+      .Times(AnyNumber());
    E_View_Layout *layout = e_view_layout_create(this->tree);
 
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
@@ -167,6 +180,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Move)
    EXPECT_CALL(*evasMock, evas_object_rectangle_add(_))
       .Times(1)
       .WillOnce(Return(obj2));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+     .Times(AnyNumber());
    E_View_Rect* view_rect = e_view_rect_create(this->tree, 1, 1, color);
    E_View *childView = e_view_rect_view_get(view_rect);
 
@@ -186,9 +201,12 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Move)
      .Times(AnyNumber());
    e_view_layout_unpack(childView);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_))
+     .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_del(_));
    e_view_destroy(childView);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -213,6 +231,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Resize)
    EXPECT_CALL(*evasMock, evas_object_data_get(_, _));
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+     .Times(AnyNumber());
    E_View_Layout *layout = e_view_layout_create(this->tree);
 
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
@@ -225,6 +245,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Resize)
    EXPECT_CALL(*evasMock, evas_object_rectangle_add(_))
       .Times(1)
       .WillOnce(Return(obj2));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+     .Times(AnyNumber());
    E_View_Rect* view_rect = e_view_rect_create(this->tree, 1, 1, color);
    E_View *childView = e_view_rect_view_get(view_rect);
 
@@ -244,9 +266,12 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Resize)
      .Times(AnyNumber());
    e_view_layout_unpack(childView);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_))
+     .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_del(_));
    e_view_destroy(childView);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -271,6 +296,7 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Raise)
    EXPECT_CALL(*evasMock, evas_object_data_get(_, _));
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Layout *layout = e_view_layout_create(this->tree);
 
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
@@ -283,6 +309,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Raise)
    EXPECT_CALL(*evasMock, evas_object_rectangle_add(_))
       .Times(1)
       .WillOnce(Return(obj2));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_))
+     .Times(AnyNumber());
    E_View_Rect* view_rect = e_view_rect_create(this->tree, 1, 1, color);
    E_View *childView = e_view_rect_view_get(view_rect);
 
@@ -305,6 +333,8 @@ TEST_F(EViewLayoutTest, Test_E_View_Layout_Children_Raise)
    EXPECT_CALL(*evasMock, evas_object_del(_));
    e_view_destroy(childView);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _))
+     .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
index d8d907409ad95ca887b544210ce0a6e839d2df31..dec98399924db63d14d969db068ce19bdc2784a7 100644 (file)
@@ -52,11 +52,13 @@ TEST_F(EViewRectTest, Test_E_View_Rect_Create)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Rect *rect = e_view_rect_create(this->tree, width, height, color);
    EXPECT_NE(rect, nullptr);
    E_View *view = e_view_rect_view_get(rect);
    EXPECT_NE(view, nullptr);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -81,6 +83,7 @@ TEST_F(EViewRectTest, Test_E_View_Rect_Size_Set_Get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Rect *rect = e_view_rect_create(this->tree, 123, 456, color);
    ASSERT_NE(rect, nullptr);
    E_View *view = e_view_rect_view_get(rect);
@@ -100,6 +103,7 @@ TEST_F(EViewRectTest, Test_E_View_Rect_Size_Set_Get)
    EXPECT_EQ(width,456);
    EXPECT_EQ(height,123);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -127,12 +131,14 @@ TEST_F(EViewRectTest, Test_E_View_Rect_Try_From_View)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Rect *rect = e_view_rect_create(this->tree, width, height, color);
    E_View *view = e_view_rect_view_get(rect);
 
    E_View_Rect *rect_from_view = e_view_rect_try_from_view(view);
    EXPECT_EQ(rect_from_view, rect);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -159,6 +165,7 @@ TEST_F(EViewRectTest, Test_E_View_Rect_Color_Set_Get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
      .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Rect *rect = e_view_rect_create(this->tree, width, height, color);
    E_View *view = e_view_rect_view_get(rect);
 
@@ -186,6 +193,7 @@ TEST_F(EViewRectTest, Test_E_View_Rect_Color_Set_Get)
    EXPECT_EQ(blue, b);
    EXPECT_EQ(alpha, a);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_, _, _));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
diff --git a/tests/tc-e_view_smart.cpp b/tests/tc-e_view_smart.cpp
new file mode 100644 (file)
index 0000000..4309194
--- /dev/null
@@ -0,0 +1,226 @@
+#include "tc-main.h"
+#include "evas_wrapper.h"
+
+#include "e_canvas.h"
+#include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
+#include "e_view_textblock.h"
+#include "e_view_smart.h"
+
+using ::testing::Return;
+using ::testing::_;
+using ::testing::SetArgPointee;
+using ::testing::DoAll;
+using ::testing::AnyNumber;
+
+class EViewSmartTest : public ::testing::Test
+{
+protected:
+   Evas *evas;
+   E_Canvas *canvas;
+   E_View_Tree *tree;
+
+   void SetUp(void) override {
+       evasMock = new EvasMock();
+       this->evas = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+       this->canvas = e_canvas_create(this->evas);
+       this->tree = e_canvas_root_view_tree_get(this->canvas);
+   }
+
+   void TearDown(void) override {
+       e_canvas_destroy(this->canvas);
+       free(this->evas);
+       delete evasMock;
+   }
+};
+
+static void
+e_view_smart_add_cb(E_View_Smart *o)
+{
+}
+
+static void
+e_view_smart_del_cb(E_View_Smart *o)
+{
+}
+
+TEST_F(EViewSmartTest, Test_E_View_Smart_Create)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+   Evas_Smart *esmart = (Evas_Smart *)malloc(EVAS_OBJECT_SIZE);
+
+   E_View_Smart_Class sc = {"smart_test",e_view_smart_add_cb,e_view_smart_del_cb,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr};
+   EXPECT_CALL(*evasMock, evas_smart_class_new(_))
+      .Times(1)
+      .WillOnce(Return(esmart));
+   EXPECT_CALL(*evasMock, evas_object_smart_add(this->evas, esmart))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_smart_data_set(_,_))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_resize(_, _, _));
+   E_View_Smart *view_smart = e_view_smart_create(this->tree, &sc);
+   EXPECT_NE(view_smart, nullptr);
+   E_View *view = e_view_smart_view_get(view_smart);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(esmart);
+   free(obj);
+}
+
+TEST_F(EViewSmartTest, Test_E_View_Smart_Size_Set)
+{
+   int w = 123, h = 456;
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+   Evas_Smart *esmart = (Evas_Smart *)malloc(EVAS_OBJECT_SIZE);
+
+   E_View_Smart_Class sc = {"smart_test",e_view_smart_add_cb,e_view_smart_del_cb,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr};
+   EXPECT_CALL(*evasMock, evas_smart_class_new(_))
+      .Times(1)
+      .WillOnce(Return(esmart));
+   EXPECT_CALL(*evasMock, evas_object_smart_add(this->evas, _))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_smart_data_set(_,_))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_resize(_, _, _));
+   E_View_Smart *view_smart = e_view_smart_create(this->tree, &sc);
+   EXPECT_NE(view_smart, nullptr);
+   E_View *view = e_view_smart_view_get(view_smart);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_resize(_, _, _));
+   e_view_smart_size_set(view_smart, w, h);
+
+   w = 0, h = 0;
+   e_view_smart_size_get(view_smart, &w, &h);
+   EXPECT_EQ(w, 123);
+   EXPECT_EQ(h, 456);
+
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(esmart);
+   free(obj);
+}
+
+TEST_F(EViewSmartTest, Test_E_View_Smart_Data_Set)
+{
+   int dummy = 1;
+   void *data = &dummy;
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+   Evas_Smart *esmart = (Evas_Smart *)malloc(EVAS_OBJECT_SIZE);
+
+   E_View_Smart_Class sc = {"smart_test",e_view_smart_add_cb,e_view_smart_del_cb,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr};
+   EXPECT_CALL(*evasMock, evas_smart_class_new(_))
+      .Times(1)
+      .WillOnce(Return(esmart));
+   EXPECT_CALL(*evasMock, evas_object_smart_add(this->evas, _))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_smart_data_set(_,_))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_resize(_, _, _));
+   E_View_Smart *view_smart = e_view_smart_create(this->tree, &sc);
+   EXPECT_NE(view_smart, nullptr);
+   E_View *view = e_view_smart_view_get(view_smart);
+   EXPECT_NE(view, nullptr);
+
+   e_view_smart_data_set(view_smart, data);
+   data = e_view_smart_data_get(view_smart);
+   EXPECT_EQ(data, &dummy);
+
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(esmart);
+   free(obj);
+}
+
+TEST_F(EViewSmartTest, Test_E_View_Smart_Member_Add)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+   Evas_Object *obj2 = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+   Evas_Smart *esmart = (Evas_Smart *)malloc(EVAS_OBJECT_SIZE);
+
+   E_View_Smart_Class sc = {"smart_test",e_view_smart_add_cb,e_view_smart_del_cb,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr,nullptr};
+   EXPECT_CALL(*evasMock, evas_smart_class_new(_))
+      .Times(1)
+      .WillOnce(Return(esmart));
+   EXPECT_CALL(*evasMock, evas_object_smart_add(this->evas, _))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_smart_data_set(_,_))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_resize(_, _, _));
+   E_View_Smart *view_smart = e_view_smart_create(this->tree, &sc);
+   EXPECT_NE(view_smart, nullptr);
+   E_View *view = e_view_smart_view_get(view_smart);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_add(this->evas))
+      .Times(1)
+      .WillOnce(Return(obj2));
+
+   EXPECT_CALL(*evasMock, evas_object_stack_above(_, _));
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_));
+   E_View_Textblock *textblock = e_view_textblock_create(this->tree);
+   EXPECT_NE(textblock, nullptr);
+   E_View *text_view = e_view_textblock_view_get(textblock);
+   EXPECT_NE(text_view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_smart_member_add(_, _));
+   e_view_smart_member_add(view_smart, text_view);
+
+   EXPECT_CALL(*evasMock, evas_object_smart_member_del(obj2));
+   e_view_smart_member_del(text_view);
+
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(obj);
+
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(text_view);
+   free(esmart);
+   free(obj2);
+}
\ No newline at end of file
index 9206793b21ec9066fbe83cfcc54be271d463dcd7..68fd8b41f656f2fa68c98b8e1b787d7f80943d40 100644 (file)
@@ -52,11 +52,13 @@ TEST_F(EViewTextTest, Test_E_View_Text_Create)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Text *text = e_view_text_create(this->tree, width, height, color);
    EXPECT_NE(text, nullptr);
    E_View *view = e_view_text_view_get(text);
    EXPECT_NE(view, nullptr);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -81,6 +83,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Size_Set_Get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Text *text = e_view_text_create(this->tree, 123, 456, color);
    ASSERT_NE(text, nullptr);
    E_View *view = e_view_text_view_get(text);
@@ -100,6 +103,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Size_Set_Get)
    EXPECT_EQ(width,456);
    EXPECT_EQ(height,123);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -127,12 +131,14 @@ TEST_F(EViewTextTest, Test_E_View_Text_Try_From_View)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Text *text = e_view_text_create(this->tree, width, height, color);
    E_View *view = e_view_text_view_get(text);
 
    E_View_Text *text_from_view = e_view_text_try_from_view(view);
    EXPECT_EQ(text_from_view, text);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -159,6 +165,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Color_Set_Get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Text *text = e_view_text_create(this->tree, width, height, color);
    E_View *view = e_view_text_view_get(text);
 
@@ -186,6 +193,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Color_Set_Get)
    EXPECT_EQ(blue, b);
    EXPECT_EQ(alpha, a);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -212,6 +220,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Font_Set_Get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Text *text = e_view_text_create(this->tree, width, height, color);
    E_View *view = e_view_text_view_get(text);
 
@@ -234,6 +243,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Font_Set_Get)
    EXPECT_EQ(font, ret_f);
    EXPECT_EQ(size, ret_s);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
@@ -260,6 +270,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Text_Set_Get)
    EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
       .Times(AnyNumber());
    EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_, _, _, _));
    E_View_Text *text = e_view_text_create(this->tree, width, height, color);
    E_View *view = e_view_text_view_get(text);
 
@@ -278,6 +289,7 @@ TEST_F(EViewTextTest, Test_E_View_Text_Text_Set_Get)
    ret_s = e_view_text_text_get(text);
    EXPECT_EQ(sentence, ret_s);
 
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
    EXPECT_CALL(*evasMock, evas_object_del(_));
    EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
      .Times(AnyNumber());
diff --git a/tests/tc-e_view_textblock.cpp b/tests/tc-e_view_textblock.cpp
new file mode 100644 (file)
index 0000000..cae8289
--- /dev/null
@@ -0,0 +1,226 @@
+#include "tc-main.h"
+#include "evas_wrapper.h"
+
+#include "e_canvas.h"
+#include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
+#include "e_view_textblock.h"
+
+using ::testing::Return;
+using ::testing::_;
+using ::testing::SetArgPointee;
+using ::testing::DoAll;
+using ::testing::AnyNumber;
+
+class EViewTextblockTest : public ::testing::Test
+{
+   protected:
+   Evas *evas;
+   E_Canvas *canvas;
+   E_View_Tree *tree;
+
+   void SetUp(void) override {
+       evasMock = new EvasMock();
+       this->evas = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+       this->canvas = e_canvas_create(this->evas);
+       this->tree = e_canvas_root_view_tree_get(this->canvas);
+   }
+
+   void TearDown(void) override {
+       e_canvas_destroy(this->canvas);
+       free(this->evas);
+       delete evasMock;
+   }
+};
+
+TEST_F(EViewTextblockTest, Test_E_View_Textblock_Create)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_add(this->evas))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_));
+   E_View_Textblock *textblock = e_view_textblock_create(this->tree);
+   EXPECT_NE(textblock, nullptr);
+   E_View *view = e_view_textblock_view_get(textblock);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(obj);
+}
+
+TEST_F(EViewTextblockTest, Test_E_View_Textblock_Style_Set)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_add(this->evas))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_));
+   E_View_Textblock *textblock = e_view_textblock_create(this->tree);
+   EXPECT_NE(textblock, nullptr);
+   E_View *view = e_view_textblock_view_get(textblock);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_textblock_style_new());
+   EXPECT_CALL(*evasMock, evas_textblock_style_set(_, _));
+   EXPECT_CALL(*evasMock, evas_object_textblock_style_set(_, _));
+   EXPECT_CALL(*evasMock, evas_textblock_style_free(_));
+   e_view_textblock_style_set(textblock, "DEFAULT='font=SamsungOneUI_400 font_size=30'");
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_text_markup_set(_,_));
+   e_view_textblock_text_markup_set(textblock, "markup test");
+
+   EXPECT_CALL(*evasMock, evas_textblock_text_utf8_to_markup(_,_));
+   e_view_textblock_text_utf8_to_markup(textblock, "markup test");
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_valign_set(_,_));
+   e_view_textblock_valign_set(textblock, 0.1);
+
+   EXPECT_CALL(*evasMock, evas_object_resize(_,_,_));
+   e_view_textblock_size_set(textblock, 123, 456);
+
+   int w, h;
+   e_view_textblock_size_get(textblock, &w, &h);
+   EXPECT_EQ(w, 123);
+   EXPECT_EQ(h, 456);
+
+
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(obj);
+}
+
+TEST_F(EViewTextblockTest, Test_E_View_Textblock_Markup_Set)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_add(this->evas))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_));
+   E_View_Textblock *textblock = e_view_textblock_create(this->tree);
+   EXPECT_NE(textblock, nullptr);
+   E_View *view = e_view_textblock_view_get(textblock);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_text_markup_set(_,_));
+   e_view_textblock_text_markup_set(textblock, "markup test");
+
+   EXPECT_CALL(*evasMock, evas_textblock_text_utf8_to_markup(_,_));
+   e_view_textblock_text_utf8_to_markup(textblock, "markup test");
+
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(obj);
+}
+
+TEST_F(EViewTextblockTest, Test_E_View_Textblock_Size_Set)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_add(this->evas))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_));
+   E_View_Textblock *textblock = e_view_textblock_create(this->tree);
+   EXPECT_NE(textblock, nullptr);
+   E_View *view = e_view_textblock_view_get(textblock);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_valign_set(_,_));
+   e_view_textblock_valign_set(textblock, 0.1);
+
+   EXPECT_CALL(*evasMock, evas_object_resize(_,_,_));
+   e_view_textblock_size_set(textblock, 123, 456);
+
+   int w, h;
+   e_view_textblock_size_get(textblock, &w, &h);
+   EXPECT_EQ(w, 123);
+   EXPECT_EQ(h, 456);
+
+
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(obj);
+}
+
+TEST_F(EViewTextblockTest, Test_E_View_Textblock_Native_Get)
+{
+   Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+   int x, y, w, h;
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_add(this->evas))
+      .Times(1)
+      .WillOnce(Return(obj));
+
+   EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _))
+      .Times(AnyNumber());
+   EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_add(_,_,_,_));
+   E_View_Textblock *textblock = e_view_textblock_create(this->tree);
+   EXPECT_NE(textblock, nullptr);
+   E_View *view = e_view_textblock_view_get(textblock);
+   EXPECT_NE(view, nullptr);
+
+   EXPECT_CALL(*evasMock, evas_textblock_style_new());
+   EXPECT_CALL(*evasMock, evas_textblock_style_set(_, _));
+   EXPECT_CALL(*evasMock, evas_object_textblock_style_set(_, _));
+   EXPECT_CALL(*evasMock, evas_textblock_style_free(_));
+   e_view_textblock_style_set(textblock, "DEFAULT='font=SamsungOneUI_400 font_size=30'");
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_text_markup_set(_,_));
+   e_view_textblock_text_markup_set(textblock, "markup test");
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_valign_set(_,_));
+   e_view_textblock_valign_set(textblock, 0.1);
+
+   EXPECT_CALL(*evasMock, evas_object_resize(_,_,_));
+   e_view_textblock_size_set(textblock, 123, 456);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_size_native_get(_,_,_));
+   e_view_textblock_size_native_get(textblock, &w, &h);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_size_formatted_get(_,_,_));
+   e_view_textblock_size_formatted_get(textblock, &w, &h);
+
+   EXPECT_CALL(*evasMock, evas_object_textblock_line_number_geometry_get(_,_,_,_,_,_));
+   e_view_textblock_line_number_geometry_get(textblock, 0, &x, &y, &w, &h);
+
+   EXPECT_CALL(*evasMock, evas_object_del(_));
+   EXPECT_CALL(*evasMock, evas_object_event_callback_del(_,_,_));
+   EXPECT_CALL(*evasMock, evas_object_data_del(_, _))
+     .Times(AnyNumber());
+   e_view_destroy(view);
+   free(obj);
+}
\ No newline at end of file