[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_view_send_key_event_func.cpp
1 // Copyright 2024 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "utc_blink_ewk_base.h"
6
7 class utc_blink_ewk_view_send_key_event : public utc_blink_ewk_base {
8  protected:
9   utc_blink_ewk_view_send_key_event()
10       : utc_blink_ewk_base(), space_str("space") {}
11
12   // get Evas_Event_Key_Down
13   Evas_Event_Key_Down GetKeyDown() {
14     Evas_Event_Key_Down down_event;
15     memset(&down_event, 0, sizeof(Evas_Event_Key_Down));
16     down_event.key = space_str.c_str();
17     down_event.string = space_str.c_str();
18     return down_event;
19   }
20
21   // get Evas_Event_Key_Up
22   Evas_Event_Key_Up GetKeyUp() {
23     Evas_Event_Key_Up up_event;
24     memset(&up_event, 0, sizeof(Evas_Event_Key_Up));
25     up_event.key = space_str.c_str();
26     up_event.string = space_str.c_str();
27     return up_event;
28   }
29
30  protected:
31   std::string space_str;
32 };
33
34 /**
35  * @brief Check if send key down event is succeeds with
36  * correct webview.
37  */
38 TEST_F(utc_blink_ewk_view_send_key_event, POS_SEND_KEY_DOWN_EVENT) {
39   Evas_Event_Key_Down down_event = GetKeyDown();
40   void* key_event = static_cast<void*>(&down_event);
41   Eina_Bool result =
42       ewk_view_send_key_event(GetEwkWebView(), key_event, EINA_TRUE);
43   EXPECT_EQ(EINA_TRUE, result);
44 }
45
46 /**
47  * @brief Check if send key up event is succeeds with
48  * correct webview.
49  */
50 TEST_F(utc_blink_ewk_view_send_key_event, POS_SEND_KEY_UP_EVENT) {
51   Evas_Event_Key_Up up_event = GetKeyUp();
52   void* key_event = static_cast<void*>(&up_event);
53   Eina_Bool result =
54       ewk_view_send_key_event(GetEwkWebView(), key_event, EINA_FALSE);
55   EXPECT_EQ(EINA_TRUE, result);
56 }
57
58 /**
59  * @brief Check if send key up event is fails with
60  * null webview.
61  */
62 TEST_F(utc_blink_ewk_view_send_key_event, NEG_SEND_KEY_UP_EVENT) {
63   Evas_Event_Key_Up up_event = GetKeyUp();
64   void* key_event = static_cast<void*>(&up_event);
65   Eina_Bool result = ewk_view_send_key_event(NULL, key_event, EINA_FALSE);
66   EXPECT_EQ(EINA_FALSE, result);
67 }
68
69 /**
70  * @brief Check if send key down event is fails with
71  * null webview.
72  */
73 TEST_F(utc_blink_ewk_view_send_key_event, NEG_SEND_KEY_DOWN_EVENT) {
74   Evas_Event_Key_Down down_event = GetKeyDown();
75   void* key_event = static_cast<void*>(&down_event);
76   Eina_Bool result = ewk_view_send_key_event(NULL, key_event, EINA_TRUE);
77   EXPECT_EQ(EINA_FALSE, result);
78 }
79
80 /**
81  * @brief Check if send null key up event is fails with
82  * null webview.
83  */
84 TEST_F(utc_blink_ewk_view_send_key_event, NEG_SEND_KEY_UP_EVENT_WITH_NULL) {
85   Eina_Bool result = ewk_view_send_key_event(NULL, NULL, EINA_FALSE);
86   EXPECT_EQ(EINA_FALSE, result);
87 }
88
89 /**
90  * @brief Check if send null key up event is fails with
91  * correct webview.
92  */
93 TEST_F(utc_blink_ewk_view_send_key_event, NEG_SEND_KEY_DOWN_EVENT_WITH_NULL) {
94   Eina_Bool result = ewk_view_send_key_event(GetEwkWebView(), NULL, EINA_FALSE);
95   EXPECT_EQ(EINA_FALSE, result);
96 }