#define E_TEST_WORK_TIME 3.0
#define E_TC_SIGN_WIN_INFO "usiiiiibbbiibbbbbi"
+static const char effect_started[] = "effect,started";
+static const char effect_done[] = "effect,done";
+
/* callbacks - event */
static void
_cb_resource_id(void *data,
static void _cb_evas_key_down(void * data, Evas * evas, Evas_Object * obj, void * event_info);
static void _cb_evas_key_up(void * data, Evas * evas, Evas_Object * obj, void * event_info);
+/* callbacks - smart */
+static void _cb_evas_smart_effect(void *data, Evas_Object * obj, void *event_info);
+
/* callbacks - timer */
static Eina_Bool _cb_work_timeout(void *data);
static Eina_Bool _ev_wait_timeout(void *data);
this->generateKeyEvent(this->ev.key.name, 1.0);
break;
+ case E_TC_EVENT_TYPE_EFFECT:
+ evas_object_smart_callback_add(this->ev.win, effect_started, _cb_evas_smart_effect, this);
+ evas_object_smart_callback_add(this->ev.win, effect_done, _cb_evas_smart_effect, this);
+ break;
+
default:
goto finish;
break;
if (eh2) ecore_event_handler_del(eh2);
evas_object_event_callback_del(this->ev.win, EVAS_CALLBACK_KEY_DOWN, _cb_evas_key_down);
evas_object_event_callback_del(this->ev.win, EVAS_CALLBACK_KEY_UP, _cb_evas_key_up);
+ evas_object_smart_callback_del(this->ev.win, effect_started, _cb_evas_smart_effect);
+ evas_object_smart_callback_del(this->ev.win, effect_done, _cb_evas_smart_effect);
res = (ev.response == ev.request);
EINA_SAFETY_ON_FALSE_GOTO(res, finish);
}
}
+static void
+_cb_evas_smart_effect(void *data, Evas_Object * obj, void *event_info)
+{
+ etRunner *runner = (etRunner *)data;
+ if (runner->ev.win == obj)
+ runner->ev.response = runner->ev.request;
+ elm_exit();
+}
+
static Eina_Bool
_cb_key_delay_timer(void *data)
{
}
etRunner::get().freeWinInfoList(list);
}
+
+TEST_F(etTestSplash, splash_effect_startend)
+{
+ etWin *tw2 = NULL;
+ Eina_List *list = NULL, *l = NULL;
+ Eina_Bool ret = EINA_FALSE;
+
+ initTC((char*)path_img, SPLASH_TYPE_IMG);
+ etRunner::get().setSplashOwner();
+
+ tw->updateGeometry();
+ tw->show();
+
+ etRunner::get().ev.win = tw->elm_win;
+ ret = etRunner::get().waitEvent(E_TC_EVENT_TYPE_EFFECT);
+ ASSERT_TRUE(ret);
+
+ // Expected focus res:
+ list = etRunner::get().getWinInfoList();
+ ASSERT_TRUE(list != NULL);
+
+ EINA_LIST_CAST_FOREACH(list, l, tw2, etWin*)
+ {
+ if (tw->native_win == tw2->native_win)
+ ASSERT_TRUE(tw2->Focus.obj);
+ if (!strncmp(tw2->name, "Launchscreen", strlen(tw2->name)))
+ ASSERT_NE(tw->native_win, tw2->native_win);
+ }
+ etRunner::get().freeWinInfoList(list);
+}
+