e_view_text wrap evas_object_text.
Change-Id: I8c5b7bba0b10a2f34145a919fe5c1b71d11b54e9
src/include/e_view_client.h \
src/include/e_view_edje.h \
src/include/e_view_layout.h \
-src/include/e_blur_video_capture.h
+src/include/e_blur_video_capture.h \
+src/include/e_view_text.h
enlightenment_src = \
src/bin/e_comp_screen.c \
src/bin/core/e_view_event.c \
src/bin/core/e_view_layout.c \
src/bin/core/e_device.c \
+src/bin/core/e_view_text.c \
src/bin/server/e_compositor.c \
src/bin/server/e_comp_wl.c \
src/bin/server/e_comp_wl_data.c \
E_VIEW_TYPE_IMAGE,
E_VIEW_TYPE_CLIENT,
E_VIEW_TYPE_EDJE,
+ E_VIEW_TYPE_TEXT,
} E_View_Type;
struct _E_View_Impl
--- /dev/null
+#include "e_intern.h"
+#include "e_view_intern.h"
+#include "e_view_text.h"
+#include "e_canvas_intern.h"
+
+struct _E_View_Text
+{
+ E_View view;
+
+ struct
+ {
+ struct wl_signal resize;
+ } events;
+
+ int width;
+ int height;
+};
+
+static E_View_Text *_view_text_from_view(E_View *view);
+static void _view_text_handle_destroy(E_View *view);
+static void _view_text_evas_object_cb_resize(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+const static E_View_Impl view_text_impl = {
+ .destroy = _view_text_handle_destroy,
+};
+
+static E_View_Text *
+_view_text_from_view(E_View *view)
+{
+ E_View_Text *text;
+ assert(view->impl == &view_text_impl);
+ return wl_container_of(view, text, view);
+}
+
+static void
+_view_text_handle_destroy(E_View *view)
+{
+ E_View_Text *text = _view_text_from_view(view);
+
+ evas_object_event_callback_del(text->view.eo, EVAS_CALLBACK_RESIZE, _view_text_evas_object_cb_resize);
+
+ evas_object_del(view->eo);
+ free(text);
+}
+
+static void
+_view_text_evas_object_cb_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ E_View_Text *text = (E_View_Text *)data;
+ int width, height;
+
+ // for debugging
+ evas_object_geometry_get(text->view.eo,
+ &width, &height, NULL, NULL);
+ if (width != text->width || height!= text->height)
+ {
+ ERR("e_view_text(%p) size mismatched: %dx%d != %dx%d", text,
+ text->width, text->height, width, height);
+
+ // FIXME: set the size of evas_obejct to the size of text
+ // for avoiding regression.
+ text->width = width;
+ text->height = height;
+ }
+
+ wl_signal_emit_mutable(&text->events.resize, text);
+}
+
+static void
+_view_text_size_set(E_View_Text *text, int width, int height)
+{
+ text->width = width;
+ text->height = height;
+
+ evas_object_resize(text->view.eo, width, height);
+}
+
+E_API E_View_Text *
+e_view_text_create(E_View_Tree *parent, int width, int height, const int color[4])
+{
+ E_Canvas *canvas;
+ E_View_Text *text;
+ Evas_Object *eo;
+
+ assert(parent != NULL);
+
+ text = malloc(sizeof(*text));
+ if (!text)
+ return NULL;
+
+ canvas = e_canvas_get(&parent->view);
+ eo = evas_object_text_add(canvas->evas);
+ if (!eo)
+ {
+ free(text);
+ return NULL;
+ }
+
+ e_view_init(&text->view, E_VIEW_TYPE_TEXT, (E_View_Impl*)&view_text_impl, eo, parent);
+ e_view_color_set(&text->view, color[0], color[1], color[2], color[3]);
+ _view_text_size_set(text, width, height);
+
+ wl_signal_init(&text->events.resize);
+
+ evas_object_event_callback_add(text->view.eo, EVAS_CALLBACK_RESIZE, _view_text_evas_object_cb_resize, text);
+
+ return text;
+}
+
+E_API E_View *
+e_view_text_view_get(E_View_Text *text)
+{
+ if (text == NULL) return NULL;
+
+ return &text->view;
+}
+
+E_API E_View_Text *
+e_view_text_try_from_view(E_View *view)
+{
+ if (view == NULL) return NULL;
+
+ if (view->impl != &view_text_impl)
+ return NULL;
+
+ return _view_text_from_view(view);
+}
+
+E_API void
+e_view_text_color_set(E_View_Text *text, int r, int g, int b, int a)
+{
+ if (text == NULL) return;
+
+ e_view_color_set(&text->view, r, g, b, a);
+}
+
+E_API void
+e_view_text_color_get(E_View_Text *text, int *r, int *g, int *b, int *a)
+{
+ if (text == NULL) return;
+
+ e_view_color_get(&text->view, r, g, b, a);
+}
+
+E_API void
+e_view_text_size_set(E_View_Text *text, int width, int height)
+{
+ if (text == NULL) return;
+
+ if (text->width == width && text->height == height)
+ return;
+
+ _view_text_size_set(text, width, height);
+}
+
+E_API void
+e_view_text_size_get(E_View_Text *text, int *width, int *height)
+{
+ if (text == NULL) return;
+
+ if (width)
+ *width = text->width;
+
+ if (height)
+ *height = text->height;
+}
+
+E_API void
+e_view_text_resize_listener_add(E_View_Text *text, struct wl_listener *listener)
+{
+ wl_signal_add(&text->events.resize, listener);
+}
+
+E_API void
+e_view_text_font_set(E_View_Text *text, const char *font, int size)
+{
+ if (text == NULL) return;
+
+ evas_object_text_font_set(text->view.eo, font, size);
+}
+
+E_API void
+e_view_text_font_get(E_View_Text *text, const char **font, int *size)
+{
+ if (text == NULL) return;
+
+ evas_object_text_font_get(text->view.eo, font, size);
+}
+
+E_API void
+e_view_text_text_set(E_View_Text *text, const char *sentence)
+{
+ if (text == NULL) return;
+
+ evas_object_text_text_set(text->view.eo, sentence);
+}
+
+E_API const char *
+e_view_text_text_get(E_View_Text *text)
+{
+ if (text == NULL) return NULL;
+
+ return evas_object_text_text_get(text->view.eo);
+}
--- /dev/null
+#ifndef E_VIEW_TEXT_H
+#define E_VIEW_TEXT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <e_view.h>
+
+typedef struct _E_View_Text E_View_Text;
+
+/**
+ * TODO
+ */
+E_View_Text *e_view_text_create(E_View_Tree *parent, int width, int height, const int color[4]);
+
+/**
+ * TODO
+ */
+E_View_Text *e_view_text_try_from_view(E_View *view);
+
+/**
+ * TODO
+ */
+E_View *e_view_text_view_get(E_View_Text *text);
+
+/**
+ * TODO
+ */
+void e_view_text_color_set(E_View_Text *text, int r, int g, int b, int a);
+
+/**
+ * TODO
+ */
+void e_view_text_color_get(E_View_Text *text, int *r, int *g, int *b, int *a);
+
+void e_view_text_size_set(E_View_Text *text, int width, int height);
+
+/**
+ * TODO
+ */
+void e_view_text_size_get(E_View_Text *text, int *width, int *height);
+
+/**
+ * TODO
+ */
+void e_view_text_resize_listener_add(E_View_Text *text, struct wl_listener *listener);
+
+/**
+ * TODO
+ */
+void e_view_text_font_set(E_View_Text *text, const char *font, int size);
+
+/**
+ * TODO
+ */
+void e_view_text_font_get(E_View_Text *text, const char **font, int *size);
+
+/**
+ * TODO
+ */
+void e_view_text_text_set(E_View_Text *text, const char *sentence);
+
+/**
+ * TODO
+ */
+const char *e_view_text_text_get(E_View_Text *text);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
$(top_builddir)/src/bin/core/e_canvas.c \
$(top_builddir)/src/bin/utils/e_map.c \
$(top_builddir)/src/bin/core/e_view_event.c \
- $(top_builddir)/src/bin/core/e_view_layout.c
+ $(top_builddir)/src/bin/core/e_view_layout.c \
+ $(top_builddir)/src/bin/core/e_view_text.c
enlightenment_tests_SOURCES = \
${enlightenment_source} \
tc-e_view_image.cpp \
tc-e_view_event.cpp \
tc-e_view_layout.cpp \
- tc-e_view_tree.cpp
+ tc-e_view_tree.cpp \
+ tc-e_view_text.cpp
enlightenment_tests_CFLAGS = \
@E_CFLAGS@ \
return evasMock->evas_object_smart_data_get(obj);
}
-void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj)
+void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj)
{
evasMock->evas_object_smart_member_add(obj, smart_obj);
}
-void evas_object_smart_member_del(Evas_Object *obj)
+void evas_object_smart_member_del(Evas_Object *obj)
{
evasMock->evas_object_smart_member_del(obj);
}
+
+Evas_Object *evas_object_text_add(Evas *e)
+{
+ return evasMock->evas_object_text_add(e);
+}
+
+void evas_object_text_font_set(Evas_Object *obj, const char *font, int size)
+{
+ evasMock->evas_object_text_font_set(obj, font, size);
+}
+
+void evas_object_text_font_get(const Evas_Object *obj, const char **font, int *size)
+{
+ evasMock->evas_object_text_font_get(obj, font, size);
+}
+
+void evas_object_text_text_set(Evas_Object *obj, const char *text)
+{
+ evasMock->evas_object_text_text_set(obj, text);
+}
+
+const char *evas_object_text_text_get(const Evas_Object *obj)
+{
+ return evasMock->evas_object_text_text_get(obj);
+}
virtual void evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled) = 0;
virtual Eina_Bool evas_object_map_enable_get(const Evas_Object *obj) = 0;
virtual void evas_object_layer_set(Evas_Object *obj, short layer) = 0;
-
- virtual Evas_Object* evas_object_rectangle_add(Evas *evas) = 0;
-
- virtual Evas_Object* evas_object_image_add(Evas *e) = 0;
+ virtual Evas_Object *evas_object_rectangle_add(Evas *e) = 0;
+ virtual Evas_Object *evas_object_image_add(Evas *e) = 0;
virtual void evas_object_image_alpha_set(Evas_Object* obj, Eina_Bool alpha) = 0;
virtual Eina_Bool evas_object_image_alpha_get(const Evas_Object* obj) = 0;
virtual Eina_Bool evas_object_image_animated_get(const Evas_Object *obj) = 0;
virtual void evas_object_pass_events_set(Evas_Object *obj, Eina_Bool set) = 0;
virtual Eina_Bool evas_object_pass_events_get(Evas_Object *obj) = 0;
virtual char *efl_gfx_filter_program_set(Evas_Object *obj, const char *code, const char *name) = 0;
-
virtual Evas_Smart *evas_smart_class_new(const Evas_Smart_Class *sc) = 0;
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_member_add(Evas_Object *obj, Evas_Object *smart_obj) = 0;
- virtual void evas_object_smart_member_del(Evas_Object *obj) = 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;
+ virtual void evas_object_text_font_set(Evas_Object *obj, const char *font, int size) = 0;
+ 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;
};
class EvasMock : public EvasWrapper {
MOCK_METHOD(void, evas_object_map_enable_set, (Evas_Object *obj, Eina_Bool enabled));
MOCK_METHOD(Eina_Bool, evas_object_map_enable_get, (const Evas_Object *obj));
MOCK_METHOD(void, evas_object_layer_set, (Evas_Object *obj, short layer));
-
MOCK_METHOD(Evas_Object *, evas_object_rectangle_add, (Evas *e));
-
MOCK_METHOD(Evas_Object *, evas_object_image_add, (Evas *e));
MOCK_METHOD(void, evas_object_image_alpha_set, (Evas_Object* obj, Eina_Bool alpha));
MOCK_METHOD(Eina_Bool, evas_object_image_alpha_get, (const Evas_Object* obj));
MOCK_METHOD(void, evas_object_pass_events_set, (Evas_Object *obj, Eina_Bool set));
MOCK_METHOD(Eina_Bool, evas_object_pass_events_get, (Evas_Object *obj));
MOCK_METHOD(char *, efl_gfx_filter_program_set, (Evas_Object *obj, const char *code, const char *name));
-
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_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));
+ MOCK_METHOD(Evas_Object *, evas_object_text_add, (Evas *e));
+ MOCK_METHOD(void, evas_object_text_font_set, (Evas_Object *obj, const char *font, int size));
+ 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));
};
extern EvasMock* evasMock;
void evas_map_direct_render_set(Evas_Map *m, Eina_Bool direct_render);
void evas_object_pass_events_set(Evas_Object *obj, Eina_Bool set);
Eina_Bool evas_object_pass_events_get(Evas_Object *obj);
+Evas_Object *evas_object_text_add(Evas *e);
+void evas_object_text_font_set(Evas_Object *obj, const char *font, int size);
+void evas_object_text_font_get(const Evas_Object *obj, const char **font, int *size);
+void evas_object_text_text_set(Evas_Object *obj, const char *text);
+const char *evas_object_text_text_get(const Evas_Object *obj);
#ifdef __cplusplus
}
--- /dev/null
+#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_text.h"
+
+using ::testing::Return;
+using ::testing::_;
+using ::testing::SetArgPointee;
+using ::testing::DoAll;
+using ::testing::AnyNumber;
+
+class EViewTextTest : 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_layer_view_tree_get(this->canvas, E_CANVAS_LAYER_BOTTOM);
+ }
+
+ void TearDown(void) override {
+ e_canvas_destroy(this->canvas);
+ free(this->evas);
+ delete evasMock;
+ }
+};
+
+TEST_F(EViewTextTest, Test_E_View_Text_Create)
+{
+ Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+ int width = 123, height = 456;
+ int color[4] = { 10, 20, 30, 40 };
+ EXPECT_CALL(*evasMock, evas_object_text_add(this->evas))
+ .Times(1)
+ .WillOnce(Return(obj));
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, width, height))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _));
+ EXPECT_CALL(*evasMock, evas_object_layer_set(_, _));
+ EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+ 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_del(_));
+ EXPECT_CALL(*evasMock, evas_object_data_del(_, _));
+ e_view_destroy(view);
+ free(obj);
+}
+
+TEST_F(EViewTextTest, Test_E_View_Text_Size_Set_Get)
+{
+ Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+ int color[4] = { 10, 20, 30, 40 };
+ ON_CALL(*evasMock, evas_object_text_add(this->evas)).WillByDefault(Return(obj));
+
+ EXPECT_CALL(*evasMock, evas_object_text_add(this->evas))
+ .Times(1);
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, 123, 456))
+ .Times(1);
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, 10, 20, 30, 40))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _));
+ EXPECT_CALL(*evasMock, evas_object_layer_set(_, _));
+ EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+ 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);
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, _, _))
+ .Times(0);
+ e_view_text_size_set(text, 123, 456);
+ int width, height;
+ e_view_text_size_get(text, &width, &height);
+ EXPECT_EQ(width,123);
+ EXPECT_EQ(height,456);
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, 456, 123))
+ .Times(1);
+ e_view_text_size_set(text, 456, 123);
+ e_view_text_size_get(text, &width, &height);
+ EXPECT_EQ(width,456);
+ EXPECT_EQ(height,123);
+
+ EXPECT_CALL(*evasMock, evas_object_del(_));
+ EXPECT_CALL(*evasMock, evas_object_data_del(_, _));
+ e_view_destroy(view);
+ free(obj);
+}
+
+
+TEST_F(EViewTextTest, Test_E_View_Text_Try_From_View)
+{
+ Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+ int width = 123, height = 456;
+ int color[4] = { 10, 20, 30, 40 };
+ EXPECT_CALL(*evasMock, evas_object_text_add(this->evas))
+ .Times(1)
+ .WillOnce(Return(obj));
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, width, height))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _));
+ EXPECT_CALL(*evasMock, evas_object_layer_set(_, _));
+ EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+ 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_del(_));
+ EXPECT_CALL(*evasMock, evas_object_data_del(_, _));
+ e_view_destroy(view);
+ free(obj);
+}
+
+TEST_F(EViewTextTest, Test_E_View_Text_Color_Set_Get)
+{
+ Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+ int width = 123, height = 456;
+ int color[4] = { 10, 20, 30, 40 };
+ EXPECT_CALL(*evasMock, evas_object_text_add(this->evas))
+ .Times(1)
+ .WillOnce(Return(obj));
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, width, height))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _));
+ EXPECT_CALL(*evasMock, evas_object_layer_set(_, _));
+ EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+ E_View_Text *text = e_view_text_create(this->tree, width, height, color);
+ E_View *view = e_view_text_view_get(text);
+
+ int red = 255;
+ int green = 128;
+ int blue = 64;
+ int alpha = 32;
+
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, red, green, blue, alpha))
+ .Times(1);
+
+ e_view_text_color_set(text, red, green, blue, alpha);
+
+ int r, g, b, a;
+ EXPECT_CALL(*evasMock, evas_object_color_get(obj, &r, &g, &b, &a))
+ .Times(1)
+ .WillOnce(DoAll(SetArgPointee<1>(red),
+ SetArgPointee<2>(green),
+ SetArgPointee<3>(blue),
+ SetArgPointee<4>(alpha)));
+
+ e_view_text_color_get(text, &r, &g, &b, &a);
+ EXPECT_EQ(red, r);
+ EXPECT_EQ(green, g);
+ EXPECT_EQ(blue, b);
+ EXPECT_EQ(alpha, a);
+
+ EXPECT_CALL(*evasMock, evas_object_del(_));
+ EXPECT_CALL(*evasMock, evas_object_data_del(_, _));
+ e_view_destroy(view);
+ free(obj);
+}
+
+TEST_F(EViewTextTest, Test_E_View_Text_Font_Set_Get)
+{
+ Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+ int width = 123, height = 456;
+ int color[4] = { 10, 20, 30, 40 };
+ EXPECT_CALL(*evasMock, evas_object_text_add(this->evas))
+ .Times(1)
+ .WillOnce(Return(obj));
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, width, height))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _));
+ EXPECT_CALL(*evasMock, evas_object_layer_set(_, _));
+ EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+ E_View_Text *text = e_view_text_create(this->tree, width, height, color);
+ E_View *view = e_view_text_view_get(text);
+
+ const char *font = "Sans";
+ int size = 10;
+
+ EXPECT_CALL(*evasMock, evas_object_text_font_set(obj, font, size))
+ .Times(1);
+
+ e_view_text_font_set(text, font, size);
+
+ const char *ret_f;
+ int ret_s;
+ EXPECT_CALL(*evasMock, evas_object_text_font_get(obj, &ret_f, &ret_s))
+ .Times(1)
+ .WillOnce(DoAll(SetArgPointee<1>(font),
+ SetArgPointee<2>(size)));
+
+ e_view_text_font_get(text, &ret_f, &ret_s);
+ EXPECT_EQ(font, ret_f);
+ EXPECT_EQ(size, ret_s);
+
+ EXPECT_CALL(*evasMock, evas_object_del(_));
+ EXPECT_CALL(*evasMock, evas_object_data_del(_, _));
+ e_view_destroy(view);
+ free(obj);
+}
+
+TEST_F(EViewTextTest, Test_E_View_Text_Text_Set_Get)
+{
+ Evas_Object *obj = (Evas_Object *)malloc(EVAS_OBJECT_SIZE);
+
+ int width = 123, height = 456;
+ int color[4] = { 10, 20, 30, 40 };
+ EXPECT_CALL(*evasMock, evas_object_text_add(this->evas))
+ .Times(1)
+ .WillOnce(Return(obj));
+
+ EXPECT_CALL(*evasMock, evas_object_resize(obj, width, height))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_color_set(obj, color[0], color[1], color[2], color[3]))
+ .Times(1);
+
+ EXPECT_CALL(*evasMock, evas_object_data_set(_, _, _));
+ EXPECT_CALL(*evasMock, evas_object_layer_set(_, _));
+ EXPECT_CALL(*evasMock, evas_object_move(_, _, _));
+ E_View_Text *text = e_view_text_create(this->tree, width, height, color);
+ E_View *view = e_view_text_view_get(text);
+
+ const char *sentence = "text sample";
+
+ EXPECT_CALL(*evasMock, evas_object_text_text_set(obj, sentence))
+ .Times(1);
+
+ e_view_text_text_set(text, sentence);
+
+ const char *ret_s;
+ EXPECT_CALL(*evasMock, evas_object_text_text_get(obj))
+ .Times(1)
+ .WillOnce(Return(sentence));
+
+ ret_s = e_view_text_text_get(text);
+ EXPECT_EQ(sentence, ret_s);
+
+ EXPECT_CALL(*evasMock, evas_object_del(_));
+ EXPECT_CALL(*evasMock, evas_object_data_del(_, _));
+ e_view_destroy(view);
+ free(obj);
+}