summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-10-06 04:17:03 +0200
committerBenjamin Otte <otte@redhat.com>2015-10-06 04:28:03 +0200
commitac18382871eb1f16065ecdb7eb84ae88025e8bde (patch)
tree01ec41ac0f84285be39bfe9ca78993dcfb3e7c0c
parentab39a47af44de683b8460ddd00f73fd9d1f55074 (diff)
downloadgdk-pixbuf-ac18382871eb1f16065ecdb7eb84ae88025e8bde.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.
-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);