forked from AuroraMiddleware/gtk
testsuite: Add a test for icon names
This test just checks that all the icon names that GTK uses are present in the default icon theme. As icon names are not checked programmatically and we do not want to run into missing-icon icons in the code, this test seems necessary. For now, it's just a stub that tests stock icons.
This commit is contained in:
parent
d769f338f2
commit
74b6f5fba8
@ -32,6 +32,7 @@ TEST_PROGS += \
|
||||
bitmask \
|
||||
builder \
|
||||
cellarea \
|
||||
check-icon-names \
|
||||
clipboard \
|
||||
defaultvalue \
|
||||
entry \
|
||||
|
147
testsuite/gtk/check-icon-names.c
Normal file
147
testsuite/gtk/check-icon-names.c
Normal file
@ -0,0 +1,147 @@
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
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();
|
||||
}
|
Loading…
Reference in New Issue
Block a user