diff --git a/testsuite/gtk/Makefile.am b/testsuite/gtk/Makefile.am index 10301c68e6..d9f8332364 100644 --- a/testsuite/gtk/Makefile.am +++ b/testsuite/gtk/Makefile.am @@ -32,6 +32,7 @@ TEST_PROGS += \ bitmask \ builder \ cellarea \ + check-icon-names \ clipboard \ defaultvalue \ entry \ diff --git a/testsuite/gtk/check-icon-names.c b/testsuite/gtk/check-icon-names.c new file mode 100644 index 0000000000..fe3646c75f --- /dev/null +++ b/testsuite/gtk/check-icon-names.c @@ -0,0 +1,147 @@ +#include + +static char *icon_names[] = { + /* stock icons */ + "dialog-password", + "dialog-error", + "dialog-information", + "dialog-question", + "dialog-warning", + /* "gtk-dnd", */ + /* "gtk-dnd-multiple", */ + /* "gtk-apply", */ + /* "gtk-cancel", */ + /* "gtk-no", */ + /* "gtk-ok", */ + /* "gtk-yes", */ + "window-close", + "list-add", + "format-justify-center", + "format-justify-fill", + "format-justify-left", + "format-justify-right", + "go-bottom", + "media-optical", + /* "gtk-convert", */ + "edit-copy", + "edit-cut", + "go-down", + "system-run", + "application-exit", + "go-first", + /* "gtk-select-font", */ + "view-fullscreen", + "view-restore", + "drive-harddisk", + "help-contents", + "go-home", + "dialog-information", + "go-jump", + "go-last", + "go-previous", + "image-missing", + "network-idle", + "document-new", + "document-open", + /* "gtk-orientation-portrait", */ + /* "gtk-orientation-landscape", */ + /* "gtk-orientation-reverse-portrait", */ + /* "gtk-orientation-reverse-landscape", */ + /* "gtk-page-setup", */ + "edit-paste", + /* "gtk-preferences", */ + "document-print", + "printer-error", + /* "printer-paused", */ + "document-print-preview", + /* "printer-info", */ + /* "printer-warning", */ + "document-properties", + "edit-redo", + "list-remove", + "view-refresh", + "document-revert", + "go-next", + "document-save", + "media-floppy", + "document-save-as", + "edit-find", + "edit-find-replace", + "view-sort-descending", + "view-sort-ascending", + "tools-check-spelling", + "process-stop", + "format-text-bold", + "format-text-italic", + "format-text-strikethrough", + "format-text-underline", + "format-indent-more", + "format-indent-less", + "go-top", + "edit-delete", + /* "gtk-undelete", */ + "edit-undo", + "go-up", + "text-x-generic", + "folder", + "help-about", + /* "gtk-connect", */ + /* "gtk-disconnect", */ + /* "gtk-edit", */ + /* "gtk-caps-lock-warning", */ + "media-seek-forward", + "media-skip-forward", + "media-playback-pause", + "media-playback-start", + "media-skip-backward", + "media-record", + "media-seek-backward", + "media-playback-stop", + /* "gtk-index", */ + "zoom-original", + "zoom-in", + "zoom-out", + "zoom-fit-best", + "edit-select-all", + "edit-clear" + /* "gtk-select-color", */ + /* "gtk-color-picker" */ +}; + +static void +test_icon_existence (gconstpointer icon_name) +{ + GtkIconInfo *info; + + /* Not using generic fallback and builtins here, as we explicitly want to check the + * icon theme. + * The icon size is randomly chosen. + */ + info = gtk_icon_theme_lookup_icon (gtk_icon_theme_get_default (), icon_name, 16, 0); + if (info == NULL) + { + g_test_message ("Failed to look up icon for \"%s\"", (char *) icon_name); + g_test_fail (); + return; + } + + g_object_unref (info); +} + +int +main (int argc, char *argv[]) +{ + guint i; + char *test_name; + + gtk_test_init (&argc, &argv); + + for (i = 0; i < G_N_ELEMENTS (icon_names); i++) + { + test_name = g_strdup_printf ("/check-icon-names/%s", icon_names[i]); + g_test_add_data_func (test_name, icon_names[i], test_icon_existence); + g_free (test_name); + } + + return g_test_run(); +}