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
This commit is contained in:
Marcel Hollerbach 2019-07-08 16:18:57 +02:00
parent 5efb4b374e
commit e922a23ddf
4 changed files with 132 additions and 0 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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([