3 #include "e_test_event.h"
4 #include "e_test_base.h"
5 #include "e_test_efl_util.h"
11 class etTestCnP : public ::etTCBase
18 std::string testCaseName;
23 Evas_Object *en_src = NULL;
24 Evas_Object *en_dst = NULL;
32 const ::testing::TestInfo *const test_info = ::testing::UnitTest::GetInstance()->current_test_info();
34 tw_src = initNormalWin("TCWin_Source", 0, 0, CNP_INIT_W, CNP_INIT_H, E_TC_WIN_COLOR_YELLOW);
36 ASSERT_FOCUS_IN(tw_src);
37 ASSERT_TRUE(tw_src != NULL) << "failed to initiation window";
39 elm_win_autodel_set(tw_src->getElmWin(), EINA_TRUE);
41 gd = elm_grid_add(tw_src->getElmWin());
42 elm_grid_size_set(gd, 100, 100);
43 evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
44 elm_win_resize_object_add(tw_src->getElmWin(), gd);
47 Evas_Object *en = elm_entry_add(tw_src->getElmWin());
48 elm_entry_scrollable_set(en, EINA_TRUE);
49 elm_entry_line_wrap_set(en, ELM_WRAP_CHAR);
50 evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
51 evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
52 elm_grid_pack(gd, en, 0, 0, 100, 100);
56 tw_dst = initNormalWin("TCWin_Source", 0, CNP_INIT_H, CNP_INIT_W, CNP_INIT_H, E_TC_WIN_COLOR_GREEN);
58 ASSERT_FOCUS_IN(tw_dst);
59 ASSERT_TRUE(tw_dst != NULL) << "failed to initiation window";
61 elm_win_autodel_set(tw_dst->getElmWin(), EINA_TRUE);
63 gd = elm_grid_add(tw_dst->getElmWin());
64 elm_grid_size_set(gd, 100, 100);
65 evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
66 elm_win_resize_object_add(tw_dst->getElmWin(), gd);
69 Evas_Object *en2 = elm_entry_add(tw_dst->getElmWin());
70 elm_entry_scrollable_set(en2, EINA_TRUE);
71 elm_entry_line_wrap_set(en2, ELM_WRAP_CHAR);
72 evas_object_size_hint_weight_set(en2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
73 evas_object_size_hint_align_set(en2, EVAS_HINT_FILL, EVAS_HINT_FILL);
74 elm_grid_pack(gd, en2, 0, 0, 100, 100);
75 evas_object_show(en2);
78 testCaseName = test_info->test_case_name();
79 testName = test_info->name();
83 _selection_get(void *data, Evas_Object *obj EINA_UNUSED, Elm_Selection_Data *ev)
85 Evas_Object *en = (Evas_Object *)data;
87 if (ev->format == ELM_SEL_FORMAT_TEXT)
91 stripstr = (char *)malloc(ev->len + 1);
92 strncpy(stripstr, (char *)ev->data, ev->len);
93 stripstr[ev->len] = '\0';
94 elm_entry_entry_insert(en, stripstr);
101 TEST_F(etTestCnP, copypaste_basic)
104 const char *src_txt = "CnP test src context.";
107 elm_object_text_set(en_src, src_txt);
108 elm_cnp_selection_set(elm_object_parent_widget_get(en_src), ELM_SEL_TYPE_CLIPBOARD,
109 ELM_SEL_FORMAT_TEXT, src_txt, strlen(src_txt));
111 etRunner::get().work(0.5);
113 elm_cnp_selection_get(en_dst, ELM_SEL_TYPE_CLIPBOARD, ELM_SEL_FORMAT_TEXT,
114 _selection_get, en_dst);
116 etRunner::get().work(1.0);
118 dst_txt = elm_object_text_get(en_dst);
120 ASSERT_EQ(0, strcmp(src_txt, dst_txt));
122 ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);