Commit Graph

3146 Commits

Author SHA1 Message Date
Daniel Kolesa f78d54051c bindings: rename luajit -> lua 2020-05-29 17:06:22 +02:00
Vincent Torri 3dad97ce32 Eina file test: use the correct Eina file object
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11885
2020-05-27 15:18:59 +02:00
Vincent Torri 4026c15956 Eina file test: on Windows, open cmd, not a shell
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11884
2020-05-27 15:18:57 +02:00
Marcel Hollerbach 8e3606698e refactor build
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.

this is preparation work for efl-one.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
2020-05-27 11:06:46 +02:00
Stefan Schmidt 7e2ae1e7e3 build: disable leak detection in address sanitizer build for tests as well
Summary:
The same principle we use for the build stage we use here for running
our tests. Leak detection has just to many problems for us on the
shutdown path that it makes no sense to use here.

I am also bumping the evas timeout form the default 30s to 60 as I have
been running into timeouts with asan enabled on my machine. This would
not change anything on a default build.
Depends on D11137

Reviewers: smohanty, bu5hm4n, raster, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11862
2020-05-26 09:54:57 -04:00
Marcel Hollerbach 3ec1101652 Merge efreet_mime efreet_trash into efreet
efreet_mime and efreet_trash are now included in libefreet.so. There are
compatible libs for libefreet_mime.so libefreet_trash.so, which simple
drag in libefreet.so. .pc files also are in place for compatibility.

efreet_init & shutdown now initializes and shutdowns trash and mime.
The old init functions now simply call efreet_init, efreet_init will
then init the trash or mime libs.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11807
2020-05-26 10:15:30 +02:00
Vincent Torri bf65520a42 elm test: include evil_private.h to declare realpath() on Windows
Reviewers: raster, zmike

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11872
2020-05-23 15:00:56 +01:00
Vincent Torri 3230c8de9f tests: eina: fix usage of long on Windows
On Windows 64bits, long is a 4 bytes type. Declare i as being a uintptr_t instead of unsigned long

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11837
2020-05-19 13:58:57 +02:00
Stefan Schmidt cf5df21557 tests: ecore_con another cert update to extend the time its valid to 100 years
Instead of forcing someone to look at this again in a couple of years we
can simply extend it to 100 years and expect this code does no longer
exist. :-)

For more details on the steps I used to generate and the problem in
ecore_con please see the original commit 3b835b57ff
2020-05-11 17:05:44 +02:00
Mike Blumenkrantz e0cf299ae5 tests: resolve float comparison warnings
Summary: Depends on D11788

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11789
2020-05-09 09:25:14 +01:00
Mike Blumenkrantz 882e4cd50f tests/elm: add callback testing to image memfile test
Summary:
verify that ready is called (preload done) and error is not called

ref D11758

Reviewers: Hermet, jsuya, kimcinoo

Reviewed By: Hermet

Subscribers: stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11760
2020-05-08 10:45:27 +09:00
Stefan Schmidt 3b835b57ff tests: ecore_con: renew test ssl certificate which expired in 2016
For our unit testing of ecore_con we have a sself-signed certificate for
localhost to do some of the tests. It expired in 2016 and this was not
really a problem so far. Starting from Debian 10 and Ubuntu 20.04 this
resulted in failures thought. Either the newer openssl version is more
strict or the config for Debian and Ubuntu is.

Anyway, time to generate a new one. Its valied until Sep 23 12:33:13
2024 GMT and I used the follwoing commands to generate the cert/key and
the second command to rmeove the key passphrase.

openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.pem -days 1600 -subj '/CN=127.0.0.1'
openssl rsa -in server.key -out server2.key

Someone has to do this again in 4 years. if we stillhave this code
around.
2020-05-07 15:38:38 +02:00
Vincent Torri d135957ffa Use __func__ C99 identifier instead of __FUNCTION__ compiler extension
Summary: see http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf section 6.4.2.2 page 52

Test Plan: compilation

Reviewers: raster, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11785
2020-05-07 09:27:07 -04:00
Ali Alzyod d7ed1721b8 tests: edje: Fedora32 system fail resolve
This test seems to fail on Fedora32, we increase font size margin to
prevent it from happening

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11776
2020-05-05 14:56:53 +02:00
Ali Alzyod 3dff471826 evas_textblock: optimize calculate main format once in layout setup stage
Summary:
This change based on discussion on D9533 , where @smohanty example shows that unnecessary calculation happened on textblock related to lay-outing

Where now _layout_setup will not calculate main format using (_format_fill) unless style has been changed.

expedite commit:
https://git.enlightenment.org/tools/expedite.git/commit/?id=dc6c931dc2e6c240d3e240f24578980c689ab7fc
src/bin/textblock_text_fill_format.c

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Efl.h>
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *textblock;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("Main", "App");
   elm_win_autodel_set(win, EINA_TRUE);

   int l, r, t, b;
   textblock = evas_object_textblock_add(evas_object_evas_get(win));

   Evas_Textblock_Style *st = evas_textblock_style_new();
   evas_textblock_style_set (st, "DEFAULT='font=Sans font_size=10 color=#000000 wrap=word align=left outline_color=#000 shadow_color=#fff8 shadow_color=#0002 glow2_color=#fe87 glow_color=#f214 underline_color=#00f linesize=40'");
   evas_object_textblock_style_set(textblock, st);
   int sizes[] = {600, 700};
   evas_object_textblock_text_markup_set(textblock, "This test resize text block and keep style (style parsed only once)");
   clock_t start, end;
   start = clock();
   for (int i = 0; i < 10000; i++)
   {
      evas_object_resize(textblock, sizes[i % 2], sizes[i % 2]);
      evas_object_textblock_style_insets_get(textblock, &l, &r, &t, &b);
   }
   end = clock();
   double total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("total time = %f\n", total_Time1);

   evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(textblock);

   evas_object_move(textblock, 0, 0);
   evas_object_resize(textblock, 640, 800);
   evas_object_resize(win, 640, 800);

   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN()

```

**Old  Code output : total time = 0.096900
New Code output : total time = 0.045580**

Reviewers: smohanty, woohyun, Hermet, bowonryu, cedric, bu5hm4n, zmike

Reviewed By: zmike

Subscribers: zmike, segfaultxavi, bu5hm4n, smohanty, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9536
2020-05-04 15:25:07 -04:00
Mike Blumenkrantz 55c2ffbe42 tests/elm: add more naviframe tests
some tests to explicitly verify callback and internal behavior

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11752
2020-04-28 13:48:35 +02:00
Mike Blumenkrantz 03d56674c3 tests/elm: add util callback for capturing event_info in smart callbacks
useful when we want to verify that e.g., a certain object item is passed

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11751
2020-04-28 13:48:33 +02:00
Mike Blumenkrantz faed679d53 tests/elm: add some more specific convenience macros for size checks
sometimes a test might only want to verify the width or height of an object

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11750
2020-04-28 13:48:31 +02:00
Mike Blumenkrantz c6a9574f10 tests/elm: check all objects for signal interface before calling signal funcs
just being extra paranoid here since there's some classes which implement
some layout/content interfaces without implementing signals

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11749
2020-04-28 13:48:29 +02:00
Mike Blumenkrantz c622bd2e23 tests/elm: add a list sizing test
basic test to ensure that list sizing is homogeneous and works as it
"should", even though list sizing internals are a black hole of lost time
and dreams

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11748
2020-04-28 13:29:34 +02:00
Daniel Kolesa bbc006a3e7 eolian: fix C type serialization of error() 2020-04-20 14:36:14 +02:00
Daniel Kolesa 1afb264288 eolian: globally enable eolian_state_check, except for beta classes
Beta classes won't have their namespaces validated at this point.
It is possible to set EOLIAN_CHECK_NAMESPACES_BETA=1 to enable
checking those as well, if you want to fix them all.
2020-04-19 01:53:50 +02:00
Carsten Haitzler 3283a11a88 evas_textblock/evas_text/evas_textgrid: pick textrun fonts
Summary:
Picking font on textrun, will now give priority into font picked by the user, regardless of script type.
picking font due script can cause many inconvenient results

Example of wrong results:  (User font is **NotoColorEmoji**)
{F3847118} -> add 'a' at the end (notice how text render is wrong) {F3847119} -> add tab before 'a' (text rendering now is right) {F3847120}

After Change results: (User font is **NotoColorEmoji**)
{F3847118}  -> add 'a' at the end -> {F3847122}-> add tab before 'a' -> {F3847123}

Also now the following lines will be shown exactly the same, regardless of characters order
```
"가123A321"
"A321가123"
"123가A321"
"A가123321"
```

Test Plan:
```
#include <Elementary.h>
/*
gcc -o example test.c `pkg-config --cflags --libs elementary`
*/

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *en;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("", "");
   elm_win_autodel_set(win, EINA_TRUE);

   en = elm_entry_add(win);
   elm_entry_scrollable_set(en, EINA_TRUE);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_entry_text_style_user_push(en,"DEFAULT='font=NotoColorEmoji font_size=30 color=red'");
   elm_object_text_set(en, "&#x262a;123456a");

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 400, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

Reviewers: woohyun, bowonryu, tasn, raster, cedric

Reviewed By: tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8556

Differential Revision: https://phab.enlightenment.org/D11302
2020-04-18 17:36:25 +01:00
Carsten Haitzler d9b9647a15 Revert "evas_textblock: pick textrun fonts"
This reverts commit 9b987c67e1.

this breaks color emoji in terminology (evas textgrid).
2020-04-17 19:20:26 +01:00
Mike Blumenkrantz e2365a0ed3 tests/elm: add image tests to verify internal object size is clamped to object size
ensure that this doesn't break again

ref 11587

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11599
2020-04-17 11:53:47 +02:00
Ali Alzyod 7ac765c71b evas_textblock: prevent segfault if there are no style
```
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *textblock;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("", "");
   elm_win_autodel_set(win, EINA_TRUE);

   textblock = evas_object_textblock_add(win);
   evas_object_resize(textblock, 360, 360);
   evas_object_show(textblock);
   evas_object_textblock_text_markup_set(textblock, "<b>b</b>");
   evas_object_resize(win, 360, 360);
   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN()
```

this application will crash.

Any font format specified in text, if there are now style will cause the crash.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11686
2020-04-17 11:14:57 +02:00
Marcel Hollerbach b746e82b07 eina_content: free eina content in the test:
Fix the unbelievable High prioritized CID 1420314
2020-04-17 10:53:15 +02:00
Ali Alzyod 9b987c67e1 evas_textblock: pick textrun fonts
Summary:
Picking font on textrun, will now give priority into font picked by the user, regardless of script type.
picking font due script can cause many inconvenient results

Example of wrong results:  (User font is **NotoColorEmoji**)
{F3847118} -> add 'a' at the end (notice how text render is wrong) {F3847119} -> add tab before 'a' (text rendering now is right) {F3847120}

After Change results: (User font is **NotoColorEmoji**)
{F3847118}  -> add 'a' at the end -> {F3847122}-> add tab before 'a' -> {F3847123}

Also now the following lines will be shown exactly the same, regardless of characters order
```
"가123A321"
"A321가123"
"123가A321"
"A가123321"
```

Test Plan:
```
#include <Elementary.h>
/*
gcc -o example test.c `pkg-config --cflags --libs elementary`
*/

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *en;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("", "");
   elm_win_autodel_set(win, EINA_TRUE);

   en = elm_entry_add(win);
   elm_entry_scrollable_set(en, EINA_TRUE);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_entry_text_style_user_push(en,"DEFAULT='font=NotoColorEmoji font_size=30 color=red'");
   elm_object_text_set(en, "&#x262a;123456a");

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 400, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

Reviewers: woohyun, bowonryu, tasn, raster, cedric

Reviewed By: tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8556

Differential Revision: https://phab.enlightenment.org/D11302
2020-04-17 12:28:42 +09:00
Ali Alzyod 208c1938bc evas_test: change START_TEST to EFL_START_TEST
Summary: evas_test: change START_TEST to EFL_START_TEST

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11716
2020-04-16 12:03:23 -04:00
Mike Blumenkrantz 8e1e1e5cf8 tests/elm: explicitly destroy hoversel while active
verify that there's no errors when this happens

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11704
2020-04-16 14:34:07 +02:00
Mike Blumenkrantz 2797827e6b tests/elm: add hoversel test to verify edge of canvas positioning
ensure that T8642 doesn't reoccur

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11647
2020-04-16 14:34:07 +02:00
Mike Blumenkrantz 034d42855b tests/elm: add hoversel behavior tests
this verifies all smart callbacks for a hoversel to ensure they're triggered
as expected

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11644
2020-04-16 14:34:07 +02:00
Mike Blumenkrantz 276c9ed26d tests/elm: add callback tests for elm_list
basic tests to verify behavior for triggering callbacks when selecting items

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11703
2020-04-16 14:34:07 +02:00
Ali Alzyod da36015148 evas_textblock : fix text insertion & selection with ps in single line
Summary:
when we have text that contains <ps> (example "p1<ps>p2") in a single line mode
and the cursor position is after the ps tag
then we try to insert any character using the keyboard it will show segmentation fault.
also with the same text if we try to select the text we will notice that it is corrupted.

this should resolve https://phab.enlightenment.org/T8594

Test Plan:
  #define EFL_EO_API_SUPPORT 1
  #define EFL_BETA_API_SUPPORT 1

  #include <Eina.h>
  #include <Elementary.h>
  #include <Efl_Ui.h>

  static void
  _gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
  {
     efl_exit(0);
  }

  static void
  _gui_setup()
  {
     Eo *win, *box;

     win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                   efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                   efl_text_set(efl_added, "Hello World"),
                   efl_ui_win_autodel_set(efl_added, EINA_TRUE));

     // when the user clicks "close" on a window there is a request to delete
     efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

     box = efl_add(EFL_UI_BOX_CLASS, win,
                  efl_content_set(win, efl_added),
                  efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

     Eo *text = efl_add(EFL_UI_TEXTBOX_CLASS, box,
             efl_gfx_hint_weight_set(efl_added, 1.0, 1.0),
             efl_gfx_hint_align_set(efl_added, 1.0, 1.0),
             efl_pack(box, efl_added));

             efl_text_interactive_selection_allowed_set(text, EINA_TRUE);
             efl_text_multiline_set(text,EINA_FALSE);

             efl_text_markup_set(text, "p1<ps>p2");
  }

  EAPI_MAIN void
  efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
  {
     _gui_setup();
  }
  EFL_MAIN()

Reviewers: ali.alzyod, woohyun, zmike, bu5hm4n, segfaultxavi, stefan_schmidt

Reviewed By: ali.alzyod, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11621
2020-04-16 20:03:31 +09:00
Mike Blumenkrantz e88311ae95 tests/efl: use alloca for composite model test future to avoid leak
CID 1407236

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11711
2020-04-15 19:26:39 +02:00
Xavi Artigas f526ad8c26 Fix namespace clashes for Efl.Text.Cursor
Three renames are applied here:
Efl.Text.Cursor -> Efl.Text_Cursor.Object (class)
Efl.Text.Cursor_Type -> Efl.Text_Cursor.Type (enum)
Efl.Text.Cursor_Move_Type -> Efl.Text_Cursor.Move_Type (enum)

Nothing changes for the enums on the C side. For the class... Well,
the method names are a bit more verbose now.

These renames are required to avoid clashing with the Efl.Text interface.
This did not cause trouble to C# because interfaces are prefixed with "I",
but it did cause trouble to Eolian when the EO files were installed and
somebody tried to use them.
Ref T8648

Differential Revision: https://phab.enlightenment.org/D11663
2020-04-14 12:25:55 +02:00
Ali Alzyod 5245bc03be efl.ui.textbox: add test case for copy/paste results
since paste is now  working when called from user source code, this test case can be added

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11625
2020-04-06 11:05:27 +02:00
Mike Blumenkrantz 5565e90479 tests/hover: add behavior tests for elm_hover
verify geometry and smart callback triggering

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11632
2020-04-03 17:13:52 +02:00
Mike Blumenkrantz 6f933e01c7 tests/layout: add explicit test for freeze and thaw no-op correctness
this shouldn't trigger any canvas changes since nothing is happening
during the freeze

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11631
2020-04-03 17:13:50 +02:00
Mike Blumenkrantz 426967c778 tests/elm: add wrapper for forcing manual render in tests
this can be useful when a test needs to immediately verify whether a render
is occurring

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11630
2020-04-03 17:13:47 +02:00
Mike Blumenkrantz 8aaff3ba07 tests/elm: add helper macros for asserting size and position of objects
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11629
2020-04-03 17:13:44 +02:00
Marcel Hollerbach 11da918983 Replace strncmp code
the structure "!strcmp(X, "foo", strlen("foo"))" is equal to
"eina_has_prefix(X, "foo")", and the later is nicer to read, hence this
replaces it.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11620
2020-04-03 14:51:11 +02:00
Ali Alzyod d7d948c23d elm_entry: using keycode for main keyboard shortcuts
Previously we use key strings to detect keyboard shortcuts (for example copy/paste/select_all, .. etc)
Now we will use key code alongside with these key strings (I do not remove the key string, because I am afraid something depends on them because some methods do not send keycode with keys)

This issue can be easily detected when the keyboard layout is not a Latin language, for example Hitting "C" will produce key string depends on related language not letter C, but Keycodes remain the same regardless of keyboard layout.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11606
2020-04-03 14:39:54 +02:00
Ali Alzyod 43ac889bc1 evas_textblock: prevent updating cursor unless they are ready during markup_set
Summary:
During Markup_set at text block level, we will not update the cursors, unless their status is updated and ready.

This can cause serious issues, especially if a cursor also depends on another cursor for some calculations, (like the segfault happening in TextBox T8637)

Reviewers: woohyun, bu5hm4n, zmike

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8637

Differential Revision: https://phab.enlightenment.org/D11598
2020-03-26 14:49:02 +09:00
Marcel Hollerbach f6cb234070 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
2020-03-25 22:13:29 +01:00
Marcel Hollerbach 43f95ec6b3 suite_helpers: add helper for key down events
usefull for emulating key events.
2020-03-25 22:13:28 +01:00
Marcel Hollerbach 91b3476d51 suite_helper: do not use stacked values here
this is ending up beeing garbage pointers when not properly overwritten.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11597
2020-03-25 22:13:28 +01:00
Marcel Hollerbach a4d7698492 evas_textblock_tests: do not free a text cursor here
the cur_obj would have been always dead at this point, as the textblock
was freed. This now moved the textcursor object to a previous point.
However, we could also remove the explicit cursor deletion...

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11596
2020-03-25 22:13:25 +01:00
Marcel Hollerbach 3bfb31c6fe efl_check: unset the callback here
this is needed in order to not accidently overwrite stack values.
This never showed up while running the test suite, as erroring would
have aborted anyways. However, when we are running with CK_FORK=no, this
may leak into another test.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11595
2020-03-25 22:13:22 +01:00
Hermet Park 476e2b0521 canvas 3d: remove all canvas3d features across efl.
Reviewers: jsuya, kimcinoo, bu5hm4n, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11552
2020-03-25 19:14:02 +09:00