zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=526b1e2c72560f80bcc7c435a924b2def3016215

commit 526b1e2c72560f80bcc7c435a924b2def3016215
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Feb 25 09:23:46 2020 -0500

    tests/elm: verify image file_set -> memfile_set -> file_set
    
    Summary:
    ref D11392
    Depends on D11397
    
    Reviewers: kimcinoo, Hermet
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11398
---
 src/tests/elementary/elm_test_image.c | 51 +++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/src/tests/elementary/elm_test_image.c 
b/src/tests/elementary/elm_test_image.c
index 36e9aa2a84..bfd6dad3dd 100644
--- a/src/tests/elementary/elm_test_image.c
+++ b/src/tests/elementary/elm_test_image.c
@@ -18,6 +18,34 @@ struct _Test_Data
    int success;
 };
 
+static int
+_file_to_memory(const char *filename, char **result)
+{
+   int size;
+   FILE *f;
+
+   f = fopen(filename, "rb");
+   if (f == NULL)
+     {
+        *result = NULL;
+        return -1;
+     }
+
+   fseek(f, 0, SEEK_END);
+   size = ftell(f);
+   fseek(f, 0, SEEK_SET);
+   *result = (char *)malloc(size + 1);
+   if ((size_t)size != fread(*result, sizeof(char), size, f))
+     {
+        free(*result);
+        fclose(f);
+        return -1;
+     }
+   fclose(f);
+   (*result)[size] = 0;
+   return size;
+}
+
 EFL_START_TEST(elm_image_legacy_type_check)
 {
    Evas_Object *win, *image;
@@ -227,6 +255,28 @@ EFL_START_TEST(elm_image_evas_image_get)
 }
 EFL_END_TEST
 
+EFL_START_TEST(elm_image_test_memfile_set)
+{
+   Evas_Object *win, *image;
+   char *mem;
+   int size;
+   const char *file = NULL;
+
+   win = win_add(NULL, "image", ELM_WIN_BASIC);
+
+   image = elm_image_add(win);
+   ck_assert(elm_image_file_set(image, 
ELM_IMAGE_DATA_DIR"/images/icon_01.png", NULL));
+   size = _file_to_memory(ELM_IMAGE_DATA_DIR"/images/icon_02.png", &mem);
+   ck_assert_int_ge(size, 0);
+   ck_assert(elm_image_memfile_set(image, mem, size, "png", NULL));
+   elm_image_file_get(image, &file, NULL);
+   ck_assert_str_ne(file, ELM_IMAGE_DATA_DIR"/images/icon_01.png");
+   ck_assert(elm_image_file_set(image, 
ELM_IMAGE_DATA_DIR"/images/icon_01.png", NULL));
+   elm_image_file_get(image, &file, NULL);
+   ck_assert_str_eq(file, ELM_IMAGE_DATA_DIR"/images/icon_01.png");
+}
+EFL_END_TEST
+
 void elm_test_image(TCase *tc)
 {
    tcase_add_test(tc, elm_image_legacy_type_check);
@@ -235,4 +285,5 @@ void elm_test_image(TCase *tc)
    tcase_add_test(tc, elm_image_async_mmap);
    tcase_add_test(tc, elm_image_evas_object_color_set);
    tcase_add_test(tc, elm_image_evas_image_get);
+   tcase_add_test(tc, elm_image_test_memfile_set);
 }

-- 


Reply via email to