zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7768b54043ed74fa0d0ce0891be49269a51c7348

commit 7768b54043ed74fa0d0ce0891be49269a51c7348
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Feb 14 08:33:49 2020 -0500

    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
---
 src/tests/evas/evas_test_image.c | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

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

-- 


Reply via email to