}
};
-class EcoreIMFContextWinFocusTest : public testing::Test {
- public:
- const char *ctx_id = nullptr;
- Evas *evas = nullptr;
- Ecore_Evas *ee = nullptr;
- Ecore_IMF_Context *ctx = nullptr;
-
- virtual void SetUp() {
- setenv("ECORE_IMF_MODULE", "wayland", 1);
- setenv("WAYLAND_DISPLAY", "wayland-0", 1);
- setenv("XDG_RUNTIME_DIR", "/run", 1);
-
- callback_called = false;
- int ret;
-
- ret = ecore_evas_init();
- ASSERT_NE(ret, 0);
-
- ret = ecore_imf_init();
- ASSERT_NE(ret, 0);
-
- ctx_id = ecore_imf_context_default_id_get();
- ASSERT_NE(ctx_id, nullptr);
-
- ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
- ASSERT_NE(ee, nullptr);
-
- evas = ecore_evas_get(ee);
- ASSERT_NE(evas, nullptr);
-
- callback_called = false;
- input_panel_state = ECORE_IMF_INPUT_PANEL_STATE_HIDE;
-
- ctx = ecore_imf_context_add(ctx_id);
- ASSERT_NE(ctx, nullptr);
-
- ecore_evas_show(ee);
-
- evas_focus_in(evas);
-
- ecore_imf_context_client_canvas_set(ctx, evas);
- }
-
- virtual void TearDown() {
- if (ee)
- ecore_evas_free(ee);
-
- if (ctx) {
- ecore_imf_context_del(ctx);
- ctx = NULL;
- }
-
- ecore_imf_shutdown();
- ecore_evas_shutdown();
- }
-};
-
static Eina_Bool _timeout_timer_cb(void *data)
{
printf("timeout\n");
EXPECT_EQ(ctx, nullptr);
}
-TEST_F(EcoreIMFContextWinFocusTest, utc_ime_show_in_canvas)
+TEST_F(EcoreIMFContextWinTest, utc_ime_show_in_canvas)
{
+ callback_called = false;
+ input_panel_state = ECORE_IMF_INPUT_PANEL_STATE_HIDE;
+
+ Ecore_IMF_Context *ctx = ecore_imf_context_add(ctx_id);
+ ASSERT_NE(ctx, nullptr);
+
+ ecore_evas_show(ee);
+
+ evas_focus_in(evas);
+
+ ecore_imf_context_client_canvas_set(ctx, evas);
ecore_imf_context_focus_in(ctx);
ecore_imf_context_input_panel_event_callback_add(ctx, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_state_cb, NULL);
EXPECT_EQ(input_panel_state, ECORE_IMF_INPUT_PANEL_STATE_SHOW);
}
-TEST_F(EcoreIMFContextWinFocusTest, utc_ime_disable)
+TEST_F(EcoreIMFContextWinTest, utc_ime_disable_show)
{
+ callback_called = false;
+ input_panel_state = ECORE_IMF_INPUT_PANEL_STATE_HIDE;
+
+ Ecore_IMF_Context *ctx = ecore_imf_context_add(ctx_id);
+ ASSERT_NE(ctx, nullptr);
+
+ ecore_evas_show(ee);
+
+ evas_focus_in(evas);
+
+ ecore_imf_context_client_canvas_set(ctx, evas);
ecore_imf_context_input_panel_enabled_set(ctx, EINA_FALSE);
ecore_imf_context_focus_in(ctx);
EXPECT_EQ(input_panel_state, ECORE_IMF_INPUT_PANEL_STATE_HIDE);
}
-TEST_F(EcoreIMFContextWinFocusTest, utc_ime_show_in_client_window)
+TEST_F(EcoreIMFContextWinTest, utc_ime_show_in_client_window)
{
+ callback_called = false;
+ input_panel_state = ECORE_IMF_INPUT_PANEL_STATE_HIDE;
+
+ Ecore_IMF_Context *ctx = ecore_imf_context_add(ctx_id);
+ ASSERT_NE(ctx, nullptr);
+
+ ecore_evas_show(ee);
+
+ ecore_imf_context_client_window_set(ctx, (void *)ecore_evas_window_get(ecore_evas_ecore_evas_get(evas)));
ecore_imf_context_focus_in(ctx);
ecore_imf_context_input_panel_event_callback_add(ctx, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_state_cb, NULL);