bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e922a23ddf3fd19df3e1acec3e4575d4ff208ee7

commit e922a23ddf3fd19df3e1acec3e4575d4ff208ee7
Author: Marcel Hollerbach <m...@marcel-hollerbach.de>
Date:   Mon Jul 8 16:18:57 2019 +0200

    efl_ui_spec_suite: introduce two new test suites
    
    this checks that the expected errors are in place, and the state does
    not get changed when there is an errornous call.
    
    ref T7895
    ref T7894
---
 src/tests/elementary/spec/efl_test_range_display.c | 90 ++++++++++++++++++++++
 .../elementary/spec/efl_test_range_interactive.c   | 38 +++++++++
 src/tests/elementary/spec/efl_ui_spec_suite.h      |  2 +
 src/tests/elementary/spec/meson.build              |  2 +
 4 files changed, 132 insertions(+)

diff --git a/src/tests/elementary/spec/efl_test_range_display.c 
b/src/tests/elementary/spec/efl_test_range_display.c
new file mode 100644
index 0000000000..338dfb2496
--- /dev/null
+++ b/src/tests/elementary/spec/efl_test_range_display.c
@@ -0,0 +1,90 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include <Efl_Ui.h>
+#include "efl_ui_spec_suite.h"
+#include "suite_helpers.h"
+
+/* spec-meta-start
+      {"test-interface":"Efl.Ui.Range_Display",
+       "test-widgets": ["Efl.Ui.Spin", "Efl.Ui.Progressbar", "Efl.Ui.Slider", 
"Efl.Ui.Spin_Button"]}
+   spec-meta-end */
+
+EFL_START_TEST(value_setting_limits)
+{
+   efl_ui_range_limits_set(widget, -20.0, 20.0);
+   efl_ui_range_value_set(widget, 10.0);
+
+   EXPECT_ERROR_START;
+   efl_ui_range_value_set(widget, -25.0);
+   EXPECT_ERROR_END;
+   ck_assert(efl_ui_range_value_get(widget) == 10.0);
+
+   EXPECT_ERROR_START;
+   efl_ui_range_value_set(widget, 25.0);
+   EXPECT_ERROR_END;
+   ck_assert(efl_ui_range_value_get(widget) == 10.0);
+}
+EFL_END_TEST
+
+EFL_START_TEST(limit_setting)
+{
+   double min, max;
+
+   efl_ui_range_limits_set(widget, -20.0, 20.0);
+   efl_ui_range_limits_get(widget, &min, &max);
+   ck_assert(min == -20.0);
+   ck_assert(max == 20.0);
+   EXPECT_ERROR_START;
+   efl_ui_range_limits_set(widget, -20.0, -20.0);
+   EXPECT_ERROR_END;
+   efl_ui_range_limits_get(widget, &min, &max);
+   ck_assert(min == -20.0);
+   ck_assert(max == 20.0);
+
+   EXPECT_ERROR_START;
+   efl_ui_range_limits_set(widget, 2.0, -20.0);
+   EXPECT_ERROR_END;
+   efl_ui_range_limits_get(widget, &min, &max);
+   ck_assert(min == -20.0);
+   ck_assert(max == 20.0);
+
+   EXPECT_ERROR_START;
+   efl_ui_range_limits_set(widget, 25.0, 20.0);
+   EXPECT_ERROR_END;
+   efl_ui_range_limits_get(widget, &min, &max);
+   ck_assert(min == -20.0);
+   ck_assert(max == 20.0);
+
+   efl_ui_range_limits_set(widget, -25.0, -20.0);
+   efl_ui_range_limits_get(widget, &min, &max);
+   ck_assert(min == -25.0);
+   ck_assert(max == -20.0);
+
+   efl_ui_range_limits_set(widget, 20.0, 25.0);
+   efl_ui_range_limits_get(widget, &min, &max);
+   ck_assert(min == 20.0);
+   ck_assert(max == 25.0);
+}
+EFL_END_TEST
+
+EFL_START_TEST(value_setting)
+{
+   double i;
+   efl_ui_range_limits_set(widget, -20.0, 20.0);
+   for (i = -20.0; i <= 20.0; ++i)
+     {
+        efl_ui_range_value_set(widget, i);
+        ck_assert(efl_ui_range_value_get(widget) == i);
+     }
+}
+EFL_END_TEST
+
+void
+efl_ui_range_display_behavior_test(TCase *tc)
+{
+   tcase_add_test(tc, value_setting_limits);
+   tcase_add_test(tc, limit_setting);
+   tcase_add_test(tc, value_setting);
+}
diff --git a/src/tests/elementary/spec/efl_test_range_interactive.c 
b/src/tests/elementary/spec/efl_test_range_interactive.c
new file mode 100644
index 0000000000..9753046acd
--- /dev/null
+++ b/src/tests/elementary/spec/efl_test_range_interactive.c
@@ -0,0 +1,38 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include <Efl_Ui.h>
+#include "efl_ui_spec_suite.h"
+#include "suite_helpers.h"
+
+/* spec-meta-start
+      {"test-interface":"Efl.Ui.Range_Display_Interactive",
+       "test-widgets": ["Efl.Ui.Spin", "Efl.Ui.Slider", "Efl.Ui.Spin_Button"]}
+   spec-meta-end */
+
+EFL_START_TEST(step_setting)
+{
+   efl_ui_range_step_set(widget, 20.0);
+   ck_assert(efl_ui_range_step_get(widget) == 20.0);
+   efl_ui_range_step_set(widget, 100.0);
+   ck_assert(efl_ui_range_step_get(widget) == 100.0);
+
+   EXPECT_ERROR_START;
+   efl_ui_range_step_set(widget, 0.0);
+   ck_assert(efl_ui_range_step_get(widget) == 100.0);
+   EXPECT_ERROR_END;
+
+   EXPECT_ERROR_START;
+   efl_ui_range_step_set(widget, -20.0);
+   ck_assert(efl_ui_range_step_get(widget) == 100.0);
+   EXPECT_ERROR_END;
+}
+EFL_END_TEST
+
+void
+efl_ui_range_display_interactive_behavior_test(TCase *tc)
+{
+   tcase_add_test(tc, step_setting);
+}
+
diff --git a/src/tests/elementary/spec/efl_ui_spec_suite.h 
b/src/tests/elementary/spec/efl_ui_spec_suite.h
index 666a40d80d..a1ecbd59ed 100644
--- a/src/tests/elementary/spec/efl_ui_spec_suite.h
+++ b/src/tests/elementary/spec/efl_ui_spec_suite.h
@@ -16,6 +16,8 @@ void efl_content_behavior_test(TCase *tc);
 void efl_gfx_arrangement_behavior_test(TCase *tc);
 void efl_ui_clickable_behavior_test(TCase *tc);
 void efl_ui_format_behavior_test(TCase *tc);
+void efl_ui_range_display_behavior_test(TCase *tc);
+void efl_ui_range_display_interactive_behavior_test(TCase *tc);
 
 void efl_test_container_content_equal(Efl_Ui_Widget **wid, unsigned int len);
 void efl_test_container_expect_evt_content_added(Efl_Ui_Widget *widget, const 
Efl_Event_Description *ev, Eina_Bool *flag, void *event_data);
diff --git a/src/tests/elementary/spec/meson.build 
b/src/tests/elementary/spec/meson.build
index 00fe61c1e7..e80a24d166 100644
--- a/src/tests/elementary/spec/meson.build
+++ b/src/tests/elementary/spec/meson.build
@@ -6,6 +6,8 @@ efl_ui_suite_behavior_test_files = files([
   'efl_test_gfx_arrangement.c',
   'efl_test_clickable.c',
   'efl_test_format.c',
+  'efl_test_range_display.c',
+  'efl_test_range_interactive.c',
 ])
 
 efl_ui_suite_behavior_src = files([

-- 


Reply via email to