[gdk-pixbuf] tests: Add a test for inverted CMYK JPEG files



commit 3283a3028ae710bba6fe14c489e8a892a0f48476
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Nov 3 19:24:28 2014 +0100

    tests: Add a test for inverted CMYK JPEG files
    
    https://bugzilla.gnome.org/show_bug.cgi?id=618096

 tests/Makefile.am       |    7 +++++
 tests/pixbuf-jpeg.c     |   61 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/premature-end.jpg |  Bin 0 -> 8715 bytes
 tests/premature-end.png |  Bin 0 -> 62758 bytes
 4 files changed, 68 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index bf1ec82..b679c02 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -28,6 +28,7 @@ test_programs =                       \
        pixbuf-randomly-modified        \
        pixbuf-threads                  \
        pixbuf-icc                      \
+       pixbuf-jpeg                     \
        pixbuf-dpi                      \
        pixbuf-stream                   \
        pixbuf-resource                 \
@@ -90,6 +91,12 @@ pixbuf_save_SOURCES =                        \
        test-common.h                   \
        $(NULL)
 
+pixbuf_jpeg_SOURCES =                  \
+       pixbuf-jpeg.c                   \
+       test-common.c                   \
+       test-common.h                   \
+       $(NULL)
+
 pixbuf_short_git_write_SOURCES =       \
        pixbuf-short-gif-write.c
 
diff --git a/tests/pixbuf-jpeg.c b/tests/pixbuf-jpeg.c
new file mode 100644
index 0000000..057f188
--- /dev/null
+++ b/tests/pixbuf-jpeg.c
@@ -0,0 +1,61 @@
+/* -*- Mode: C; c-basic-offset: 2; -*- */
+/* GdkPixbuf library - test loaders
+ *
+ * Copyright (C) 2013 Red Hat, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Matthias Clasen
+ */
+
+#include "gdk-pixbuf/gdk-pixbuf.h"
+#include "test-common.h"
+#include <string.h>
+
+static void
+test_inverted_cmyk_jpeg (void)
+{
+  GError *error = NULL;
+  GdkPixbuf *ref, *ref2;
+  gboolean ret;
+
+  if (!format_supported ("jpeg") || !format_supported ("png"))
+    {
+      g_test_skip ("format not supported");
+      return;
+    }
+
+  ref = gdk_pixbuf_new_from_file (g_test_get_filename (G_TEST_DIST, "premature-end.jpg", NULL), &error);
+  g_assert_no_error (error);
+
+  ref2 = gdk_pixbuf_new_from_file (g_test_get_filename (G_TEST_DIST, "premature-end.png", NULL), &error);
+  g_assert_no_error (error);
+
+  ret = pixdata_equal (ref, ref2, &error);
+  g_assert_no_error (error);
+  g_assert (ret);
+
+  g_object_unref (ref);
+  g_object_unref (ref2);
+}
+
+int
+main (int argc, char **argv)
+{
+  g_test_init (&argc, &argv, NULL);
+
+  g_test_add_func ("/pixbuf/jpeg/inverted_cmyk_jpeg", test_inverted_cmyk_jpeg);
+
+  return g_test_run ();
+}
diff --git a/tests/premature-end.jpg b/tests/premature-end.jpg
new file mode 100644
index 0000000..8eb5523
Binary files /dev/null and b/tests/premature-end.jpg differ
diff --git a/tests/premature-end.png b/tests/premature-end.png
new file mode 100644
index 0000000..5580129
Binary files /dev/null and b/tests/premature-end.png differ


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]