[glib] Fix /appinfo/mime tests
- From: Martin Pitt <martinpitt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Fix /appinfo/mime tests
- Date: Tue, 12 Mar 2013 06:07:20 +0000 (UTC)
commit 97050e503fc012239b61bef70df4e8f7586e3b7c
Author: Martin Pitt <martinpitt gnome org>
Date: Mon Mar 11 09:29:34 2013 +0100
Fix /appinfo/mime tests
Commit f641699 (for bug 675333) introduced a check whether the Exec= program in
a .desktop actually exists. This broke the /appinfo/mime/* test cases which use
executable names like "my_app".
Use real ones instead (like "echo" and "sleep"), and add a new
/appinfo/mime/ignore-nonexisting test case which verifies that
g_desktop_app_info_new() indeed ignores nonexisting executables.
https://bugzilla.gnome.org/show_bug.cgi?id=695191
gio/tests/mimeapps.c | 36 +++++++++++++++++++++++++++++++-----
1 files changed, 31 insertions(+), 5 deletions(-)
---
diff --git a/gio/tests/mimeapps.c b/gio/tests/mimeapps.c
index 9bc22ba..4d71ed9 100644
--- a/gio/tests/mimeapps.c
+++ b/gio/tests/mimeapps.c
@@ -38,7 +38,7 @@ const gchar *myapp_data =
"Encoding=UTF-8\n"
"Version=1.0\n"
"Type=Application\n"
- "Exec=my_app %f\n"
+ "Exec=true %f\n"
"Name=my app\n";
const gchar *myapp2_data =
@@ -46,7 +46,7 @@ const gchar *myapp2_data =
"Encoding=UTF-8\n"
"Version=1.0\n"
"Type=Application\n"
- "Exec=my_app2 %f\n"
+ "Exec=sleep %f\n"
"Name=my app 2\n";
const gchar *myapp3_data =
@@ -54,7 +54,7 @@ const gchar *myapp3_data =
"Encoding=UTF-8\n"
"Version=1.0\n"
"Type=Application\n"
- "Exec=my_app3 %f\n"
+ "Exec=sleep 1\n"
"Name=my app 3\n";
const gchar *myapp4_data =
@@ -62,7 +62,7 @@ const gchar *myapp4_data =
"Encoding=UTF-8\n"
"Version=1.0\n"
"Type=Application\n"
- "Exec=my_app4 %f\n"
+ "Exec=echo %f\n"
"Name=my app 4\n"
"MimeType=image/bmp;";
@@ -71,10 +71,18 @@ const gchar *myapp5_data =
"Encoding=UTF-8\n"
"Version=1.0\n"
"Type=Application\n"
- "Exec=my_app5 %f\n"
+ "Exec=true %f\n"
"Name=my app 5\n"
"MimeType=image/bmp;x-scheme-handler/ftp;";
+const gchar *nosuchapp_data =
+ "[Desktop Entry]\n"
+ "Encoding=UTF-8\n"
+ "Version=1.0\n"
+ "Type=Application\n"
+ "Exec=no_such_application %f\n"
+ "Name=no such app\n";
+
const gchar *defaults_data =
"[Default Applications]\n"
"image/bmp=myapp4.desktop;\n"
@@ -157,6 +165,12 @@ setup (void)
g_assert_no_error (error);
g_free (name);
+ name = g_build_filename (apphome, "nosuchapp.desktop", NULL);
+ g_test_message ("creating '%s'\n", name);
+ g_file_set_contents (name, nosuchapp_data, -1, &error);
+ g_assert_no_error (error);
+ g_free (name);
+
mimeapps = g_build_filename (apphome, "mimeapps.list", NULL);
g_test_message ("removing '%s'\n", mimeapps);
g_remove (mimeapps);
@@ -577,6 +591,17 @@ test_scheme_handler (void)
g_object_unref (info5);
}
+/* test that g_app_info_* ignores desktop files with nonexisting executables
+ */
+static void
+test_mime_ignore_nonexisting (void)
+{
+ GAppInfo *appinfo;
+
+ appinfo = (GAppInfo*)g_desktop_app_info_new ("nosuchapp.desktop");
+ g_assert (appinfo == NULL);
+}
+
int
main (int argc, char *argv[])
{
@@ -589,6 +614,7 @@ main (int argc, char *argv[])
g_test_add_func ("/appinfo/mime/file", test_mime_file);
g_test_add_func ("/appinfo/mime/scheme-handler", test_scheme_handler);
g_test_add_func ("/appinfo/mime/default-last-used", test_mime_default_last_used);
+ g_test_add_func ("/appinfo/mime/ignore-nonexisting", test_mime_ignore_nonexisting);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]