Thanks, committed.

U. Artie

> -----Original Message-----
> From: wayland-devel-bounces+ullysses.a.eoff=intel....@lists.freedesktop.org 
> [mailto:wayland-devel-
> bounces+ullysses.a.eoff=intel....@lists.freedesktop.org] On Behalf Of Brian 
> Lovin
> Sent: Tuesday, June 04, 2013 9:58 AM
> To: wayland-devel@lists.freedesktop.org
> Cc: Lovin, Brian J
> Subject: [PATCH v2 wfits] test_dayselector: Add user test
> 
> Signed-off-by: Brian Lovin <brian.j.lo...@intel.com>
> ---
>  src/test/efl/test_dayselector.cpp | 112 
> +++++++++++++++++++++++++++++++++++++-
>  1 file changed, 111 insertions(+), 1 deletion(-)
> 
> diff --git a/src/test/efl/test_dayselector.cpp 
> b/src/test/efl/test_dayselector.cpp
> index 254991f..172926d 100644
> --- a/src/test/efl/test_dayselector.cpp
> +++ b/src/test/efl/test_dayselector.cpp
> @@ -21,12 +21,14 @@
>   */
> 
>  #include <Elementary.h>
> +#include <boost/lexical_cast.hpp>
>  #include <boost/bind.hpp>
> 
> +#include <string>
>  #include <vector>
> 
> -#include "window.h"
> 
> +#include "window.h"
>  #include "elmtestharness.h"
>  #include "templates.h"
> 
> @@ -149,6 +151,113 @@ private:
>       EvasObject      control_;
>  };
> 
> +class DayselectorUserTest : public ElmTestHarness
> +{
> +public:
> +     DayselectorUserTest()
> +             : ElmTestHarness::ElmTestHarness()
> +             , window_("DayselectorUserTest", "Dayselector User Test", 350, 
> 120)
> +             , dayselector_(elm_dayselector_add(window_))
> +             , rendered_(false)
> +             , changed_(false)
> +     {
> +             return;
> +     }
> +
> +     void setup()
> +     {
> +             evas_object_size_hint_weight_set(dayselector_, 
> EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
> +             elm_win_resize_object_add(window_, dayselector_);
> +
> +             evas_event_callback_add(
> +                     evas_object_evas_get(window_),
> +                     EVAS_CALLBACK_RENDER_POST,
> +                     onPostRender, this
> +             );
> +
> +             evas_object_smart_callback_add(dayselector_, 
> "dayselector,changed", onDayselectorChanged, this);
> +
> +             window_.show();
> +             dayselector_.show();
> +
> +             queueStep(boost::bind(&DayselectorUserTest::test, 
> boost::ref(*this)));
> +     }
> +
> +     void test(){
> +             YIELD_UNTIL(rendered_);
> +
> +             for(unsigned i(0); i <= 5; ++i) {
> +                     std::string dayStr("day");
> +                     dayStr += boost::lexical_cast<std::string>(i);
> +
> +                     changed_ = false;
> +                     clickDay(dayStr);
> +                     YIELD_UNTIL(changed_);
> +
> +                     Eina_Bool ret = 
> elm_dayselector_day_selected_get(dayselector_, 
> static_cast<Elm_Dayselector_Day>((i+1)));
> +                     FAIL_IF(ret == EINA_FALSE);
> +             }
> +
> +             //This is done outside the loop because ELM_DAYSELECTOR_SUN=0
> +             changed_ = false;
> +             clickDay("day6");
> +             YIELD_UNTIL(changed_);
> +             Eina_Bool ret = elm_dayselector_day_selected_get(dayselector_, 
> ELM_DAYSELECTOR_SUN);
> +             FAIL_IF(ret == EINA_FALSE);
> +
> +             //Test all are clicked.
> +             testAllSelected();
> +     }
> +
> +     void clickDay(const std::string &str)
> +     {
> +             EvasObject currentDay(elm_layout_content_get(dayselector_, 
> str.c_str()), false);
> +             Geometry gc(currentDay.getGeometry());
> +             Geometry gw(getSurfaceGeometry(window_.get_wl_surface()));
> +             Geometry gf(window_.getFramespaceGeometry());
> +             Geometry gb(dayselector_.getGeometry());
> +
> +             setGlobalPointerPosition(
> +                     gw.x + gf.x + gc.x + gc.width / 2,
> +                     gw.y + gf.y + gc.y + gc.height / 2
> +             );
> +
> +             inputKeySend(BTN_LEFT, 1);
> +             inputKeySend(BTN_LEFT, 0);
> +     }
> +
> +     void testAllSelected()
> +     {
> +             for(unsigned i(0); i <= 6; ++i) {
> +                     Elm_Dayselector_Day day = 
> static_cast<Elm_Dayselector_Day>((i));
> +                     Eina_Bool ret = 
> elm_dayselector_day_selected_get(dayselector_, day);
> +                     FAIL_IF(ret == EINA_FALSE);
> +             }
> +     }
> +
> +     static void onPostRender(void *data, Evas *e, void *info)
> +     {
> +              evas_event_callback_del(e, EVAS_CALLBACK_RENDER_POST, 
> onPostRender);
> +
> +              DayselectorUserTest *test = 
> static_cast<DayselectorUserTest*>(data);
> +              test->rendered_ = true;
> +              std::cout << "...received post render event" << std::endl;
> +     }
> +
> +     static void onDayselectorChanged(void *data, Evas *e, void *info)
> +     {
> +              DayselectorUserTest *test = 
> static_cast<DayselectorUserTest*>(data);
> +              test->changed_ = true;
> +              std::cout << "...received changed event" << std::endl;
> +     }
> +
> +private:
> +     Window          window_;
> +     EvasObject      dayselector_;
> +     bool            rendered_;
> +     bool            changed_;
> +};
> +
>  typedef ResizeObjectTest<Dayselector> DayselectorResizeTest;
>  typedef PositionObjectTest<Dayselector> DayselectorPositionTest;
>  typedef VisibleObjectTest<Dayselector> DayselectorVisibilityTest;
> @@ -159,6 +268,7 @@ WFITS_EFL_HARNESS_TEST_CASE(DayselectorVisibilityTest)
>  WFITS_EFL_HARNESS_TEST_CASE(DayselectorDayTest)
>  WFITS_EFL_HARNESS_TEST_CASE(DayselectorLocaleTest)
> 
> +WFITS_EFL_HARNESS_TEST_CASE(DayselectorUserTest)
>  } // namespace efl
>  } // namespace test
>  } // namespace wfits
> --
> 1.8.1.2
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to