diff options
author | Mike Blumenkrantz <zmike@samsung.com> | 2020-02-14 08:33:49 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@samsung.com> | 2020-02-14 08:33:49 -0500 |
commit | 7768b54043ed74fa0d0ce0891be49269a51c7348 (patch) | |
tree | 64e85ddd087e752798b02592f1203a292d486d2d | |
parent | acee4e1db53e00e145d845fe99a86b4dffe753f6 (diff) | |
download | efl-7768b54043ed74fa0d0ce0891be49269a51c7348.tar.gz |
tests/evas: add simple test for skip_head property
Summary:
when using this property, there should be no mmap loaded after a call
to evas_object_image_file_set, and we want to make sure the image is
eventually loaded
ref T8378
Depends on D11340
Reviewers: raster
Reviewed By: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8378
Differential Revision: https://phab.enlightenment.org/D11341
-rw-r--r-- | src/tests/evas/evas_test_image.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/tests/evas/evas_test_image.c b/src/tests/evas/evas_test_image.c index 3f39b270e5..e260425263 100644 --- a/src/tests/evas/evas_test_image.c +++ b/src/tests/evas/evas_test_image.c @@ -9,6 +9,7 @@ #include <Evas.h> #include <Ecore_Evas.h> +#include <Ecore.h> #include "evas_suite.h" #include "evas_tests_helpers.h" @@ -1161,6 +1162,45 @@ EFL_START_TEST(evas_object_image_save_from_proxy) } EFL_END_TEST +static void +_preload(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + int *called = data; + int w, h; + + *called = 1; + evas_object_image_size_get(obj, &w, &h); + ck_assert_int_ge(w, 1); + ck_assert_int_ge(h, 1); + ecore_main_loop_quit(); +} + +EFL_START_TEST(evas_object_image_load_head_skip) +{ + Evas *e; + Evas_Object *obj; + const char *img_path; + int called = 0; + + e = _setup_evas(); + img_path = TESTS_IMG_DIR "/Pic1.png"; + + obj = evas_object_image_filled_add(e); + evas_object_resize(obj, 100, 100); + + evas_object_image_load_head_skip_set(obj, EINA_TRUE); + evas_object_event_callback_add(obj, EVAS_CALLBACK_IMAGE_PRELOADED, _preload, &called); + evas_object_image_file_set(obj, img_path, NULL); + evas_object_image_preload(obj, EINA_FALSE); + + ck_assert(!efl_file_mmap_get(obj)); + ecore_main_loop_begin(); + ck_assert_int_eq(called, 1); + + evas_free(e); +} +EFL_END_TEST + void evas_test_image_object(TCase *tc) { tcase_add_test(tc, evas_object_image_api); @@ -1188,6 +1228,7 @@ void evas_test_image_object(TCase *tc) tcase_add_test(tc, evas_object_image_cached_data_comparision); tcase_add_test(tc, evas_object_image_9patch); tcase_add_test(tc, evas_object_image_save_from_proxy); + tcase_add_test(tc, evas_object_image_load_head_skip); } |