summaryrefslogtreecommitdiff
path: root/test/test-nautilus-mime-actions-set.c
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2018-01-06 01:17:29 +0100
committerCarlos Soriano <csoriano@gnome.org>2018-01-06 01:17:29 +0100
commit12601e9204bb6119919612c8c5bd4fd89db1e077 (patch)
tree6741e9ef367af128e3a5c9ee1ad482737c098346 /test/test-nautilus-mime-actions-set.c
parente7578a2de00cb4f789891b7d385d27cfd794400c (diff)
downloadnautilus-12601e9204bb6119919612c8c5bd4fd89db1e077.tar.gz
tests: Split between display and displayless
Some tests require gtk_init, which requires a display and therefore cannot be part of the tests to be ran in the GitLab CI. Split those so we can pass an option to meson to only test the displayless tests for GitLab CI.
Diffstat (limited to 'test/test-nautilus-mime-actions-set.c')
-rw-r--r--test/test-nautilus-mime-actions-set.c187
1 files changed, 0 insertions, 187 deletions
diff --git a/test/test-nautilus-mime-actions-set.c b/test/test-nautilus-mime-actions-set.c
deleted file mode 100644
index a08f817d6..000000000
--- a/test/test-nautilus-mime-actions-set.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* test-mime.c - Test for the mime handler detection features of the GNOME
- * Virtual File System Library
- *
- * Copyright (C) 2000 Eazel
- *
- * The Gnome Library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Gnome Library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with the Gnome Library; see the file COPYING.LIB. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Author: Maciej Stachowiak <mjs@eazel.com>
- */
-
-#include <config.h>
-
-#include <gtk/gtk.h>
-#include <src/nautilus-mime-actions.h>
-#include <stdio.h>
-
-static gboolean ready = FALSE;
-
-static void
-usage (const char *name)
-{
- fprintf (stderr, "Usage: %s uri field value\n", name);
- fprintf (stderr, "Valid field values are: \n");
- fprintf (stderr, "\tdefault_action_type\n");
- fprintf (stderr, "\tdefault_application\n");
- fprintf (stderr, "\tdefault_component\n");
- fprintf (stderr, "\tshort_list_applicationss\n");
- fprintf (stderr, "\tshort_list_components\n");
- fprintf (stderr, "\tadd_to_all_applicationss\n");
- fprintf (stderr, "\tremove_from_all_applications\n");
- exit (1);
-}
-
-static GnomeVFSMimeActionType
-str_to_action_type (const char *str)
-{
- if (g_ascii_strcasecmp (str, "component") == 0)
- {
- return GNOME_VFS_MIME_ACTION_TYPE_COMPONENT;
- }
- else if (g_ascii_strcasecmp (str, "application") == 0)
- {
- return GNOME_VFS_MIME_ACTION_TYPE_APPLICATION;
- }
- else
- {
- return GNOME_VFS_MIME_ACTION_TYPE_NONE;
- }
-}
-
-static char **
-strsplit_handle_null (const char *str,
- const char *delim,
- int max)
-{
- return g_strsplit ((str == NULL ? "" : str), delim, max);
-}
-
-
-static GList *
-strsplit_to_list (const char *str,
- const char *delim,
- int max)
-{
- char **strv;
- GList *retval;
- int i;
-
- strv = strsplit_handle_null (str, delim, max);
-
- retval = NULL;
-
- for (i = 0; strv[i] != NULL; i++)
- {
- retval = g_list_prepend (retval, strv[i]);
- }
-
- retval = g_list_reverse (retval);
- /* Don't strfreev, since we didn't copy the individual strings. */
- g_free (strv);
-
- return retval;
-}
-
-static GList *
-comma_separated_str_to_str_list (const char *str)
-{
- return strsplit_to_list (str, ",", 0);
-}
-
-static void
-ready_callback (NautilusFile *file,
- gpointer callback_data)
-{
- ready = TRUE;
-}
-
-int
-main (int argc,
- char **argv)
-{
- const char *uri;
- const char *field;
- const char *value;
- NautilusFile *file;
- NautilusFileAttributes attributes;
-
- gtk_init (&argc, &argv);
-
- if (argc < 3)
- {
- usage (argv[0]);
- }
-
- uri = argv[1];
- field = argv[2];
- value = argv[3];
-
- file = nautilus_file_get_by_uri (uri);
-
- attributes = nautilus_mime_actions_get_full_file_attributes ();
- nautilus_file_call_when_ready (file, attributes, ready_callback, NULL);
-
- while (!ready)
- {
- gtk_main_iteration ();
- }
-
- if (strcmp (field, "default_action_type") == 0)
- {
- puts ("default_action_type");
- nautilus_mime_set_default_action_type_for_file (file, str_to_action_type (value));
- }
- else if (strcmp (field, "default_application") == 0)
- {
- puts ("default_application");
- nautilus_mime_set_default_application_for_file (file, value);
- }
- else if (strcmp (field, "default_component") == 0)
- {
- puts ("default_component");
- nautilus_mime_set_default_component_for_file (file, value);
- }
- else if (strcmp (field, "short_list_applicationss") == 0)
- {
- puts ("short_list_applications");
- nautilus_mime_set_short_list_applications_for_file
- (file, comma_separated_str_to_str_list (value));
- }
- else if (strcmp (field, "short_list_components") == 0)
- {
- puts ("short_list_components");
- nautilus_mime_set_short_list_components_for_file
- (file, comma_separated_str_to_str_list (value));
- }
- else if (strcmp (field, "add_to_all_applicationss") == 0)
- {
- puts ("add_to_all_applications");
- nautilus_mime_extend_all_applications_for_file
- (file, comma_separated_str_to_str_list (value));
- }
- else if (strcmp (field, "remove_from_all_applications") == 0)
- {
- puts ("remove_from_all_applications");
- nautilus_mime_remove_from_all_applications_for_file
- (file, comma_separated_str_to_str_list (value));
- }
- else
- {
- usage (argv[0]);
- }
-
- return 0;
-}