[gdk-pixbuf] Add a test for icc profile loading
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdk-pixbuf] Add a test for icc profile loading
- Date: Mon, 16 Dec 2013 23:47:55 +0000 (UTC)
commit 50b6e1b16e7c594b776fdbbff4cb527c95b13e51
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Dec 16 18:47:04 2013 -0500
Add a test for icc profile loading
This test verifies that the preceding commit indeed
makes icc-profile loading from jpeg files work.
tests/Makefile.am | 3 ++
tests/icc-profile.jpeg | Bin 0 -> 9575 bytes
tests/icc-profile.png | Bin 0 -> 6734 bytes
tests/pixbuf-icc.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 92 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2886804..ac367f7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -31,12 +31,15 @@ test_programs = \
pixbuf-icon-serialize \
pixbuf-randomly-modified \
pixbuf-threads \
+ pixbuf-icc \
$(NULL)
dist_test_data = \
test-image.png \
test-animation.gif \
test-animation.ani \
+ icc-profile.jpeg \
+ icc-profile.png \
$(wildcard $(srcdir)/test-images/*)
-include $(top_srcdir)/git.mk
diff --git a/tests/icc-profile.jpeg b/tests/icc-profile.jpeg
new file mode 100644
index 0000000..c2d7846
Binary files /dev/null and b/tests/icc-profile.jpeg differ
diff --git a/tests/icc-profile.png b/tests/icc-profile.png
new file mode 100644
index 0000000..8a22b53
Binary files /dev/null and b/tests/icc-profile.png differ
diff --git a/tests/pixbuf-icc.c b/tests/pixbuf-icc.c
new file mode 100644
index 0000000..e46c936
--- /dev/null
+++ b/tests/pixbuf-icc.c
@@ -0,0 +1,89 @@
+/* -*- Mode: C; c-basic-offset: 2; -*- */
+/* GdkPixbuf library - test loaders
+ *
+ * Copyright (C) 2001 S�ren Sandmann (sandmann daimi au dk)
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+#include "gdk-pixbuf/gdk-pixbuf.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+static void
+test_incremental (gconstpointer data)
+{
+ const gchar *filename = data;
+ GdkPixbufLoader *loader;
+ GdkPixbuf *pixbuf;
+ GError *error = NULL;
+ const gchar *profile;
+ gchar *contents;
+ gsize size;
+
+
+ g_file_get_contents (g_test_get_filename (G_TEST_DIST, filename, NULL), &contents, &size, &error);
+ g_assert_no_error (error);
+
+ loader = gdk_pixbuf_loader_new ();
+
+ gdk_pixbuf_loader_write (loader, (const guchar*)contents, size, &error);
+ g_assert_no_error (error);
+
+ gdk_pixbuf_loader_close (loader, &error);
+ g_assert_no_error (error);
+
+ pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
+ profile = gdk_pixbuf_get_option (pixbuf, "icc-profile");
+ g_assert (profile != NULL);
+
+ g_object_unref (loader);
+ g_free (contents);
+}
+
+static void
+test_nonincremental (gconstpointer data)
+{
+ const gchar *filename = data;
+ GError *error = NULL;
+ GdkPixbuf *pixbuf;
+ const gchar *profile;
+
+ pixbuf = gdk_pixbuf_new_from_file (g_test_get_filename (G_TEST_DIST, filename, NULL), &error);
+ g_assert_no_error (error);
+
+ profile = gdk_pixbuf_get_option (pixbuf, "icc-profile");
+ g_assert (profile != NULL);
+
+ g_object_unref (pixbuf);
+}
+
+int
+main (int argc, char **argv)
+{
+#if !GLIB_CHECK_VERSION (2, 35, 3)
+ g_type_init ();
+#endif
+
+ g_test_init (&argc, &argv, NULL);
+
+ g_test_add_data_func ("/pixbuf/icc/png", "icc-profile.png", test_nonincremental);
+ g_test_add_data_func ("/pixbuf/icc/jpeg", "icc-profile.jpeg", test_nonincremental);
+ g_test_add_data_func ("/pixbuf/icc/png/incremental", "icc-profile.png", test_incremental);
+ g_test_add_data_func ("/pixbuf/icc/jpeg/incremental", "icc-profile.jpeg", test_incremental);
+
+ return g_test_run ();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]