EFL: Aggressive refactor with (true) templates
authorJoe Konno <joe.konno@intel.com>
Tue, 24 Jul 2012 00:37:33 +0000 (17:37 -0700)
committerJoe Konno <joe.konno@intel.com>
Tue, 24 Jul 2012 00:37:33 +0000 (17:37 -0700)
Signed-off-by: Joe Konno <joe.konno@intel.com>
12 files changed:
src/efl/elmtestharness.h
src/efl/macros.h [deleted file]
src/efl/templates.h [new file with mode: 0644]
src/efl/test_actionslider.cpp
src/efl/test_bubble.cpp
src/efl/test_button.cpp
src/efl/test_check.cpp
src/efl/test_clock.cpp
src/efl/test_dayselector.cpp
src/efl/test_fileselector.cpp
src/efl/test_fileselector_button.cpp
src/efl/test_fileselector_entry.cpp

index 087055a..b854be4 100644 (file)
@@ -4,6 +4,7 @@
 #include <boost/function.hpp>
 #include <deque>
 
+#include <Elementary.h>
 #include "application.h"
 
 class ElmTestHarness
@@ -76,37 +77,5 @@ BOOST_AUTO_TEST_CASE(Harness##_shm_engine) \
 //     Harness().run(); \
 //} \
 
-#define EFL_CHECK_SIZE(obj, w, h)\
-               queueCallback( \
-                       ModifyCheckCallback( \
-                               boost::bind(&EvasObject::setSize, boost::ref(obj), w, h), \
-                               boost::bind(&EvasObject::checkSize, boost::ref(obj), w, h) \
-                       ) \
-               )
-
-#define EFL_CHECK_POSITION(obj, x, y) \
-               queueCallback( \
-                       ModifyCheckCallback( \
-                               boost::bind(&EvasObject::setPosition, boost::ref(obj), x, y), \
-                               boost::bind(&EvasObject::checkPosition, boost::ref(obj), x, y) \
-                       ) \
-               )
-
-#define EFL_CHECK_SHOW(obj) \
-               queueCallback( \
-                       ModifyCheckCallback( \
-                               boost::bind(&EvasObject::show, boost::ref(obj)), \
-                               boost::bind(&EvasObject::checkVisible, boost::ref(obj), EINA_TRUE) \
-                       ) \
-               )
-
-#define EFL_CHECK_HIDE(obj) \
-               queueCallback( \
-                       ModifyCheckCallback( \
-                               boost::bind(&EvasObject::hide, boost::ref(obj)), \
-                               boost::bind(&EvasObject::checkHidden, boost::ref(obj), EINA_TRUE) \
-                       ) \
-               )
-
 #endif
 
diff --git a/src/efl/macros.h b/src/efl/macros.h
deleted file mode 100644 (file)
index 7f7905b..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef __WAYLAND_EFL_TEMPLATES_H__
-#define __WAYLAND_EFL_TEMPLATES_H__
-
-#include <Elementary.h>
-#include <boost/bind.hpp>
-
-#include "evasobject.h"
-#include "window.h"
-#include "elmtestharness.h"
-#include "application.h"
-
-
-
-
-#define EFL_RESIZE_TEST(_suite, _obj, _w1, _h1, _w2, _h2) \
-class _suite ## ResizeTest : public ElmTestHarness \
-{ \
-public: \
-       \
-       _suite ## ResizeTest() \
-               : ElmTestHarness::ElmTestHarness() \
-               , window_(#_suite "ResizeTest", #_suite "Resize Test") \
-               , control_(elm_ ## _obj ## _add(window_)) \
-       { \
-               return; \
-       } \
-       \
-       void setup() \
-       { \
-               window_.show(); \
-               control_.show(); \
-               \
-               EFL_CHECK_SIZE(control_, _w1, _h1); \
-               EFL_CHECK_SIZE(control_, _w2, _h2); \
-       } \
-       \
-private: \
-       Window          window_; \
-       EvasObject      control_; \
-}; \
-BOOST_AUTO_TEST_SUITE(EFL) \
-       BOOST_AUTO_TEST_SUITE(_suite) \
-               WAYLAND_ELM_HARNESS_TEST_CASE(_suite ## ResizeTest) \
-       BOOST_AUTO_TEST_SUITE_END() \
-BOOST_AUTO_TEST_SUITE_END() \
-
-
-
-#define EFL_POSITION_TEST(_suite, _obj, _x1, _y1, _x2, _y2) \
-class _suite ## PositionTest : public ElmTestHarness \
-{ \
-public: \
-       \
-       _suite ## PositionTest() \
-               : ElmTestHarness::ElmTestHarness() \
-               , window_(#_suite "PositionTest", #_suite "Position Test") \
-               , control_(elm_ ## _obj ## _add(window_)) \
-       { \
-               return; \
-       } \
-       \
-       void setup() \
-       { \
-               window_.show(); \
-               control_.show(); \
-               \
-               EFL_CHECK_POSITION(control_, _x1, _x1); \
-               EFL_CHECK_POSITION(control_, _x2, _x2); \
-       } \
-       \
-private: \
-       Window          window_; \
-       EvasObject      control_; \
-}; \
-BOOST_AUTO_TEST_SUITE(EFL) \
-       BOOST_AUTO_TEST_SUITE(_suite) \
-               WAYLAND_ELM_HARNESS_TEST_CASE(_suite ## PositionTest) \
-       BOOST_AUTO_TEST_SUITE_END() \
-BOOST_AUTO_TEST_SUITE_END() \
-
-
-
-#define EFL_VISIBILITY_TEST(_suite, _obj) \
-class _suite ## VisibilityTest : public ElmTestHarness \
-{ \
-public: \
-       \
-       _suite ## VisibilityTest() \
-               : ElmTestHarness::ElmTestHarness() \
-               , window_(#_suite "VisibilityTest", #_suite "Visibility Test") \
-               , control_(elm_ ## _obj ## _add(window_)) \
-       { \
-               return; \
-       } \
-       \
-       void setup() \
-       { \
-               window_.show(); \
-               \
-               EFL_CHECK_SHOW(control_); \
-               EFL_CHECK_HIDE(control_); \
-       } \
-       \
-private: \
-       Window          window_; \
-       EvasObject      control_; \
-}; \
-BOOST_AUTO_TEST_SUITE(EFL) \
-       BOOST_AUTO_TEST_SUITE(_suite) \
-               WAYLAND_ELM_HARNESS_TEST_CASE(_suite ## VisibilityTest) \
-       BOOST_AUTO_TEST_SUITE_END() \
-BOOST_AUTO_TEST_SUITE_END() \
-
-
-/* XXX: For now, keep it regular-- when BASIC_TESTS is uncommented and working,
- * XXX: makes it easier to replace across files
- */
-// Basic suite START
-//EFL_RESIZE_TEST(suite, obj, 300, 200, 200, 100)
-//EFL_POSITION_TEST(suite, obj, 100, 50, 150, 100)
-//EFL_VISIBILITY_TEST(suite, obj)
-// Basic suite END
-
-
-/* XXX
-#define EFL_BASIC_TESTS(suite, obj) \
-       EFL_RESIZE_TEST(suite, obj, 300, 200, 200, 100) \
-       EFL_POSITION_TEST(suite, obj, 100, 50, 150, 100) \
-       EFL_VISIBILITY_TEST(suite, obj) \
-*/
-
-
-#endif
-
diff --git a/src/efl/templates.h b/src/efl/templates.h
new file mode 100644 (file)
index 0000000..869cafa
--- /dev/null
@@ -0,0 +1,233 @@
+#ifndef __WAYLAND_EFL_TEMPLATES_H__
+#define __WAYLAND_EFL_TEMPLATES_H__
+
+#include <boost/bind.hpp>
+#include <boost/type_traits.hpp>
+#include <boost/static_assert.hpp>
+
+#include <vector>
+
+#include "elmtestharness.h"
+#include "evasobject.h"
+#include "window.h"
+
+template <typename T>
+class ResizeObjectTest : public ElmTestHarness
+{
+       BOOST_STATIC_ASSERT( (boost::is_base_of<EvasObject, T>::value) );
+
+public:
+       ResizeObjectTest()
+                       : ElmTestHarness::ElmTestHarness()
+                       , window_("ResizeObjectTest", "Resize Test")
+                       , object_(window_)
+       {
+               width_.push_back(300);
+               width_.push_back(200);
+               width_.push_back(101);
+
+               height_.push_back(200);
+               height_.push_back(100);
+               height_.push_back(51);
+               return;
+       }
+
+       void setup()
+       {
+               std::vector<int>::iterator width_it, height_it;
+               for (width_it = width_.begin(); width_it != width_.end(); width_it++)
+                       for (height_it = height_.begin(); height_it != height_.end(); height_it++)
+               {
+                       queueCallback(
+                               ModifyCheckCallback(
+                                       boost::bind(&T::setSize, boost::ref(object_), *width_it, *height_it),
+                                       boost::bind(&T::checkSize, boost::ref(object_), *width_it, *height_it)
+                               )
+                       );
+               }
+       }
+
+private:
+       Window                  window_;
+       T                       object_;
+       std::vector<int>        width_, height_;
+};
+
+template <typename T>
+class PositionObjectTest : public ElmTestHarness
+{
+       BOOST_STATIC_ASSERT( (boost::is_base_of<EvasObject, T>::value) );
+
+public:
+       PositionObjectTest()
+                       : ElmTestHarness::ElmTestHarness()
+                       , window_("PositionObjectTest", "Position Test")
+                       , object_(window_)
+       {
+               x_.push_back(50);
+               x_.push_back(100);
+               x_.push_back(151);
+
+               y_.push_back(10);
+               y_.push_back(50);
+               y_.push_back(101);
+               return;
+       }
+
+       void setup()
+       {
+               std::vector<int>::iterator x_it, y_it;
+               for (x_it = x_.begin(); x_it != x_.end(); x_it++)
+                       for (y_it = y_.begin(); y_it != y_.end(); y_it++)
+               {
+                       queueCallback(
+                               ModifyCheckCallback(
+                                       boost::bind(&T::setPosition, boost::ref(object_), *x_it, *y_it),
+                                       boost::bind(&T::checkPosition, boost::ref(object_), *x_it, *y_it)
+                               )
+                       );
+               }
+       }
+
+private:
+       Window                  window_;
+       T                       object_;
+       std::vector<int>        x_, y_;
+};
+
+
+template <typename T>
+class VisibleObjectTest : public ElmTestHarness
+{
+       BOOST_STATIC_ASSERT( (boost::is_base_of<EvasObject, T>::value) );
+
+public:
+       VisibleObjectTest()
+                       : ElmTestHarness::ElmTestHarness()
+                       , window_("VisibleObjectTest", "Visibility Test")
+                       , object_(window_)
+       {
+               return;
+       }
+
+       void setup()
+       {
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::show, boost::ref(object_)),
+                               boost::bind(&T::checkVisible, boost::ref(object_), EINA_TRUE)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::hide, boost::ref(object_)),
+                               boost::bind(&T::checkHidden, boost::ref(object_), EINA_TRUE)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::show, boost::ref(object_)),
+                               boost::bind(&T::checkHidden, boost::ref(object_), EINA_TRUE)
+                       )
+               );
+       }
+
+private:
+       Window  window_;
+       T       object_;
+};
+
+/* TODO: evasobject methods for color set/get/check
+template <typename T, int Tr1, int Tg1, int Tb1, int Ta1, int Tr2, int Tg2, int Tb2, int Ta2>
+class ColorObjectTest : public ElmTestHarness
+{
+       BOOST_STATIC_ASSERT( (boost::is_base_of<EvasObject, T>::value) );
+
+public:
+       ColorObjectTest()
+                       : ElmTestHarness::ElmTestHarness()
+                       , window_("ColorObjectTest", "Color Test")
+                       , object_(window_)
+       {
+               return;
+       }
+
+       void setup()
+       {
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::setColor, boost::ref(object_), Tr1, Tg1, Tb1, Ta1),
+                               boost::bind(&T::checkColor, boost::ref(object_), Tr1, Tg1, Tb1, Ta1)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::setColor, boost::ref(object_), Tr2, Tg2, Tb2, Ta2),
+                               boost::bind(&T::checkColor, boost::ref(object_), Tr2, Tg2, Tb2, Ta2)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::setColor, boost::ref(object_), Tr1, Tg1, Tb1, Ta1),
+                               boost::bind(&T::checkColor, boost::ref(object_), Tr1, Tg1, Tb1, Ta1)
+                       )
+               );
+       }
+
+private:
+       Window  window_;
+       T       object_;
+};
+*/
+
+/* TODO: evasobject methods for raise/lower set/get/check
+template <typename T>
+class RaiseLowerObjectTest : public ElmTestHarness
+{
+       BOOST_STATIC_ASSERT( (boost::is_base_of<EvasObject, T>::value) );
+
+public:
+       RaiseLowerObjectTest()
+                       : ElmTestHarness::ElmTestHarness()
+                       , window_("RaiseLowerObjectTest", "RaiseLower Test")
+                       , object_(window_)
+       {
+               return;
+       }
+
+       void setup()
+       {
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::raise, boost::ref(object_)),
+                               boost::bind(&T::checkRisen, boost::ref(object_), EINA_TRUE)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::lower, boost::ref(object_)),
+                               boost::bind(&T::checkLowered, boost::ref(object_), EINA_TRUE)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(&T::raise, boost::ref(object_)),
+                               boost::bind(&T::checkRisen, boost::ref(object_), EINA_TRUE)
+                       )
+               );
+       }
+
+private:
+       Window  window_;
+       T       object_;
+};
+*/
+
+#endif
+
index 89d19d9..f589e90 100644 (file)
@@ -1,15 +1,18 @@
 #include <vector>
 
-#include "macros.h"
+#include "templates.h"
 
 using std::vector;
 
-
-// Basic suite START
-EFL_RESIZE_TEST(Actionslider, actionslider, 300, 200, 200, 100)
-EFL_POSITION_TEST(Actionslider, actionslider, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(Actionslider, actionslider)
-// Basic suite END
+class Actionslider : public EvasObject
+{
+public:
+       Actionslider(EvasObject &parent)
+               : EvasObject::EvasObject(elm_actionslider_add(parent))
+       {
+               return;
+       }
+};
 
 class ActionsliderIndicatorTest : public ElmTestHarness
 {
@@ -18,7 +21,7 @@ public:
        ActionsliderIndicatorTest()
                : ElmTestHarness::ElmTestHarness()
                , window_("ActionsliderIndicatorTest", "Actionslider Position Test")
-               , control_(elm_actionslider_add(window_))
+               , control_(window_)
        {
                positions_.push_back(ELM_ACTIONSLIDER_LEFT);
                positions_.push_back(ELM_ACTIONSLIDER_CENTER);
@@ -60,14 +63,21 @@ public:
 
 private:
        Window                          window_;
-       EvasObject                      control_;
+       Actionslider                    control_;
        vector<Elm_Actionslider_Pos>    positions_;
 };
 
+typedef ResizeObjectTest<Actionslider> ActionsliderResizeTest;
+typedef PositionObjectTest<Actionslider> ActionsliderPositionTest;
+typedef VisibleObjectTest<Actionslider> ActionsliderVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(ActionSlider)
-       
+
+               WAYLAND_ELM_HARNESS_TEST_CASE(ActionsliderResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(ActionsliderPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(ActionsliderVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(ActionsliderIndicatorTest)
        
        BOOST_AUTO_TEST_SUITE_END()
index 23b9c25..cbe1d26 100644 (file)
@@ -7,16 +7,20 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
 using std::vector;
 using std::string;
 
-// Basic suite START
-EFL_RESIZE_TEST(Bubble, bubble, 300, 200, 200, 100)
-EFL_POSITION_TEST(Bubble, bubble, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(Bubble, bubble)
-// Basic suite END
+class Bubble : public EvasObject
+{
+public:
+       Bubble(EvasObject &parent)
+               : EvasObject::EvasObject(elm_bubble_add(parent))
+       {
+               return;
+       }
+};
 
 class BubbleCornerTest : public ElmTestHarness
 {
@@ -112,10 +116,18 @@ private:
        vector<string>  sentinels_;
 };
 
+
+typedef ResizeObjectTest<Bubble> BubbleResizeTest;
+typedef PositionObjectTest<Bubble> BubblePositionTest;
+typedef VisibleObjectTest<Bubble> BubbleVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(Bubble)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(BubbleResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(BubblePositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(BubbleVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(BubbleCornerTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(BubbleTextTest)
        
index 3b5c286..8b7815c 100644 (file)
@@ -1,10 +1,27 @@
-#include "macros.h"
+#include "templates.h"
 
-// Basic suite START
-EFL_RESIZE_TEST(Button, button, 300, 200, 200, 100)
+class Button : public EvasObject
+{
+public:
+       Button(EvasObject &parent)
+               : EvasObject::EvasObject(elm_button_add(parent))
+       {
+               return;
+       }
+};
 
-EFL_POSITION_TEST(Button, button, 100, 50, 150, 100)
+typedef ResizeObjectTest<Button> ButtonResizeTest;
+typedef PositionObjectTest<Button> ButtonPositionTest;
+typedef VisibleObjectTest<Button> ButtonVisibilityTest;
 
-EFL_VISIBILITY_TEST(Button, button)
-// Basic suite END
+BOOST_AUTO_TEST_SUITE(EFL)
 
+       BOOST_AUTO_TEST_SUITE(Button)
+
+               WAYLAND_ELM_HARNESS_TEST_CASE(ButtonResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(ButtonPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(ButtonVisibilityTest)
+       
+       BOOST_AUTO_TEST_SUITE_END()
+
+BOOST_AUTO_TEST_SUITE_END()
index eff66ea..73b9120 100644 (file)
@@ -4,13 +4,17 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
-// Basic suite START
-EFL_RESIZE_TEST(Check, check, 300, 200, 200, 100)
-EFL_POSITION_TEST(Check, check, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(Check, check)
-// Basic suite END
+class Check : public EvasObject
+{
+public:
+       Check(EvasObject &parent)
+               : EvasObject::EvasObject(elm_check_add(parent))
+       {
+               return;
+       }
+};
 
 class CheckStateTest : public ElmTestHarness
 {
@@ -111,10 +115,17 @@ private:
        EvasObject      check_;
 };
 
+typedef ResizeObjectTest<Check> CheckResizeTest;
+typedef PositionObjectTest<Check> CheckPositionTest;
+typedef VisibleObjectTest<Check> CheckVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(Check)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(CheckResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(CheckPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(CheckVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(CheckStateTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(CheckTextTest)
        
index 81bb3a6..e2ba0a5 100644 (file)
@@ -4,14 +4,17 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
-
-// Basic suite START
-EFL_RESIZE_TEST(Clock, clock, 300, 200, 200, 100)
-EFL_POSITION_TEST(Clock, clock, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(Clock, clock)
-// Basic suite END
+class Clock : public EvasObject
+{
+public:
+       Clock(EvasObject &parent)
+               : EvasObject::EvasObject(elm_clock_add(parent))
+       {
+               return;
+       }
+};
 
 class ClockTimeTest : public ElmTestHarness
 {
@@ -201,10 +204,17 @@ private:
        EvasObject      clock_;
 };
 
+typedef ResizeObjectTest<Clock> ClockResizeTest;
+typedef PositionObjectTest<Clock> ClockPositionTest;
+typedef VisibleObjectTest<Clock> ClockVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(Clock)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(ClockResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(ClockPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(ClockVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(ClockTimeTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(ClockEditionTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(ClockDigitEditionTest)
index 1f17984..3c71476 100644 (file)
@@ -6,15 +6,19 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
 using std::vector;
 
-// Basic suite START
-EFL_RESIZE_TEST(DaySelector, dayselector, 300, 200, 200, 100)
-EFL_POSITION_TEST(DaySelector, dayselector, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(DaySelector, dayselector)
-// Basic suite END
+class Dayselector : public EvasObject
+{
+public:
+       Dayselector(EvasObject &parent)
+               : EvasObject::EvasObject(elm_dayselector_add(parent))
+       {
+               return;
+       }
+};
 
 class DayselectorDayTest : public ElmTestHarness
 {
@@ -152,10 +156,17 @@ private:
        EvasObject      control_;
 };
 
+typedef ResizeObjectTest<Dayselector> DayselectorResizeTest;
+typedef PositionObjectTest<Dayselector> DayselectorPositionTest;
+typedef VisibleObjectTest<Dayselector> DayselectorVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(DaySelector)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(DayselectorResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(DayselectorPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(DayselectorVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(DayselectorDayTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(DayselectorLocaleTest)
        
index 21013dd..bd11beb 100644 (file)
@@ -6,15 +6,19 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
 using std::vector;
 
-// Basic suite START
-EFL_RESIZE_TEST(Fileselector, fileselector, 300, 200, 200, 100)
-EFL_POSITION_TEST(Fileselector, fileselector, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(Fileselector, fileselector)
-// Basic suite END
+class Fileselector : public EvasObject
+{
+public:
+       Fileselector(EvasObject &parent)
+               : EvasObject::EvasObject(elm_fileselector_add(parent))
+       {
+               return;
+       }
+};
 
 // TODO: Fileselector controls all share a lot of commonality, so an
 // TODO: aggressive refactor with cpp macros could be leveraged.
@@ -255,10 +259,17 @@ private:
        vector<Eina_Bool>       states_;
 };
 
+typedef ResizeObjectTest<Fileselector> FileselectorResizeTest;
+typedef PositionObjectTest<Fileselector> FileselectorPositionTest;
+typedef VisibleObjectTest<Fileselector> FileselectorVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(FileSelector)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorExpandableTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorFolderOnlyTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorIsSaveTest)
index f3d921a..1d0037e 100644 (file)
@@ -6,15 +6,19 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
 using std::vector;
 
-// Basic suite START
-EFL_RESIZE_TEST(FileselectorButton, fileselector_button, 300, 200, 200, 100)
-EFL_POSITION_TEST(FileselectorButton, fileselector_button, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(FileselectorButton, fileselector_button)
-// Basic suite END
+class FileselectorButton : public EvasObject
+{
+public:
+       FileselectorButton(EvasObject &parent)
+               : EvasObject::EvasObject(elm_fileselector_button_add(parent))
+       {
+               return;
+       }
+};
 
 class FileselectorButtonExpandableTest : public ElmTestHarness
 {
@@ -204,10 +208,17 @@ private:
        vector<Eina_Bool>       states_;
 };
 
+typedef ResizeObjectTest<FileselectorButton> FileselectorButtonResizeTest;
+typedef PositionObjectTest<FileselectorButton> FileselectorButtonPositionTest;
+typedef VisibleObjectTest<FileselectorButton> FileselectorButtonVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(FileSelectorButton)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorButtonResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorButtonPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorButtonVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorButtonExpandableTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorButtonFolderOnlyTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorButtonIsSaveTest)
index c4ef3d8..86ab2dc 100644 (file)
@@ -6,19 +6,23 @@
 #include "window.h"
 
 #include "elmtestharness.h"
-#include "macros.h"
+#include "templates.h"
 
 using std::vector;
 
-// Basic suite START
-EFL_RESIZE_TEST(FileselectorEntry, fileselector_entry, 300, 200, 200, 100)
-EFL_POSITION_TEST(FileselectorEntry, fileselector_entry, 100, 50, 150, 100)
-EFL_VISIBILITY_TEST(FileselectorEntry, fileselector_entry)
-// Basic suite END
-
 // TODO: FileselectorEntry and FileselectorButton share a lot of commonality
 // TODO: so an aggressive refactor with cpp macros could be leveraged.
 
+class FileselectorEntry : public EvasObject
+{
+public:
+       FileselectorEntry(EvasObject &parent)
+               : EvasObject::EvasObject(elm_fileselector_entry_add(parent))
+       {
+               return;
+       }
+};
+
 class FileselectorEntryExpandableTest : public ElmTestHarness
 {
 public:
@@ -207,10 +211,17 @@ private:
        vector<Eina_Bool>       states_;
 };
 
+typedef ResizeObjectTest<FileselectorEntry> FileselectorEntryResizeTest;
+typedef PositionObjectTest<FileselectorEntry> FileselectorEntryPositionTest;
+typedef VisibleObjectTest<FileselectorEntry> FileselectorEntryVisibilityTest;
+
 BOOST_AUTO_TEST_SUITE(EFL)
 
        BOOST_AUTO_TEST_SUITE(FileSelectorEntry)
        
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorEntryResizeTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorEntryPositionTest)
+               WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorEntryVisibilityTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorEntryExpandableTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorEntryFolderOnlyTest)
                WAYLAND_ELM_HARNESS_TEST_CASE(FileselectorEntryIsSaveTest)