raster pushed a commit to branch master.

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

commit c358ac0222c56356d4ed2d2cb722c61e67e56dec
Author: Vincent Torri <vincent.to...@gmail.com>
Date:   Fri Aug 11 17:51:29 2017 +0900

    evas tests - add Jpeg2000 tests
    
    add tests for loading jp2k files correctly and the images
---
 src/Makefile_Evas.am                 |   6 +++-
 src/tests/evas/evas_test_image.c     |  68 +++++++++++++++++++++++++++++++++--
 src/tests/evas/images/flower.jp2     | Bin 0 -> 1825117 bytes
 src/tests/evas/images/flower.jp2.png | Bin 0 -> 2014181 bytes
 src/tests/evas/images/train.j2k      | Bin 0 -> 525125 bytes
 src/tests/evas/images/train.j2k.png  | Bin 0 -> 658606 bytes
 6 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 72aeb4bbfb..18d609abc0 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -2448,7 +2448,11 @@ tests/evas/images/Pic4.xpm \
 tests/evas/meshes/md2/sonic.md2 \
 tests/evas/meshes/obj/man_mesh.obj \
 tests/evas/images/gray.jpg \
-tests/evas/images/bg_gray.png
+tests/evas/images/bg_gray.png \
+tests/evas/images/flower.jp2k \
+tests/evas/images/flower.jp2k.png \
+tests/evas/images/train.jp2k \
+tests/evas/images/train.jp2k.png
 
 if HAVE_ELUA
 
diff --git a/src/tests/evas/evas_test_image.c b/src/tests/evas/evas_test_image.c
index c34a52da69..5cbfa015fc 100644
--- a/src/tests/evas/evas_test_image.c
+++ b/src/tests/evas/evas_test_image.c
@@ -44,6 +44,10 @@ static const char *exts[] = {
 #ifdef BUILD_LOADER_TGV
   ,"tgv"
 #endif
+#ifdef BUILD_LOADER_JP2K
+  ,"jp2"
+  ,"j2k"
+#endif
 };
 
 START_TEST(evas_object_image_loader)
@@ -331,6 +335,7 @@ START_TEST(evas_object_image_orient)
 }
 END_TEST
 
+#ifdef BUILD_LOADER_TGV
 START_TEST(evas_object_image_tgv_loader_data)
 {
    Evas *e = _setup_evas();
@@ -387,6 +392,7 @@ START_TEST(evas_object_image_tgv_loader_data)
    evas_shutdown();
 }
 END_TEST
+#endif
 
 START_TEST(evas_object_image_all_loader_data)
 {
@@ -812,16 +818,72 @@ START_TEST(evas_object_image_map_unmap)
 }
 END_TEST
 
+#if BUILD_LOADER_JP2K
+START_TEST(evas_object_image_jp2k_loader_data)
+{
+   Evas *e = _setup_evas();
+   Evas_Object *obj, *ref;
+   Eina_Strbuf *str;
+
+   const char *files[] = {
+     "train.j2k",
+     "flower.jp2"
+   };
+   unsigned int i;
+
+   obj = evas_object_image_add(e);
+   ref = evas_object_image_add(e);
+   str = eina_strbuf_new();
+
+   for (i = 0; i < sizeof (files) / sizeof (files[0]); i++)
+     {
+        int w, h, r_w, r_h;
+        const uint32_t *d, *r_d;
+
+        eina_strbuf_append_printf(str, "%s/%s", TESTS_IMG_DIR, files[i]);
+        evas_object_image_file_set(obj, eina_strbuf_string_get(str), NULL);
+        fail_if(evas_object_image_load_error_get(obj) != EVAS_LOAD_ERROR_NONE);
+        evas_object_image_size_get(obj, &w, &h);
+        d = evas_object_image_data_get(obj, EINA_FALSE);
+
+        eina_strbuf_reset(str);
+
+        eina_strbuf_append_printf(str, "%s/%s.png", TESTS_IMG_DIR, files[i]);
+        evas_object_image_file_set(ref, eina_strbuf_string_get(str), NULL);
+        fail_if(evas_object_image_load_error_get(ref) != EVAS_LOAD_ERROR_NONE);
+        evas_object_image_size_get(ref, &r_w, &r_h);
+        r_d = evas_object_image_data_get(ref, EINA_FALSE);
+
+        eina_strbuf_reset(str);
+
+        fail_if(w != r_w || h != r_h);
+        fail_if(memcmp(d, r_d, w * h * 4));
+     }
+
+   evas_object_del(obj);
+   evas_object_del(ref);
+
+   eina_strbuf_free(str);
+
+   evas_free(e);
+   evas_shutdown();
+}
+END_TEST
+#endif
+
 void evas_test_image_object(TCase *tc)
 {
    tcase_add_test(tc, evas_object_image_defaults);
    tcase_add_test(tc, evas_object_image_loader);
    tcase_add_test(tc, evas_object_image_loader_orientation);
    tcase_add_test(tc, evas_object_image_orient);
-#if BUILD_LOADER_TGV && BUILD_LOADER_PNG
-   tcase_add_test(tc, evas_object_image_tgv_loader_data);
-#endif
 #if BUILD_LOADER_PNG
+# if BUILD_LOADER_TGV
+   tcase_add_test(tc, evas_object_image_tgv_loader_data);
+# endif
+# if BUILD_LOADER_JP2K
+   tcase_add_test(tc, evas_object_image_jp2k_loader_data);
+# endif
    tcase_add_test(tc, evas_object_image_all_loader_data);
    tcase_add_test(tc, evas_object_image_buggy);
    tcase_add_test(tc, evas_object_image_map_unmap);
diff --git a/src/tests/evas/images/flower.jp2 b/src/tests/evas/images/flower.jp2
new file mode 100644
index 0000000000..a2e0e31f92
Binary files /dev/null and b/src/tests/evas/images/flower.jp2 differ
diff --git a/src/tests/evas/images/flower.jp2.png 
b/src/tests/evas/images/flower.jp2.png
new file mode 100644
index 0000000000..ee3c40c8c8
Binary files /dev/null and b/src/tests/evas/images/flower.jp2.png differ
diff --git a/src/tests/evas/images/train.j2k b/src/tests/evas/images/train.j2k
new file mode 100644
index 0000000000..d426050303
Binary files /dev/null and b/src/tests/evas/images/train.j2k differ
diff --git a/src/tests/evas/images/train.j2k.png 
b/src/tests/evas/images/train.j2k.png
new file mode 100644
index 0000000000..e7262a926f
Binary files /dev/null and b/src/tests/evas/images/train.j2k.png differ

-- 


Reply via email to