e_test_event: fix effect smart callback success condition 33/194133/2
authorJuyeon Lee <juyeonne.lee@samsung.com>
Thu, 29 Nov 2018 08:24:58 +0000 (17:24 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Thu, 29 Nov 2018 08:28:30 +0000 (17:28 +0900)
Change-Id: I6045be2352fa8b6d5bf09f5fde65c210854f910c

src/e_test_event.cpp
src/e_test_util.h

index 87729b7..60ad71e 100644 (file)
@@ -1558,9 +1558,11 @@ _cb_evas_smart_cb_effect_done(void *data, Evas_Object * obj, void *event_info)
    etRunner *runner = (etRunner *)data;
    if (runner && runner->ev.win == obj)
      {
-        if(runner->ev.effect.state_smcb  == E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED)
+        runner->ev.effect.state_smcb |= E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE;
+
+        if((runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED) &&
+           (runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE))
           {
-             runner->ev.effect.state_smcb = E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE;
              runner->ev.response = runner->ev.request;
              elm_exit();
           }
@@ -1573,7 +1575,15 @@ _cb_evas_smart_cb_launch_done(void *data, Evas_Object * obj, void *event_info)
    etRunner *runner = (etRunner *)data;
    if (runner && runner->ev.win == obj)
      {
-        runner->ev.effect.state_smcb = E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE;
+        runner->ev.effect.state_smcb  |= E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE;
+
+        if((runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED) &&
+           (runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE) &&
+           (runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE))
+          {
+             runner->ev.response = runner->ev.request;
+             elm_exit();
+          }
      }
 }
 
index b412ff3..a922ce3 100644 (file)
@@ -145,9 +145,9 @@ typedef enum _E_Visibility
 typedef enum _E_TC_EVAS_SMART_CB_STATE
 {
    E_TC_EVAS_SMART_CB_STATE_NONE = 0,
-   E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED,  // Server -> Client [PID:xxx] tizen_effect@19.start(wl_surface@41, 1)
-   E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE,     // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 1)
-   E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE      // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 4)
+   E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED  = (1 << 0),  // Server -> Client [PID:xxx] tizen_effect@19.start(wl_surface@41, 1)
+   E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE     = (1 << 1),  // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 1)
+   E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE     = (1 << 2)   // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 4)
 } E_TC_EFFECT_STATE;
 
 typedef enum _E_TC_Window_Effect_type