From: Mike Blumenkrantz Date: Tue, 25 Feb 2020 14:23:46 +0000 (-0500) Subject: tests/elm: verify image file_set -> memfile_set -> file_set X-Git-Tag: submit/tizen/20200303.214157~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc0a5111e4e8b2174aa2f7e31bb9dd512dcc4098;p=platform%2Fupstream%2Fefl.git 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 --- diff --git a/src/tests/elementary/elm_test_image.c b/src/tests/elementary/elm_test_image.c index 36e9aa2..bfd6dad 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); }