gtk2/testsuite/gtk/check-icon-names.c
Matthias Clasen 42864bc338 Avoid some duplicate test names
GLib considers these an bug now.
2015-09-02 07:15:57 -04:00

182 lines
4.5 KiB
C

#include <gtk/gtk.h>
static char *icon_names[] = {
/*** stock icons, from gtkiconfactory.c:get_default_icons() ***/
"dialog-password",
"dialog-error",
"dialog-information",
"dialog-question",
"dialog-warning",
"gtk-dnd", /* internal icon */
"gtk-dnd-multiple", /* internal icon */
"gtk-apply", /* deprecated stock id */
"gtk-cancel", /* deprecated stock id */
"gtk-no", /* deprecated stock id */
"gtk-ok", /* deprecated stock id */
"gtk-yes", /* deprecated stock id */
"window-close",
"list-add",
"format-justify-center",
"format-justify-fill",
"format-justify-left",
"format-justify-right",
"go-bottom",
"media-optical",
"gtk-convert", /* deprecated stock id */
"edit-copy",
"edit-cut",
"go-down",
"system-run",
"application-exit",
"go-first",
"gtk-select-font", /* deprecated stock id */
"view-fullscreen",
"view-restore",
"drive-harddisk",
"help-contents",
"go-home",
"go-jump",
"go-last",
"go-previous",
"image-missing",
"network-idle",
"document-new",
"document-open",
"gtk-orientation-portrait", /* internal icon */
"gtk-orientation-landscape", /* internal icon */
"gtk-orientation-reverse-portrait", /* internal icon */
"gtk-orientation-reverse-landscape", /* internal icon */
"gtk-page-setup", /* internal icon */
"edit-paste",
"gtk-preferences", /* deprecated stock id */
"document-print",
"document-print-preview",
"printer-error",
/* "printer-paused", */
/* "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", /* deprecated stock id */
"edit-undo",
"go-up",
"text-x-generic",
"folder",
"help-about",
"gtk-connect", /* deprecated stock id */
"gtk-disconnect", /* deprecated stock id */
"gtk-edit", /* deprecated stock id */
"gtk-caps-lock-warning", /* internal icon */
"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", /* deprecated stock id */
"zoom-original",
"zoom-in",
"zoom-out",
"zoom-fit-best",
"edit-select-all",
"edit-clear",
"gtk-select-color", /* deprecated stock id */
"gtk-color-picker", /* deprecated stock id */
/*** Icons used in code or templates, sorted alphabetically ***/
"audio-volume-high",
"audio-volume-high-symbolic",
"audio-volume-low",
"audio-volume-low-symbolic",
"audio-volume-medium",
"audio-volume-medium-symbolic",
"audio-volume-muted",
"audio-volume-muted-symbolic",
"changes-allow-symbolic",
"changes-prevent-symbolic",
"dialog-password-symbolic",
"dialog-warning-symbolic",
"document-open-symbolic",
"edit-clear-symbolic",
"edit-find-symbolic",
"list-add-symbolic",
"list-remove-symbolic",
"open-menu-symbolic",
"pan-down-symbolic",
"pan-end-symbolic",
"pan-start-symbolic",
"pan-up-symbolic",
"user-trash-full-symbolic",
"user-trash-symbolic",
"window-close-symbolic",
"window-maximize-symbolic",
"window-minimize-symbolic",
"window-restore-symbolic"
};
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, GTK_ICON_LOOKUP_DIR_LTR);
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;
char *theme;
gtk_test_init (&argc, &argv);
g_object_get (gtk_settings_get_default (), "gtk-icon-theme-name", &theme, NULL);
g_test_message ("Testing icon theme: %s", theme);
g_free (theme);
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();
}