summaryrefslogtreecommitdiff
path: root/tests/test-common.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-10-06 04:17:03 +0200
committerBenjamin Otte <otte@redhat.com>2015-10-13 02:56:48 +0200
commitfc654ce62c57e653a7c6e9e85db199108fa0b1e1 (patch)
treeb183c36f2c88e217fd63c4a23bd9ed7c2662eaa8 /tests/test-common.c
parente93a1b5e261f4211c7ea2666843abe54467cde05 (diff)
downloadgdk-pixbuf-fc654ce62c57e653a7c6e9e85db199108fa0b1e1.tar.gz
tests: Implement format_supported() differently
Instead of using strstr (filename, modulename); use has_suffix (filenname, extension_supported_by_module); That way, files can be named .jpg and .jpeg without things going wrong.
Diffstat (limited to 'tests/test-common.c')
-rw-r--r--tests/test-common.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/tests/test-common.c b/tests/test-common.c
index fef9d947c..0f4e4c01e 100644
--- a/tests/test-common.c
+++ b/tests/test-common.c
@@ -29,35 +29,29 @@
gboolean
format_supported (const gchar *filename)
{
- const gchar *name = NULL;
GSList *formats, *l;
gboolean retval;
- const gchar *names[] = { "png", "jpeg", "bmp", "gif", "ras",
- "tga", "xpm", "xbm", "ico", "tiff" };
- gint i;
-
- for (i = 0; i < G_N_ELEMENTS (names); i++)
- {
- if (strstr (filename, names[i]))
- {
- name = names[i];
- break;
- }
- }
- if (name == NULL)
- return FALSE;
retval = FALSE;
formats = gdk_pixbuf_get_formats ();
for (l = formats; l; l = l->next)
{
GdkPixbufFormat *format = l->data;
+ char **extensions = gdk_pixbuf_format_get_extensions (format);
+ gint i;
- if (g_str_equal (gdk_pixbuf_format_get_name (format), name))
+ for (i = 0; extensions[i]; i++)
{
- retval = TRUE;
- break;
+ if (g_str_has_suffix (filename, extensions[i]))
+ {
+ retval = TRUE;
+ break;
+ }
}
+
+ g_free (extensions);
+ if (retval)
+ break;
}
g_slist_free (formats);