forked from enlightenment/efl
efl_ui_spin_button: add tests for direct input feature
this simply passes in some key sequences and checks if the validation is working. Additionally the output value is checked. Depends on D11009 Differential Revision: https://phab.enlightenment.org/D11010
This commit is contained in:
parent
43f95ec6b3
commit
f6cb234070
|
@ -3,6 +3,7 @@
|
|||
#endif
|
||||
|
||||
#include <Elementary.h>
|
||||
#include "elm_entry_eo.h" //needed to check that spin is in text mode
|
||||
#include <Efl_Ui.h>
|
||||
#include "efl_ui_suite.h"
|
||||
|
||||
|
@ -209,6 +210,58 @@ EFL_START_TEST (spin_double_values_hitting_max_with_step)
|
|||
}
|
||||
EFL_END_TEST
|
||||
|
||||
static inline void
|
||||
_try_direct_text_input(const char *text, double result)
|
||||
{
|
||||
Eo *entry;
|
||||
|
||||
efl_ui_focus_util_focus(efl_content_get(efl_part(spin, "efl.text_button")));
|
||||
get_me_to_those_events(spin);
|
||||
entry = efl_content_get(efl_part(spin, "efl.entry"));
|
||||
elm_object_text_set(entry, "");
|
||||
ck_assert_int_eq(efl_isa(entry, ELM_ENTRY_CLASS), 1);
|
||||
efl_ui_focus_util_focus(entry);
|
||||
get_me_to_those_events(spin);
|
||||
|
||||
write_key_sequence(spin, text);
|
||||
get_me_to_those_events(spin);
|
||||
|
||||
efl_ui_focus_util_focus(efl_content_get(efl_part(spin, "efl.inc_button")));
|
||||
ck_assert_msg(EINA_DBL_EQ(efl_ui_range_value_get(spin), result), "Values do not match %f - %f (%s)", efl_ui_range_value_get(spin), result, elm_object_text_get(entry));
|
||||
}
|
||||
|
||||
EFL_START_TEST (spin_direct_text_input)
|
||||
{
|
||||
efl_ui_spin_button_direct_text_input_set(spin, EINA_TRUE);
|
||||
efl_ui_range_limits_set(spin, -30, 30);
|
||||
efl_ui_range_value_set(spin, 20);
|
||||
get_me_to_those_events(spin);
|
||||
_try_direct_text_input("1asdf2", 12);
|
||||
_try_direct_text_input("1-2", 12);
|
||||
_try_direct_text_input("-12", -12);
|
||||
_try_direct_text_input("-100", -30);
|
||||
_try_direct_text_input("1.8", 18);
|
||||
_try_direct_text_input("12342435", 30);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST (spin_direct_text_input_comma_value)
|
||||
{
|
||||
efl_ui_spin_button_direct_text_input_set(spin, EINA_TRUE);
|
||||
efl_ui_range_limits_set(spin, -30, 30);
|
||||
efl_ui_range_value_set(spin, 20);
|
||||
efl_ui_format_string_set(spin, "%.2f", EFL_UI_FORMAT_STRING_TYPE_SIMPLE);
|
||||
efl_ui_focus_util_focus(efl_content_get(efl_part(spin, "efl.text_button")));
|
||||
get_me_to_those_events(spin);
|
||||
_try_direct_text_input("1asdf2.1", 12.1);
|
||||
_try_direct_text_input("1-2.2", 12.2);
|
||||
_try_direct_text_input("-12.8", -12.8);
|
||||
_try_direct_text_input("-100", -30);
|
||||
_try_direct_text_input("10.8", 10.8);
|
||||
_try_direct_text_input("12342435.12312341342", 30);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
void efl_ui_test_spin_button(TCase *tc)
|
||||
{
|
||||
tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown);
|
||||
|
@ -220,4 +273,6 @@ void efl_ui_test_spin_button(TCase *tc)
|
|||
tcase_add_test(tc, spin_wraparound);
|
||||
tcase_add_test(tc, spin_double_values);
|
||||
tcase_add_test(tc, spin_double_values_hitting_max_with_step);
|
||||
tcase_add_test(tc, spin_direct_text_input);
|
||||
tcase_add_test(tc, spin_direct_text_input_comma_value);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue