2014-05-13 20:02:10 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "elementary_config.h"
|
|
|
|
#endif
|
|
|
|
|
2018-04-03 04:27:30 -07:00
|
|
|
#define EFL_ACCESS_OBJECT_BETA
|
2017-11-05 23:18:42 -08:00
|
|
|
#define EFL_ACCESS_TEXT_BETA
|
2017-09-25 01:15:44 -07:00
|
|
|
#define EFL_ACCESS_TEXT_PROTECTED
|
2015-01-14 05:49:41 -08:00
|
|
|
#include <Elementary.h>
|
|
|
|
#include "elm_suite.h"
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_legacy_type_check)
|
2018-02-14 12:04:24 -08:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
const char *type;
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2018-02-14 12:04:24 -08:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
|
|
|
|
type = elm_object_widget_type_get(entry);
|
|
|
|
ck_assert(type != NULL);
|
|
|
|
ck_assert(!strcmp(type, "Elm_Entry"));
|
|
|
|
|
|
|
|
type = evas_object_type_get(entry);
|
|
|
|
ck_assert(type != NULL);
|
|
|
|
ck_assert(!strcmp(type, "elm_entry"));
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2018-02-14 12:04:24 -08:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_del)
|
2014-05-13 20:02:10 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-05-13 20:02:10 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, "TEST");
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-13 20:02:10 -07:00
|
|
|
|
2017-08-03 01:24:50 -07:00
|
|
|
void
|
|
|
|
_dummy_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED,
|
|
|
|
const char *sig EINA_UNUSED, const char *src EINA_UNUSED)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_signal_callback)
|
2017-08-03 01:24:50 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
void *data;
|
|
|
|
int k;
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2017-08-03 01:24:50 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
|
|
|
|
for (k = 1; k < 10; k++)
|
|
|
|
{
|
|
|
|
int *val = malloc(sizeof(int));
|
|
|
|
*val = 42 * k;
|
|
|
|
elm_layout_signal_callback_add(entry, "sig", "src", _dummy_cb, val);
|
|
|
|
}
|
|
|
|
|
|
|
|
data = elm_layout_signal_callback_del(entry, "notsig", "notsrc", _dummy_cb);
|
|
|
|
fail_if(data);
|
|
|
|
|
|
|
|
// this test verifies that the legacy wrapper returns the proper data
|
|
|
|
// the eo API requires the data as input to "del()"
|
|
|
|
for (k = 1; k < 10; k++)
|
|
|
|
{
|
|
|
|
int *val;
|
|
|
|
data = elm_layout_signal_callback_del(entry, "sig", "src", _dummy_cb);
|
|
|
|
fail_if(!data);
|
|
|
|
val = (int *)data;
|
|
|
|
ck_assert_int_ne(*val, 0);
|
|
|
|
ck_assert_int_eq((*val) % 42, 0);
|
|
|
|
free(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
data = elm_layout_signal_callback_del(entry, "sig", "src", _dummy_cb);
|
|
|
|
fail_if(data);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2017-08-03 01:24:50 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_char_get)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
Eina_Unicode *expected;
|
|
|
|
Eina_Unicode val;
|
|
|
|
|
|
|
|
const char *txt = "ĄA11Y Ł TEST";
|
|
|
|
const char *mtxt = "<b>ĄA11Y</b> <title>Ł</> TEST";
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, mtxt);
|
|
|
|
|
|
|
|
expected = eina_unicode_utf8_to_unicode(txt, NULL);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_get(entry, -1);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == 0);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_get(entry, 0);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == expected[0]);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_get(entry, 1);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == expected[1]);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_get(entry, 2);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == expected[2]);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_get(entry, 6);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == expected[6]);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_get(entry, 26);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == 0);
|
|
|
|
|
|
|
|
free(expected);
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_char_count)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
int val;
|
|
|
|
|
|
|
|
const char *mtxt = "<b>AĄ11Y</b> <title>Ł</> TEST";
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, mtxt);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_character_count_get(entry);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == 12);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_string_get_char)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
char *val;
|
|
|
|
int start, end;
|
|
|
|
|
|
|
|
const char *txt = "Lorem ipśum dolor sit amęt";
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, txt);
|
|
|
|
|
|
|
|
start = 1;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "o");
|
|
|
|
ck_assert(start == 1);
|
|
|
|
ck_assert(end == 2);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 8;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "ś");
|
|
|
|
ck_assert(start == 8);
|
|
|
|
ck_assert(end == 9);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 11;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, " ");
|
|
|
|
ck_assert(start == 11);
|
|
|
|
ck_assert(end == 12);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 111;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(start == -1);
|
|
|
|
ck_assert(end == -1);
|
|
|
|
ck_assert(val == NULL);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_string_get_word)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
char *val;
|
|
|
|
int start, end;
|
|
|
|
|
|
|
|
const char *txt = "Lorem ipśum dolor sit amęt";
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, txt);
|
|
|
|
|
|
|
|
start = 1;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "Lorem");
|
|
|
|
ck_assert(start == 0);
|
|
|
|
ck_assert(end == 5);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 6;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "ipśum");
|
|
|
|
ck_assert(start == 6);
|
|
|
|
ck_assert(end == 11);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 19;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "dolor");
|
|
|
|
ck_assert(start == 14);
|
|
|
|
ck_assert(end == 19);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 111;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(start == -1);
|
|
|
|
ck_assert(end == -1);
|
|
|
|
ck_assert(val == NULL);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_string_get_paragraph)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
char *val;
|
|
|
|
int start, end;
|
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
const char *txt = "Lorem ipśum<br> dolor sit<br> amęt";
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, txt);
|
|
|
|
|
|
|
|
start = 1;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "Lorem ipśum");
|
|
|
|
ck_assert(start == 0);
|
|
|
|
ck_assert(end == 11);
|
|
|
|
if (val) free(val);
|
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
start = 20;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, " dolor sit");
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert(start == 12);
|
|
|
|
ck_assert(end == 24);
|
2014-06-10 00:18:17 -07:00
|
|
|
if (val) free(val);
|
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
start = 25;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, " amęt");
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert(start == 25);
|
|
|
|
ck_assert(end == 30);
|
2014-06-10 00:18:17 -07:00
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 111;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(start == -1);
|
|
|
|
ck_assert(end == -1);
|
|
|
|
ck_assert(val == NULL);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_string_get_line)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
char *val;
|
|
|
|
int start, end;
|
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
const char *txt = "Lorem ipśum<br> dolor sit amęt";
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
2014-07-21 08:16:54 -07:00
|
|
|
evas_object_resize(entry, 500, 500);
|
|
|
|
|
2014-06-10 00:18:17 -07:00
|
|
|
elm_object_text_set(entry, txt);
|
|
|
|
|
|
|
|
start = 1;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_LINE, &start, &end);
|
2014-07-21 08:16:54 -07:00
|
|
|
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert_str_eq(val, "Lorem ipśum");
|
|
|
|
ck_assert(start == 0);
|
|
|
|
ck_assert(end == 11);
|
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
start = 13;
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_LINE, &start, &end);
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert_str_eq(val, " dolor sit amęt");
|
|
|
|
ck_assert(start == 12);
|
|
|
|
ck_assert(end == 29);
|
2014-06-10 00:18:17 -07:00
|
|
|
if (val) free(val);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_text_get)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
char *val;
|
2014-07-21 08:16:54 -07:00
|
|
|
const char *txt = "Lorem Xpśum dolor sit amęt";
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, txt);
|
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
// invalid ranges
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_get(entry, 6, 100);
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert(val == NULL);
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_get(entry, -6, 10);
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert(val == NULL);
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_get(entry, -6, -10);
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert(val == NULL);
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_get(entry, 60, 100);
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert(val == NULL);
|
|
|
|
|
|
|
|
// proper range
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_get(entry, 6, 17);
|
2014-07-21 08:16:54 -07:00
|
|
|
ck_assert_str_eq(val, "Xpśum dolor");
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
if (val) free(val);
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_entry_atspi_text_selections)
|
2014-06-10 00:18:17 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
int val, start, end;
|
|
|
|
const char *str;
|
|
|
|
Eina_Bool ret;
|
|
|
|
const char *txt = "Lorem ipśum<br> dolor sit\n amęt";
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 00:18:17 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_object_text_set(entry, txt);
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_selections_count_get(entry);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == 0);
|
|
|
|
|
|
|
|
elm_entry_select_region_set(entry, 2, 4);
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_selections_count_get(entry);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == 1);
|
2018-02-14 18:14:52 -08:00
|
|
|
efl_access_text_access_selection_get(entry, 0, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(start == 2);
|
|
|
|
ck_assert(end == 4);
|
|
|
|
|
|
|
|
elm_entry_select_region_set(entry, 6, 10);
|
2017-09-25 01:15:44 -07:00
|
|
|
val = efl_access_text_selections_count_get(entry);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(val == 1);
|
2018-02-14 18:14:52 -08:00
|
|
|
efl_access_text_access_selection_get(entry, 0, &start, &end);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(start == 6);
|
|
|
|
ck_assert(end == 10);
|
|
|
|
|
|
|
|
elm_entry_select_none(entry);
|
2017-09-25 01:15:44 -07:00
|
|
|
ret = efl_access_text_selection_add(entry, 2, 5);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(ret == EINA_TRUE);
|
|
|
|
str = elm_entry_selection_get(entry);
|
|
|
|
ck_assert_str_eq(str, "rem");
|
|
|
|
|
2017-09-25 01:15:44 -07:00
|
|
|
ret = efl_access_text_selection_remove(entry, 0);
|
2014-06-10 00:18:17 -07:00
|
|
|
ck_assert(ret == EINA_TRUE);
|
|
|
|
str = elm_entry_selection_get(entry);
|
|
|
|
ck_assert(str == NULL);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 00:18:17 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_atspi_role_get)
|
2014-06-10 19:07:15 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
2017-10-18 18:13:54 -07:00
|
|
|
Efl_Access_Role role;
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
2014-06-10 19:07:15 -07:00
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
2018-04-03 04:27:30 -07:00
|
|
|
role = efl_access_object_role_get(entry);
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2017-10-18 18:13:54 -07:00
|
|
|
ck_assert(role == EFL_ACCESS_ROLE_ENTRY);
|
2014-06-10 19:07:15 -07:00
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2019-03-21 10:26:11 -07:00
|
|
|
static Eina_Bool
|
|
|
|
end_test()
|
|
|
|
{
|
|
|
|
ecore_main_loop_quit();
|
|
|
|
return EINA_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
EFL_START_TEST(elm_entry_magnifier)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
2019-06-26 10:01:56 -07:00
|
|
|
Evas *e;
|
2019-03-21 10:26:11 -07:00
|
|
|
char buf[4096];
|
|
|
|
|
|
|
|
win = win_add_focused(NULL, "entry", ELM_WIN_BASIC);
|
2019-06-26 10:01:56 -07:00
|
|
|
e = evas_object_evas_get(win);
|
2019-03-21 10:26:11 -07:00
|
|
|
evas_object_size_hint_weight_set(win, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
|
|
|
snprintf(buf, sizeof(buf),
|
|
|
|
"This is an entry widget in this window that<br/>"
|
|
|
|
"uses markup <b>like this</> for styling and<br/>"
|
|
|
|
"formatting <em>like this</>, as well as<br/>"
|
|
|
|
"<a href=X><link>links in the text</></a>, so enter text<br/>"
|
|
|
|
"in here to edit it. By the way, links are<br/>"
|
|
|
|
"called <a href=anc-02>Anchors</a> so you will need<br/>"
|
|
|
|
"to refer to them this way.<br/>"
|
|
|
|
"<br/>"
|
|
|
|
|
|
|
|
"Also you can stick in items with (relsize + ascent): "
|
|
|
|
"<item relsize=16x16 vsize=ascent href=emoticon/evil-laugh></item>"
|
|
|
|
" (full) "
|
|
|
|
"<item relsize=16x16 vsize=full href=emoticon/guilty-smile></item>"
|
|
|
|
" (to the left)<br/>"
|
|
|
|
|
|
|
|
"Also (size + ascent): "
|
|
|
|
"<item size=16x16 vsize=ascent href=emoticon/haha></item>"
|
|
|
|
" (full) "
|
|
|
|
"<item size=16x16 vsize=full href=emoticon/happy-panting></item>"
|
|
|
|
" (before this)<br/>"
|
|
|
|
|
|
|
|
"And as well (absize + ascent): "
|
|
|
|
"<item absize=64x64 vsize=ascent href=emoticon/knowing-grin></item>"
|
|
|
|
" (full) "
|
|
|
|
"<item absize=64x64 vsize=full href=emoticon/not-impressed></item>"
|
|
|
|
" or even paths to image files on disk too like: "
|
|
|
|
"<item absize=96x128 vsize=full href=file://%s/images/sky_01.jpg></item>"
|
|
|
|
" ... end."
|
|
|
|
, elm_app_data_dir_get()
|
|
|
|
);
|
|
|
|
elm_object_text_set(entry, buf);
|
|
|
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
evas_object_show(entry);
|
|
|
|
elm_win_resize_object_add(win, entry);
|
|
|
|
evas_object_show(win);
|
|
|
|
evas_object_resize(entry, 600, 400);
|
|
|
|
evas_object_resize(win, 600, 400);
|
2019-06-26 10:01:56 -07:00
|
|
|
get_me_to_those_events(e);
|
|
|
|
|
|
|
|
evas_event_feed_mouse_out(e, 0, NULL);
|
|
|
|
evas_event_feed_mouse_in(e, 0, NULL);
|
|
|
|
evas_event_feed_mouse_move(e, 200, 100, 0, NULL);
|
|
|
|
evas_event_feed_mouse_down(e, 1, 0, 0, NULL);
|
|
|
|
real_timer_add(elm_config_longpress_timeout_get() + 0.1, end_test, NULL);
|
2019-03-21 10:26:11 -07:00
|
|
|
}
|
|
|
|
EFL_END_TEST
|
|
|
|
|
2019-03-14 08:11:32 -07:00
|
|
|
EFL_START_TEST(elm_entry_text_set)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
const char *entry_text = "hello world";
|
|
|
|
const char *entry_text2 = "scrollable";
|
|
|
|
|
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
|
|
|
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
|
|
|
|
ck_assert(elm_layout_text_set(entry, NULL, entry_text));
|
|
|
|
ck_assert_str_eq(elm_object_text_get(entry), entry_text);
|
|
|
|
|
|
|
|
elm_entry_scrollable_set(entry, EINA_TRUE);
|
|
|
|
ck_assert(elm_layout_text_set(entry, NULL, entry_text2));
|
|
|
|
ck_assert_str_eq(elm_object_text_get(entry), entry_text2);
|
|
|
|
}
|
|
|
|
EFL_END_TEST
|
|
|
|
|
2019-03-27 07:18:41 -07:00
|
|
|
EFL_START_TEST(elm_entry_file_get_set)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *entry;
|
|
|
|
const char *file_path = NULL;
|
|
|
|
Elm_Text_Format format = ELM_TEXT_FORMAT_PLAIN_UTF8;
|
|
|
|
|
|
|
|
win = win_add(NULL, "entry", ELM_WIN_BASIC);
|
|
|
|
entry = elm_entry_add(win);
|
|
|
|
|
|
|
|
ck_assert(elm_entry_file_set(entry, TESTS_SRC_DIR"/testfile_entry.txt", ELM_TEXT_FORMAT_PLAIN_UTF8));
|
|
|
|
elm_entry_file_get(entry, &file_path, &format);
|
|
|
|
fprintf(stderr, "elm_entry_file_get_set1 %s, %s, %d\n", elm_object_text_get(entry), file_path, format);
|
|
|
|
|
|
|
|
ck_assert_str_eq(elm_object_text_get(entry), "hello world<br/>");
|
|
|
|
ck_assert_str_eq(file_path, TESTS_SRC_DIR"/testfile_entry.txt");
|
|
|
|
ck_assert(format == ELM_TEXT_FORMAT_PLAIN_UTF8);
|
|
|
|
|
|
|
|
ck_assert(elm_entry_file_set(entry, TESTS_SRC_DIR"/testfile_entry2.txt", ELM_TEXT_FORMAT_PLAIN_UTF8));
|
|
|
|
elm_entry_file_get(entry, &file_path, &format);
|
|
|
|
fprintf(stderr, "elm_entry_file_get_set2 %s, %s, %d\n", elm_object_text_get(entry), file_path, format);
|
|
|
|
|
|
|
|
ck_assert_str_eq(elm_object_text_get(entry), "hello elementary<br/>hello entry<br/>");
|
|
|
|
ck_assert_str_eq(file_path, TESTS_SRC_DIR"/testfile_entry2.txt");
|
|
|
|
ck_assert(format == ELM_TEXT_FORMAT_PLAIN_UTF8);
|
|
|
|
|
|
|
|
ck_assert(elm_entry_file_set(entry, NULL, ELM_TEXT_FORMAT_PLAIN_UTF8));
|
|
|
|
elm_entry_file_get(entry, &file_path, &format);
|
|
|
|
fprintf(stderr, "elm_entry_file_get_set3 %s, %s, %d\n", elm_object_text_get(entry), file_path, format);
|
|
|
|
|
|
|
|
ck_assert_str_eq(elm_object_text_get(entry), "");
|
|
|
|
ck_assert(file_path == NULL);
|
|
|
|
ck_assert(format == ELM_TEXT_FORMAT_PLAIN_UTF8);
|
|
|
|
|
|
|
|
fprintf(stderr, "elm_entry_file_get_set4\n");
|
|
|
|
|
|
|
|
}
|
|
|
|
EFL_END_TEST
|
|
|
|
|
2014-05-13 20:02:10 -07:00
|
|
|
void elm_test_entry(TCase *tc)
|
|
|
|
{
|
2018-02-14 12:04:24 -08:00
|
|
|
tcase_add_test(tc, elm_entry_legacy_type_check);
|
2014-05-13 20:02:10 -07:00
|
|
|
tcase_add_test(tc, elm_entry_del);
|
2017-08-03 01:24:50 -07:00
|
|
|
tcase_add_test(tc, elm_entry_signal_callback);
|
2014-06-10 00:18:17 -07:00
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_char_get);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_char_count);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_string_get_char);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_string_get_word);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_string_get_paragraph);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_string_get_line);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_text_get);
|
|
|
|
tcase_add_test(tc, elm_entry_atspi_text_selections);
|
2014-06-10 19:07:15 -07:00
|
|
|
tcase_add_test(tc, elm_atspi_role_get);
|
2019-03-14 08:11:32 -07:00
|
|
|
tcase_add_test(tc, elm_entry_text_set);
|
2019-03-21 10:26:11 -07:00
|
|
|
tcase_add_test(tc, elm_entry_magnifier);
|
2019-03-27 07:18:41 -07:00
|
|
|
tcase_add_test(tc, elm_entry_file_get_set);
|
2014-05-13 20:02:10 -07:00
|
|
|
}
|