EFL: Checkbox tests
authorJoe Konno <joe.konno@intel.com>
Mon, 9 Jul 2012 21:03:23 +0000 (14:03 -0700)
committerJoe Konno <joe.konno@intel.com>
Mon, 9 Jul 2012 21:04:44 +0000 (14:04 -0700)
Signed-off-by: Joe Konno <joe.konno@intel.com>
src/efl/Makefile.am
src/efl/test_check.cpp [new file with mode: 0644]

index 20fed76..42c7b1b 100644 (file)
@@ -36,6 +36,7 @@ wayland_efl_test_SOURCES =    \
        test_actionslider.cpp   \
        test_background.cpp     \
        test_bubble.cpp         \
+       test_check.cpp          \
        ../testmain.cpp
 
 endif
diff --git a/src/efl/test_check.cpp b/src/efl/test_check.cpp
new file mode 100644 (file)
index 0000000..f4d209c
--- /dev/null
@@ -0,0 +1,114 @@
+#include <Elementary.h>
+#include <boost/bind.hpp>
+
+#include "window.h"
+#include "evasobject.h"
+#include "elmtestharness.h"
+
+
+class CheckStateTest : public ElmTestHarness
+{
+public:
+
+       CheckStateTest()
+               : ElmTestHarness::ElmTestHarness()
+               , window_("CheckStateTest", "Check State Test")
+               , check_(elm_check_add(window_))
+       {
+               evas_object_resize(check_, 200, 100);
+               return;
+       }
+
+       void setup()
+       {
+               check_.show();
+               window_.show();
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(elm_check_state_set, boost::ref(check_), EINA_FALSE),
+                               boost::bind(&CheckStateTest::checkPos, boost::ref(*this), EINA_FALSE)
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(elm_check_state_set, boost::ref(check_), EINA_TRUE),
+                               boost::bind(&CheckStateTest::checkPos, boost::ref(*this), EINA_TRUE)
+                       )
+               );
+       }
+
+       void checkPos(Eina_Bool checked)
+       {
+               BOOST_CHECK_EQUAL(elm_check_state_get(check_), checked);
+       }
+
+private:
+       Window          window_;
+       EvasObject      check_;
+};
+
+class CheckTextTest : public ElmTestHarness
+{
+public:
+
+       CheckTextTest()
+               : ElmTestHarness::ElmTestHarness()
+               , window_("CheckTextTest", "Check Text Test")
+               , check_(elm_check_add(window_))
+       {
+               evas_object_resize(check_, 200, 100);
+               return;
+       }
+
+       void setup()
+       {
+               check_.show();
+               window_.show();
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(elm_object_part_text_set, boost::ref(check_), "default", "DEFAULT"),
+                               boost::bind(&CheckTextTest::checkText, boost::ref(*this), "default", "DEFAULT")
+                       )
+               );
+
+               /* TODO: Why don't these work?
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(elm_object_part_text_set, boost::ref(check_), "on", "ON"),
+                               boost::bind(&CheckTextTest::checkText, boost::ref(*this), "on", "ON")
+                       )
+               );
+
+               queueCallback(
+                       ModifyCheckCallback(
+                               boost::bind(elm_object_part_text_set, boost::ref(check_), "off", "OFF"),
+                               boost::bind(&CheckTextTest::checkText, boost::ref(*this), "off", "OFF")
+                       )
+               );
+               */
+       }
+
+       void checkText(const char* part, const char* expected)
+       {
+               const char* actual = elm_object_part_text_get(check_, part);
+               std::string actual_text(actual == NULL ? "" : actual);
+               std::string expected_text(expected == NULL ? "" : expected);
+
+               BOOST_CHECK_EQUAL(actual_text, expected_text);
+       }
+
+private:
+       Window          window_;
+       EvasObject      check_;
+};
+
+BOOST_AUTO_TEST_SUITE(Wayland_EFL_Check_Suite)
+
+       WAYLAND_ELM_HARNESS_TEST_CASE(CheckStateTest)
+       WAYLAND_ELM_HARNESS_TEST_CASE(CheckTextTest)
+
+BOOST_AUTO_TEST_SUITE_END()
+