[glib] appinfo: Add some testcases for searching



commit 6e0bbd8adb861b21de24c1701e0de21bae339e73
Author: Ryan Lortie <desrt desrt ca>
Date:   Thu Oct 10 09:28:30 2013 -0400

    appinfo: Add some testcases for searching
    
    https://bugzilla.gnome.org/show_bug.cgi?id=711557

 gio/tests/.gitignore                               |    1 +
 gio/tests/Makefile.am                              |   38 +++
 gio/tests/apps.c                                   |   58 +++++
 gio/tests/desktop-app-info.c                       |  242 +++++++++++++++++++-
 .../desktop-files/home/applications/eog.desktop    |   11 +
 ...c6a4e022b17686306243dada811d550d25eb1fb.desktop |    7 +
 .../desktop-files/usr/applications/baobab.desktop  |   39 +++
 .../desktop-files/usr/applications/cheese.desktop  |   46 ++++
 .../usr/applications/dconf-editor.desktop          |   33 +++
 .../desktop-files/usr/applications/eog.desktop     |   43 ++++
 .../usr/applications/evince-previewer.desktop      |   28 +++
 .../desktop-files/usr/applications/evince.desktop  |   42 ++++
 .../usr/applications/file-roller.desktop           |   43 ++++
 .../usr/applications/gcr-prompter.desktop          |   18 ++
 .../usr/applications/gcr-viewer.desktop            |   10 +
 .../desktop-files/usr/applications/gedit.desktop   |   83 +++++++
 .../desktop-files/usr/applications/glade.desktop   |   56 +++++
 .../usr/applications/gnome-clocks.desktop          |   41 ++++
 .../usr/applications/gnome-contacts.desktop        |   25 ++
 .../usr/applications/gnome-font-viewer.desktop     |   33 +++
 .../usr/applications/gnome-music.desktop           |   22 ++
 .../usr/applications/gnome-terminal.desktop        |   39 +++
 .../usr/applications/gucharmap.desktop             |   38 +++
 .../usr/applications/kde4/dolphin.desktop          |   27 +++
 .../usr/applications/kde4/kate.desktop             |   26 ++
 .../usr/applications/kde4/konqbrowser.desktop      |   26 ++
 .../usr/applications/kde4/okular.desktop           |   23 ++
 .../desktop-files/usr/applications/mimeinfo.cache  |  246 ++++++++++++++++++++
 .../applications/nautilus-autorun-software.desktop |   19 ++
 .../usr/applications/nautilus-classic.desktop      |   15 ++
 .../applications/nautilus-connect-server.desktop   |   22 ++
 .../usr/applications/nautilus.desktop              |   39 +++
 .../desktop-files/usr/applications/totem.desktop   |   36 +++
 .../desktop-files/usr/applications/yelp.desktop    |   39 +++
 34 files changed, 1512 insertions(+), 2 deletions(-)
---
diff --git a/gio/tests/.gitignore b/gio/tests/.gitignore
index 194d5c7..c20f02f 100644
--- a/gio/tests/.gitignore
+++ b/gio/tests/.gitignore
@@ -1,6 +1,7 @@
 actions
 appinfo
 appinfo-test
+apps
 async-close-output-stream
 async-splice-output-stream
 basic-application
diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
index 758ac17..89a7cbd 100644
--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
@@ -247,6 +247,43 @@ uninstalled_test_programs += \
        desktop-app-info                        \
        $(NULL)
 
+home_desktop_files = \
+       epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop    \
+       eog.desktop
+
+usr_desktop_files = \
+       baobab.desktop                          \
+       cheese.desktop                          \
+       dconf-editor.desktop                    \
+       eog.desktop                             \
+       evince-previewer.desktop                \
+       evince.desktop                          \
+       file-roller.desktop                     \
+       gcr-prompter.desktop                    \
+       gcr-viewer.desktop                      \
+       gedit.desktop                           \
+       glade.desktop                           \
+       gnome-clocks.desktop                    \
+       gnome-contacts.desktop                  \
+       gnome-font-viewer.desktop               \
+       gnome-music.desktop                     \
+       gnome-terminal.desktop                  \
+       gucharmap.desktop                       \
+       kde4/dolphin.desktop                    \
+       kde4/kate.desktop                       \
+       kde4/konqbrowser.desktop                \
+       kde4/okular.desktop                     \
+       nautilus-autorun-software.desktop       \
+       nautilus-classic.desktop                \
+       nautilus-connect-server.desktop         \
+       nautilus.desktop                        \
+       totem.desktop                           \
+       yelp.desktop
+
+dist_test_data += \
+       $(addprefix desktop-files/usr/applications/,$(usr_desktop_files))       \
+       $(addprefix desktop-files/home/applications/,$(home_desktop_files))
+
 dist_test_data += \
        appinfo-test-actions.desktop            \
        appinfo-test-gnome.desktop              \
@@ -259,6 +296,7 @@ dist_test_data += \
 
 test_extra_programs += \
        appinfo-test                            \
+       apps                                    \
        $(NULL)
 
 uninstalled_test_extra_programs += \
diff --git a/gio/tests/apps.c b/gio/tests/apps.c
new file mode 100644
index 0000000..d790249
--- /dev/null
+++ b/gio/tests/apps.c
@@ -0,0 +1,58 @@
+#include <gio/gio.h>
+#include <gio/gdesktopappinfo.h>
+#include <locale.h>
+
+static void
+print (const gchar *str)
+{
+  g_print ("%s\n", str ? str : "nil");
+}
+
+int
+main (int argc, char **argv)
+{
+  setlocale (LC_ALL, "");
+
+  if (argv[1] == NULL)
+    ;
+  else if (g_str_equal (argv[1], "list"))
+    {
+      GList *all, *i;
+
+      all = g_app_info_get_all ();
+      for (i = all; i; i = i->next)
+        g_print ("%s%s", g_app_info_get_id (i->data), i->next ? " " : "\n");
+      g_list_free_full (all, g_object_unref);
+    }
+  else if (g_str_equal (argv[1], "search"))
+    {
+      gchar ***results;
+      gint i, j;
+
+      results = g_desktop_app_info_search (argv[2]);
+      for (i = 0; results[i]; i++)
+        {
+          for (j = 0; results[i][j]; j++)
+            g_print ("%s%s", j ? " " : "", results[i][j]);
+          g_print ("\n");
+          g_strfreev (results[i]);
+        }
+      g_free (results);
+    }
+  else if (g_str_equal (argv[1], "show-info"))
+    {
+      GAppInfo *info;
+
+      info = (GAppInfo *) g_desktop_app_info_new (argv[2]);
+      if (info)
+        {
+          print (g_app_info_get_id (info));
+          print (g_app_info_get_name (info));
+          print (g_app_info_get_display_name (info));
+          print (g_app_info_get_description (info));
+          g_object_unref (info);
+        }
+    }
+
+  return 0;
+}
diff --git a/gio/tests/desktop-app-info.c b/gio/tests/desktop-app-info.c
index a87246e..ddaa429 100644
--- a/gio/tests/desktop-app-info.c
+++ b/gio/tests/desktop-app-info.c
@@ -450,6 +450,243 @@ test_actions (void)
   g_object_unref (appinfo);
 }
 
+static gchar *
+run_apps (const gchar *command,
+          const gchar *arg,
+          gboolean     with_usr,
+          gboolean     with_home,
+          const gchar *locale_name,
+          const gchar *language)
+{
+  gboolean success;
+  gchar **envp;
+  gchar **argv;
+  gint status;
+  gchar *out;
+
+  argv = g_new (gchar *, 4);
+  argv[0] = g_test_build_filename (G_TEST_BUILT, "apps", NULL);
+  argv[1] = g_strdup (command);
+  argv[2] = g_strdup (arg);
+  argv[3] = NULL;
+
+  envp = g_get_environ ();
+
+  if (with_usr)
+    {
+      gchar *tmp = g_test_build_filename (G_TEST_DIST, "desktop-files", "usr", NULL);
+      envp = g_environ_setenv (envp, "XDG_DATA_DIRS", tmp, TRUE);
+      g_free (tmp);
+    }
+  else
+    envp = g_environ_setenv (envp, "XDG_DATA_DIRS", "/does-not-exist", TRUE);
+
+  if (with_home)
+    {
+      gchar *tmp = g_test_build_filename (G_TEST_DIST, "desktop-files", "home", NULL);
+      envp = g_environ_setenv (envp, "XDG_DATA_HOME", tmp, TRUE);
+      g_free (tmp);
+    }
+  else
+    envp = g_environ_setenv (envp, "XDG_DATA_HOME", "/does-not-exist", TRUE);
+
+  if (locale_name)
+    envp = g_environ_setenv (envp, "LC_ALL", locale_name, TRUE);
+  else
+    envp = g_environ_setenv (envp, "LC_ALL", "C", TRUE);
+
+  if (language)
+    envp = g_environ_setenv (envp, "LANGUAGE", language, TRUE);
+  else
+    envp = g_environ_unsetenv (envp, "LANGUAGE");
+
+  success = g_spawn_sync (NULL, argv, envp, 0, NULL, NULL, &out, NULL, &status, NULL);
+  g_assert (success);
+  g_assert (status == 0);
+
+  g_strfreev (envp);
+  g_strfreev (argv);
+
+  return out;
+}
+
+static void
+assert_strings_equivalent (const gchar *expected,
+                           const gchar *result)
+{
+  gchar **expected_words;
+  gchar **result_words;
+  gint i, j;
+
+  expected_words = g_strsplit (expected, " ", 0);
+  result_words = g_strsplit (result, " ", 0);
+
+  for (i = 0; expected_words[i]; i++)
+    {
+      for (j = 0; result_words[j]; j++)
+        if (g_str_equal (expected_words[i], result_words[j]))
+          goto got_it;
+
+      g_error ("Unable to find expected string '%s' in result '%s'", expected_words[i], result);
+got_it:
+      continue;
+    }
+
+  g_assert_cmpint (g_strv_length (expected_words), ==, g_strv_length (result_words));
+  g_strfreev (expected_words);
+  g_strfreev (result_words);
+}
+
+static void
+assert_list (const gchar *expected,
+             gboolean     with_usr,
+             gboolean     with_home,
+             const gchar *locale_name,
+             const gchar *language)
+{
+  gchar *result;
+
+  result = run_apps ("list", NULL, with_usr, with_home, locale_name, language);
+  g_strchomp (result);
+  assert_strings_equivalent (expected, result);
+  g_free (result);
+}
+
+static void
+assert_info (const gchar *desktop_id,
+             const gchar *expected,
+             gboolean     with_usr,
+             gboolean     with_home,
+             const gchar *locale_name,
+             const gchar *language)
+{
+  gchar *result;
+
+  result = run_apps ("show-info", desktop_id, with_usr, with_home, locale_name, language);
+  g_assert_cmpstr (result, ==, expected);
+  g_free (result);
+}
+
+static void
+assert_search (const gchar *search_string,
+               const gchar *expected,
+               gboolean     with_usr,
+               gboolean     with_home,
+               const gchar *locale_name,
+               const gchar *language)
+{
+  gchar **expected_lines;
+  gchar **result_lines;
+  gchar *result;
+  gint i;
+
+  expected_lines = g_strsplit (expected, "\n", -1);
+  result = run_apps ("search", search_string, with_usr, with_home, locale_name, language);
+  result_lines = g_strsplit (result, "\n", -1);
+  g_assert_cmpint (g_strv_length (expected_lines), ==, g_strv_length (result_lines));
+  for (i = 0; expected_lines[i]; i++)
+    assert_strings_equivalent (expected_lines[i], result_lines[i]);
+  g_strfreev (expected_lines);
+  g_strfreev (result_lines);
+  g_free (result);
+}
+
+#define ALL_USR_APPS  "evince-previewer.desktop nautilus-classic.desktop gnome-font-viewer.desktop "         
\
+                      "baobab.desktop yelp.desktop eog.desktop cheese.desktop gnome-clocks.desktop "         
\
+                      "gnome-contacts.desktop kde4-kate.desktop gcr-prompter.desktop totem.desktop "         
\
+                      "gnome-terminal.desktop nautilus-autorun-software.desktop gcr-viewer.desktop "         
\
+                      "nautilus-connect-server.desktop kde4-dolphin.desktop gnome-music.desktop "            
\
+                      "kde4-konqbrowser.desktop gucharmap.desktop kde4-okular.desktop nautilus.desktop "     
\
+                      "gedit.desktop evince.desktop file-roller.desktop dconf-editor.desktop glade.desktop"
+#define HOME_APPS     "epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop"
+#define ALL_HOME_APPS HOME_APPS " eog.desktop"
+
+static void
+test_search (void)
+{
+  assert_list ("", FALSE, FALSE, NULL, NULL);
+  assert_list (ALL_USR_APPS, TRUE, FALSE, NULL, NULL);
+  assert_list (ALL_HOME_APPS, FALSE, TRUE, NULL, NULL);
+  assert_list (ALL_USR_APPS " " HOME_APPS, TRUE, TRUE, NULL, NULL);
+
+  /* The user has "installed" their own version of eog.desktop which
+   * calls it "Eye of GNOME".  Do some testing based on that.
+   *
+   * We should always find "Pictures" keyword no matter where we look.
+   */
+  assert_search ("Picture", "eog.desktop\n", TRUE, TRUE, NULL, NULL);
+  assert_search ("Picture", "eog.desktop\n", TRUE, FALSE, NULL, NULL);
+  assert_search ("Picture", "eog.desktop\n", FALSE, TRUE, NULL, NULL);
+  assert_search ("Picture", "", FALSE, FALSE, NULL, NULL);
+
+  /* We should only find it called "eye of gnome" when using the user's
+   * directory.
+   */
+  assert_search ("eye gnome", "", TRUE, FALSE, NULL, NULL);
+  assert_search ("eye gnome", "eog.desktop\n", FALSE, TRUE, NULL, NULL);
+  assert_search ("eye gnome", "eog.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* We should only find it called "image viewer" when _not_ using the
+   * user's directory.
+   */
+  assert_search ("image viewer", "eog.desktop\n", TRUE, FALSE, NULL, NULL);
+  assert_search ("image viewer", "", FALSE, TRUE, NULL, NULL);
+  assert_search ("image viewer", "", TRUE, TRUE, NULL, NULL);
+
+  /* Obvious multi-word search */
+  assert_search ("gno hel", "yelp.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* Repeated search terms should do nothing... */
+  assert_search ("files file fil fi f", "nautilus.desktop\n"
+                                        "gedit.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* "con" will match "connect" and "contacts" on name but dconf only on
+   * the "config" keyword
+   */
+  assert_search ("con", "nautilus-connect-server.desktop gnome-contacts.desktop\n"
+                        "dconf-editor.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* "gnome" will match "eye of gnome" from the user's directory, plus
+   * matching "GNOME Clocks" X-GNOME-FullName.  It's only a comment on
+   * yelp and gnome-contacts, though.
+   */
+  assert_search ("gnome", "eog.desktop\n"
+                          "gnome-clocks.desktop\n"
+                          "yelp.desktop gnome-contacts.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* "gnome con" will match only gnome contacts; via the name for
+   * "contacts" and the comment for "gnome"
+   */
+  assert_search ("gnome con", "gnome-contacts.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* make sure we get the correct kde4- prefix on the application IDs
+   * from subdirectories
+   */
+  assert_search ("konq", "kde4-konqbrowser.desktop\n", TRUE, TRUE, NULL, NULL);
+  assert_search ("kate", "kde4-kate.desktop\n", TRUE, TRUE, NULL, NULL);
+
+  /* make sure we can lookup apps by name properly */
+  assert_info ("kde4-kate.desktop",
+               "kde4-kate.desktop\n"
+               "Kate\n"
+               "Kate\n"
+               "nil\n", TRUE, TRUE, NULL, NULL);
+
+  assert_info ("nautilus.desktop",
+               "nautilus.desktop\n"
+               "Files\n"
+               "Files\n"
+               "Access and organize files\n", TRUE, TRUE, NULL, NULL);
+
+  /* make sure localised searching works properly */
+  assert_search ("foliumi", "kde4-konqbrowser.desktop\n"
+                            "nautilus.desktop\n"
+                            "eog.desktop\n", TRUE, FALSE, "en_US.UTF-8", "eo");
+  /* the user's eog.desktop has no translations... */
+  assert_search ("foliumi", "kde4-konqbrowser.desktop\n"
+                            "nautilus.desktop\n", TRUE, TRUE, "en_US.UTF-8", "eo");
+}
+
 int
 main (int   argc,
       char *argv[])
@@ -457,17 +694,18 @@ main (int   argc,
   gint result;
 
   g_test_init (&argc, &argv, NULL);
-  
+
   basedir = g_get_current_dir ();
   g_setenv ("XDG_DATA_HOME", basedir, TRUE);
   cleanup_subdirs (basedir);
-  
+
   g_test_add_func ("/desktop-app-info/delete", test_delete);
   g_test_add_func ("/desktop-app-info/default", test_default);
   g_test_add_func ("/desktop-app-info/fallback", test_fallback);
   g_test_add_func ("/desktop-app-info/lastused", test_last_used);
   g_test_add_func ("/desktop-app-info/extra-getters", test_extra_getters);
   g_test_add_func ("/desktop-app-info/actions", test_actions);
+  g_test_add_func ("/desktop-app-info/search", test_search);
 
   result = g_test_run ();
 
diff --git a/gio/tests/desktop-files/home/applications/eog.desktop 
b/gio/tests/desktop-files/home/applications/eog.desktop
new file mode 100644
index 0000000..f15bdc8
--- /dev/null
+++ b/gio/tests/desktop-files/home/applications/eog.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Eye of GNOME
+Exec=true %U
+Icon=eog
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Graphics;2DGraphics;RasterGraphics;Viewer;
+MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-gray;image/x-icb;image/x-ico;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/x-pcx;image/svg+xml;image/svg+xml-compressed;image/vnd.wap.wbmp;
+# Extra keywords that can be used to search for eog in GNOME Shell and Unity
+Keywords=Picture;Slideshow;Graphics;
diff --git 
a/gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop
 
b/gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop
new file mode 100644
index 0000000..97fe69d
--- /dev/null
+++ 
b/gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Weather for Toronto Island
+Exec=/bin/true
+StartupNotify=true
+Terminal=false
+Type=Application
+StartupWMClass=epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb
diff --git a/gio/tests/desktop-files/usr/applications/baobab.desktop 
b/gio/tests/desktop-files/usr/applications/baobab.desktop
new file mode 100644
index 0000000..198e047
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/baobab.desktop
@@ -0,0 +1,39 @@
+[Desktop Entry]
+Name=Disk Usage Analyzer
+Name[bn]=ডিস্ক ব্যবহারের বিশ্লেষণ ব্যবস্থা
+Name[bn_IN]=ডিস্ক ব্যবহারের বিশ্লেষণ ব্যবস্থা
+Name[ca]=Analitzador de l'ús dels discs
+Name[ca valencia]=Analitzador de l'ús dels discs
+Name[en shaw]=𐑛𐑦𐑕𐑒 𐑿𐑕𐑦𐑡 𐑨𐑯𐑩𐑤𐑲𐑟𐑻
+Name[en_GB]=Disk Usage Analyser
+Name[eo]=Diskuzada analizilo
+Name[pt]=Analisador de Utilização do Disco
+Name[pt_BR]=Analisador de uso de disco
+Comment=Check folder sizes and available disk space
+Comment[bn]=ফোল্ডারের মাপ ও ডিস্কে বিদ্যমান স্থান পরীক্ষা করা হবে
+Comment[bn_IN]=ফোল্ডারের মাপ ও ডিস্কে উপলব্ধ স্থান পরীক্ষা করা হবে
+Comment[ca]=Comprova la mida de les carpetes i l'espai disponible al disc
+Comment[ca valencia]=Comprova la mida de les carpetes i l'espai disponible al disc
+Comment[en shaw]=𐑗𐑧𐑒 𐑓𐑴𐑤𐑛𐑼 𐑕𐑲𐑟𐑩𐑟 𐑯 𐑩𐑝𐑱𐑤𐑩𐑚𐑩𐑤 𐑛𐑦𐑕𐑒 𐑕𐑐𐑱𐑕
+Comment[en_GB]=Check folder sizes and available disk space
+Comment[eo]=Kontroli dosierujajn grandojn kaj disponeblan diskmemoron
+Comment[pt]=Verificar o tamanho das pastas e o espaço disponível em disco
+Comment[pt_BR]=Verifique o tamanho de pastas e o espaço disponível em disco
+Keywords=storage;space;cleanup;
+Keywords[ca]=emmagatzemament;espai;neteja;
+Keywords[ca valencia]=emmagatzemament;espai;neteja;
+Keywords[eo]=spaco;diskospaco;purigi;senrubigi;
+Keywords[pt]=armazenamento;espaço;limpar;
+Keywords[pt_BR]=armazenamento;espaço;limpeza;
+Exec=true
+Icon=baobab
+Terminal=false
+Type=Application
+StartupNotify=true
+MimeType=inode/directory;
+Categories=GTK;GNOME;System;Filesystem;
+NotShowIn=KDE;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-utils
+X-GNOME-Bugzilla-Component=baobab
+X-GNOME-Bugzilla-Version=3.10
diff --git a/gio/tests/desktop-files/usr/applications/cheese.desktop 
b/gio/tests/desktop-files/usr/applications/cheese.desktop
new file mode 100644
index 0000000..614ddb5
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/cheese.desktop
@@ -0,0 +1,46 @@
+[Desktop Entry]
+Name=Cheese
+Name[bn]=Cheese
+Name[bn_IN]=Cheese
+Name[ca]=Cheese
+Name[ca valencia]=Cheese
+Name[en shaw]=·𐑗𐑰𐑟
+Name[en_GB]=Cheese
+Name[eo]=Rideto
+Name[pt]=Cheese
+Name[pt_BR]=Cheese
+X-GNOME-FullName=Cheese Webcam Booth
+X-GNOME-FullName[bn]=Cheese ওয়েবক্যাম বুথ
+X-GNOME-FullName[bn_IN]=Cheese-র ওয়েবক্যাম বুথ
+X-GNOME-FullName[ca]=Cabina de fotografia del Cheese
+X-GNOME-FullName[ca valencia]=Cabina de fotografia del Cheese
+X-GNOME-FullName[en shaw]=·𐑗𐑰𐑟 𐑢𐑧𐑚𐑒𐑨𐑥 𐑚𐑵𐑔
+X-GNOME-FullName[en_GB]=Cheese Webcam Booth
+X-GNOME-FullName[eo]=Rideto-Retkamerao-Budo
+X-GNOME-FullName[pt]=Cabine Fotográfica Cheese
+X-GNOME-FullName[pt_BR]=Cabine de webcam do Cheese
+Comment=Take photos and videos with your webcam, with fun graphical effects
+Comment[bn]=ওয়েবক্যামের সাহায্যে মজাদার গ্রাফিক্সের আবহসহ ফটো তুলুন ও ভিডিও তৈরি করুন
+Comment[bn_IN]=ওয়েবক্যামের সাহায্যে মজাদার গ্র্যাফিক্স সহ ফটো তুলুন ও ভিডিও তৈরি করুন
+Comment[ca]=Feu fotos i vídeos amb la càmera web, amb efectes gràfics divertits
+Comment[ca valencia]=Feu fotos i vídeos amb la càmera web, amb efectes gràfics divertits
+Comment[en shaw]=𐑑𐑱𐑒 𐑓𐑴𐑑𐑴𐑟 𐑯 𐑝𐑦𐑛𐑰𐑴𐑟 𐑢𐑦𐑞 𐑿𐑼 𐑢𐑧𐑚𐑒𐑨𐑥, 𐑢𐑦𐑞 𐑓𐑳𐑯 𐑜𐑮𐑨𐑓𐑦𐑒𐑩𐑤 𐑦𐑓𐑧𐑒𐑑𐑕
+Comment[en_GB]=Take photos and videos with your webcam, with fun graphical effects
+Comment[eo]=Fari fotaĵojn kaj videojn per via retkamerao, kun gajaj grafikaj efektoj
+Comment[pt]=Tire fotografias e grave vídeos com a sua webcam, com engraçados efeitos gráficos
+Comment[pt_BR]=Tire fotos e vídeos com sua webcam, com efeitos gráficos divertidos
+Keywords=photo;video;webcam;
+Keywords[ca]=foto;vídeo;càmera web;
+Keywords[ca valencia]=foto;vídeo;càmera web;
+Keywords[pt]=foto;vídeo;webcam;
+Keywords[pt_BR]=foto;fotos;vídeo;vídeos;webcam;
+Exec=true
+Terminal=false
+Type=Application
+StartupNotify=true
+Icon=cheese
+Categories=GNOME;AudioVideo;Video;Recorder;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=cheese
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.11.1
diff --git a/gio/tests/desktop-files/usr/applications/dconf-editor.desktop 
b/gio/tests/desktop-files/usr/applications/dconf-editor.desktop
new file mode 100644
index 0000000..6d6b66d
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/dconf-editor.desktop
@@ -0,0 +1,33 @@
+[Desktop Entry]
+Name=dconf Editor
+Name[bn_IN]=dconf সম্পাদক
+Name[ca]=Editor del dconf
+Name[ca valencia]=Editor del dconf
+Name[en_GB]=dconf Editor
+Name[eo]=dconf Redaktilo
+Name[pt]=Editor dconf
+Name[pt_BR]=Editor do dconf
+Comment=Directly edit your entire configuration database
+Comment[bn_IN]=আপনার সম্পূর্ণ কনফিগারেশন ডাটাবেস সরাসরি সম্পাদন করুন
+Comment[ca]=Editeu directament la base de dades de configuració
+Comment[ca valencia]=Editeu directament la base de dades de configuració
+Comment[en_GB]=Directly edit your entire configuration database
+Comment[eo]=Rekte redakti vian totan agordan datumbazon
+Comment[pt]=Edite diretamente toda a sua base de dados de configuração
+Comment[pt_BR]=Edite diretamente seu banco de dados de configuração por inteiro
+Keywords=settings;configuration;
+Keywords[ca]=paràmetres;configuració;
+Keywords[ca valencia]=paràmetres;configuració;
+Keywords[eo]=agordoj;
+Keywords[pt]=definições;configuração;
+Keywords[pt_BR]=ajustes;configuração;configurações;
+Exec=true
+Terminal=false
+Type=Application
+Icon=dconf-editor
+StartupNotify=true
+Categories=GNOME;GTK;System;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=dconf
+X-GNOME-Bugzilla-Component=editor
+X-GNOME-Bugzilla-Version=0.18.0
diff --git a/gio/tests/desktop-files/usr/applications/eog.desktop 
b/gio/tests/desktop-files/usr/applications/eog.desktop
new file mode 100644
index 0000000..7e0504a
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/eog.desktop
@@ -0,0 +1,43 @@
+[Desktop Entry]
+Name=Image Viewer
+Name[bn]=ছবি প্রদর্শক
+Name[bn_IN]=ছবি প্রদর্শক
+Name[ca]=Visualitzador d'imatges
+Name[ca valencia]=Visualitzador d'imatges
+Name[en shaw]=𐑦𐑥𐑦𐑡 𐑝𐑿𐑼
+Name[en_CA]=Image Viewer
+Name[en_GB]=Image Viewer
+Name[eo]=Bildomontrilo
+Name[pt]=Visualizador de Imagens
+Name[pt_BR]=Visualizador de imagens
+Comment=Browse and rotate images
+Comment[bn]=ছবি ব্রাউজ করুন এবং চক্রাকারে ঘোরান
+Comment[bn_IN]=ছবি ব্রাউজ করুন ও ঘুরিয়ে নিন
+Comment[ca]=Navegueu per imatges i gireu-les
+Comment[ca valencia]=Navegueu per imatges i gireu-les
+Comment[en shaw]=𐑚𐑮𐑬𐑟 𐑯 𐑮𐑴𐑑𐑱𐑑 𐑦𐑥𐑦𐑡𐑩𐑟
+Comment[en_CA]=Browse and rotate images
+Comment[en_GB]=Browse and rotate images
+Comment[eo]=Foliumi kaj turni bildojn
+Comment[pt]=Navegue e rode imagens
+Comment[pt_BR]=Navegue e gire imagens
+Exec=true %U
+Icon=eog
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Graphics;2DGraphics;RasterGraphics;Viewer;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=EOG
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.1
+X-GNOME-DocPath=eog/eog.xml
+MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-gray;image/x-icb;image/x-ico;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/x-pcx;image/svg+xml;image/svg+xml-compressed;image/vnd.wap.wbmp;
+# Extra keywords that can be used to search for eog in GNOME Shell and Unity
+Keywords=Picture;Slideshow;Graphics;
+Keywords[ca]=Fotografia;Diapositives;Gràfics;
+Keywords[ca valencia]=Fotografia;Diapositives;Gràfics;
+Keywords[en_GB]=Picture;Slideshow;Graphics;
+Keywords[eo]=Bildo;Lumbildprezentado;Grafiko;
+Keywords[pt]=Imagem;Apresentação;Gráficos;
+Keywords[pt_BR]=Fotos;Apresentação de slides;Gráficos;
diff --git a/gio/tests/desktop-files/usr/applications/evince-previewer.desktop 
b/gio/tests/desktop-files/usr/applications/evince-previewer.desktop
new file mode 100644
index 0000000..c6a2e84
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/evince-previewer.desktop
@@ -0,0 +1,28 @@
+[Desktop Entry]
+Name=Print Preview
+Name[ca]=Previsualitza la impressió
+Name[ca valencia]=Previsualitza la impressió
+Name[en_GB]=Print Preview
+Name[eo]=Aspekto de la presotaĵo
+Name[pt]=Antevisão de Impressão
+Name[pt_BR]=Visualizar de impressão
+Comment=Preview before printing
+Comment[ca]=Previsualitza abans d'imprimir
+Comment[ca valencia]=Previsualitza abans d'imprimir
+Comment[en_GB]=Preview before printing
+Comment[eo]=Aspekti antaŭ presi
+Comment[pt]=Antever antes de imprimir
+Comment[pt_BR]=Visualize antes de imprimir
+Exec=true %U
+StartupNotify=true
+Terminal=false
+Type=Application
+Icon=document-print-preview
+NoDisplay=true
+X-GNOME-DocPath=
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=evince
+X-GNOME-Bugzilla-Component=BugBuddyBugs
+X-GNOME-Bugzilla-Version=3.10.0
+Categories=GNOME;GTK;Office;Viewer;Graphics;2DGraphics;VectorGraphics;
+MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;application/x-xzpdf;image/tiff;application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;application/oxps;application/vnd.ms-xpsdocument;
diff --git a/gio/tests/desktop-files/usr/applications/evince.desktop 
b/gio/tests/desktop-files/usr/applications/evince.desktop
new file mode 100644
index 0000000..45711db
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/evince.desktop
@@ -0,0 +1,42 @@
+[Desktop Entry]
+Name=Document Viewer
+Name[bn]=নথি প্রদর্শক
+Name[bn_IN]=ডকুমেন্ট প্রদর্শন ব্যবস্থা
+Name[ca]=Visualitzador de documents
+Name[ca valencia]=Visualitzador de documents
+Name[en shaw]=𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑 𐑝𐑿𐑼
+Name[en_CA]=Document Viewer
+Name[en_GB]=Document Viewer
+Name[eo]=Dokumentmontrilo
+Name[pt]=Visualizador de Documento
+Name[pt_BR]=Visualizador de documentos
+Comment=View multi-page documents
+Comment[bn]=বহুপৃষ্ঠা সম্বলিত নথি প্রদর্শন
+Comment[bn_IN]=একাধিক পৃষ্ঠাবিশিষ্ট ডকুমেন্ট দেখুন
+Comment[ca]=Visualitzeu documents multipàgina
+Comment[ca valencia]=Visualitzeu documents multipàgina
+Comment[en shaw]=𐑝𐑿 𐑥𐑩𐑤𐑑𐑰-𐑐𐑱𐑡 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑𐑕
+Comment[en_CA]=View multi-page documents
+Comment[en_GB]=View multi-page documents
+Comment[eo]=Montri mult-paĝajn dokumentojn
+Comment[pt]=Visualizar documentos multipáginas
+Comment[pt_BR]=Visualize documentos de múltiplas páginas
+Keywords=pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;
+Keywords[ca]=pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentació;
+Keywords[ca valencia]=pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentació;
+Keywords[en_GB]=pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;
+Keywords[eo]=pdf;ps;postscript;dvi;xps;djvu;tiff;dokumento;prezentaĵo;
+Keywords[pt]=pdf;ps;postscript;dvi;xps;djvu;tiff;documento;apresentação;
+Keywords[pt_BR]=pdf;ps;postscript;dvi;xps;djvu;tiff;documento;apresentação;
+Exec=true %U
+StartupNotify=true
+Terminal=false
+Type=Application
+Icon=evince
+X-GNOME-DocPath=
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=evince
+X-GNOME-Bugzilla-Component=BugBuddyBugs
+X-GNOME-Bugzilla-Version=3.10.0
+Categories=GNOME;GTK;Office;Viewer;Graphics;2DGraphics;VectorGraphics;
+MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;application/x-xzpdf;image/tiff;application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;application/oxps;application/vnd.ms-xpsdocument;
diff --git a/gio/tests/desktop-files/usr/applications/file-roller.desktop 
b/gio/tests/desktop-files/usr/applications/file-roller.desktop
new file mode 100644
index 0000000..72e28a1
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/file-roller.desktop
@@ -0,0 +1,43 @@
+[Desktop Entry]
+Name=Archive Manager
+Name[bn]=আর্কাইভ ম্যানেজার
+Name[bn_IN]=আর্কাইভ পরিচালন ব্যবস্থা
+Name[ca]=Gestor d'arxius
+Name[ca valencia]=Gestor d'arxius
+Name[en shaw]=𐑸𐑒𐑲𐑝 𐑥𐑨𐑯𐑩𐑡𐑼
+Name[en_CA]=Archive Manager
+Name[en_GB]=Archive Manager
+Name[eo]=Arkivo-administrilo
+Name[pt]=Gestor de Arquivos
+Name[pt_BR]=Gerenciador de pacotes
+Comment=Create and modify an archive
+Comment[bn]=নতুন আর্কাইভ তৈরি ও পরিবর্ধন করা হবে
+Comment[bn_IN]=আর্কাইভ নির্মাণ ও পরিবর্তন করুন
+Comment[ca]=Crea i modifica un arxiu
+Comment[ca valencia]=Crea i modifica un arxiu
+Comment[en shaw]=𐑒𐑮𐑦𐑱𐑑 𐑯 𐑥𐑪𐑛𐑦𐑓𐑲 𐑩𐑯 𐑸𐑒𐑲𐑝
+Comment[en_CA]=Create and modify an archive
+Comment[en_GB]=Create and modify an archive
+Comment[eo]=Krei kaj modifi arkivon
+Comment[pt]=Criar e alterar um arquivo
+Comment[pt_BR]=Crie e modifique um pacote
+Keywords=zip;tar;extract;unpack;
+Keywords[ca]=zip;tar;extreure;desampaquetar;
+Keywords[ca valencia]=zip;tar;extraure;desampaquetar;
+Keywords[eo]=zip;tar;eltiri;malkompaktigi;malpaki;elpaki;
+Keywords[pt]=zip;tar;extrair;desempacotar;
+Keywords[pt_BR]=zip;tar;extrair;descompactar;
+Exec=true %U
+StartupNotify=true
+Terminal=false
+Type=Application
+Icon=file-roller
+Categories=GTK;GNOME;Utility;Archiving;Compression;
+NotShowIn=KDE;
+MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-rzip-compressed-tar;application/x-tar;application/x-tarz;app
 
lication/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
+X-GNOME-DocPath=file-roller/file-roller.xml
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=file-roller
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
+X-GNOME-UsesNotifications=true
diff --git a/gio/tests/desktop-files/usr/applications/gcr-prompter.desktop 
b/gio/tests/desktop-files/usr/applications/gcr-prompter.desktop
new file mode 100644
index 0000000..0a91ff6
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gcr-prompter.desktop
@@ -0,0 +1,18 @@
+[Desktop Entry]
+Name=Access Prompt
+Name[ca]=Petició d'accés
+Name[ca valencia]=Petició d'accés
+Name[en_GB]=Access Prompt
+Name[pt]=Pedido de Acesso
+Name[pt_BR]=Prompt de acesso
+Comment=Unlock access to passwords and other secrets
+Comment[ca]=Desbloca l'accés a les contrasenyes i altres secrets
+Comment[ca valencia]=Desbloca l'accés a les contrasenyes i altres secrets
+Comment[en_GB]=Unlock access to passwords and other secrets
+Comment[pt]=Destrancar acesso a senhas e outros segredos
+Comment[pt_BR]=Destravar acesso a senhas e outros segredos
+Icon=security-medium
+Exec=true
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/gio/tests/desktop-files/usr/applications/gcr-viewer.desktop 
b/gio/tests/desktop-files/usr/applications/gcr-viewer.desktop
new file mode 100644
index 0000000..64a8e52
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gcr-viewer.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=View file
+MimeType=application/pkcs12;application/pkcs12+pem;application/pkcs7-mime;application/pkcs7-mime+pem;application/pkcs8;application/pkcs8+pem;application/pkix-cert;application/pkix-cert+pem;application/pkix-crl;application/pkix-crl+pem;application/x-pem-file;application/x-pem-key;application/x-pkcs12;application/x-pkcs7-certificates;application/x-x509-ca-cert;application/x-x509-user-cert;application/pkcs10;application/pkcs10+pem;application/x-spkac;application/x-spkac+base64;
+Exec=true
+Type=Application
+Terminal=false
+NoDisplay=true
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-keyring
+X-GNOME-Bugzilla-Component=gcr
diff --git a/gio/tests/desktop-files/usr/applications/gedit.desktop 
b/gio/tests/desktop-files/usr/applications/gedit.desktop
new file mode 100644
index 0000000..faf89ae
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gedit.desktop
@@ -0,0 +1,83 @@
+[Desktop Entry]
+Name=gedit
+Name[bn]=জিএডিট
+Name[bn_IN]=gedit
+Name[ca]=gedit
+Name[ca valencia]=gedit
+Name[en shaw]=·𐑜𐑧𐑛𐑦𐑑
+Name[en_CA]=gedit
+Name[en_GB]=gedit
+Name[eo]=Gedit
+Name[pt]=gedit
+Name[pt_BR]=gedit
+GenericName=Text Editor
+GenericName[bn]=টেক্সট সম্পাদক
+GenericName[bn_IN]=টেক্সট এডিটার
+GenericName[ca]=Editor de text
+GenericName[ca valencia]=Editor de text
+GenericName[en shaw]=𐑑𐑧𐑒𐑕𐑑 𐑧𐑛𐑦𐑑𐑼
+GenericName[en_CA]=Text Editor
+GenericName[en_GB]=Text Editor
+GenericName[eo]=Tekstredaktilo
+GenericName[pt]=Editor de Texto
+GenericName[pt_BR]=Editor de texto
+Comment=Edit text files
+Comment[bn]=টেক্সট ফাইল সম্পাদনা করুন
+Comment[bn_IN]=টেক্সট ফাইল সম্পাদনা
+Comment[ca]=Editeu fitxers de text
+Comment[ca valencia]=Editeu fitxers de text
+Comment[en shaw]=𐑧𐑛𐑦𐑑 𐑑𐑧𐑒𐑕𐑑 𐑓𐑲𐑤𐑟
+Comment[en_CA]=Edit text files
+Comment[en_GB]=Edit text files
+Comment[eo]=Redakti tekstdosierojn
+Comment[pt]=Editar ficheiros de texto
+Comment[pt_BR]=Edite arquivos de texto
+Exec=true
+Terminal=false
+Type=Application
+StartupNotify=true
+MimeType=text/plain;
+Icon=accessories-text-editor
+Categories=GNOME;GTK;Utility;TextEditor;
+X-GNOME-DocPath=gedit/gedit.xml
+X-GNOME-FullName=gedit Text Editor
+X-GNOME-FullName[bn]=জিএডিট টেক্সট সম্পাদক
+X-GNOME-FullName[bn_IN]=gedit টেক্সট এডিটার
+X-GNOME-FullName[ca]=Editor de text gedit
+X-GNOME-FullName[ca valencia]=Editor de text gedit
+X-GNOME-FullName[en shaw]=·𐑜𐑧𐑛𐑦𐑑 𐑑𐑧𐑒𐑕𐑑 𐑧𐑛𐑦𐑑𐑼
+X-GNOME-FullName[en_GB]=gedit Text Editor
+X-GNOME-FullName[eo]=Gedit tekstredaktilo
+X-GNOME-FullName[pt]=Editor de Texto gedit
+X-GNOME-FullName[pt_BR]=Editor de texto gedit
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gedit
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
+X-GNOME-Bugzilla-ExtraInfoScript=true
+Actions=Window;Document;
+Keywords=Text;Editor;
+Keywords[ca]=Text;Editor;
+Keywords[ca valencia]=Text;Editor;
+Keywords[pt]=Texto;Editor;
+Keywords[pt_BR]=Texto;Editor;
+
+[Desktop Action Window]
+Name=Open a New Window
+Name[bn_IN]=একটি নতুন উইন্ডো খুলুন
+Name[ca]=Obre una finestra nova
+Name[ca valencia]=Obri una finestra nova
+Name[en_GB]=Open a New Window
+Name[pt]=Abrir uma Nova Janela
+Name[pt_BR]=Abrir uma nova janela
+Exec=true
+
+[Desktop Action Document]
+Name=Open a New Document
+Name[bn_IN]=নতুন ডকুমেন্ট খুলুন
+Name[ca]=Obre un document nou
+Name[ca valencia]=Obri un document nou
+Name[en_GB]=Open a New Document
+Name[pt]=Abrir um Novo Documento
+Name[pt_BR]=Abrir um novo documento
+Exec=true
diff --git a/gio/tests/desktop-files/usr/applications/glade.desktop 
b/gio/tests/desktop-files/usr/applications/glade.desktop
new file mode 100644
index 0000000..dcede22
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/glade.desktop
@@ -0,0 +1,56 @@
+[Desktop Entry]
+Name=Glade
+Name[bn]=Glade
+Name[bn_IN]=Glade
+Name[ca]=Glade
+Name[ca valencia]=Glade
+Name[en shaw]=·𐑜𐑤𐑱𐑛
+Name[en_CA]=Glade
+Name[en_GB]=Glade
+Name[eo]=Glado
+Name[pt]=Glade
+Name[pt_BR]=Glade
+GenericName=Interface Designer
+GenericName[ca]=Dissenyador d'interfícies
+GenericName[ca valencia]=Dissenyador d'interfícies
+GenericName[en shaw]=𐑦𐑯𐑑𐑼𐑓𐑱𐑕 𐑛𐑩𐑟𐑲𐑯𐑼
+GenericName[en_GB]=Interface Designer
+GenericName[eo]=Interfaco-dizajnilo
+GenericName[pt]=Desenhador de Interfaces
+GenericName[pt_BR]=Construtor de interface
+X-GNOME-FullName=Glade Interface Designer
+X-GNOME-FullName[ca]=Dissenyador d'interfícies Glade
+X-GNOME-FullName[ca valencia]=Dissenyador d'interfícies Glade
+X-GNOME-FullName[en shaw]=·𐑜𐑤𐑱𐑛 𐑦𐑯𐑑𐑼𐑓𐑱𐑕 𐑛𐑩𐑟𐑲𐑯𐑼
+X-GNOME-FullName[en_CA]=Glade Interface Designer
+X-GNOME-FullName[en_GB]=Glade Interface Designer
+X-GNOME-FullName[eo]=Uzantointerfaca dizajnilo Glado
+X-GNOME-FullName[pt]=Designer de Interfaces Glade
+X-GNOME-FullName[pt_BR]=Construtor de interfaces Glade
+Comment=Create or open user interface designs for GTK+ applications
+Comment[ca]=Creeu o obriu dissenys d'interfície d'usuari per a aplicacions GTK+
+Comment[ca valencia]=Creeu o obriu dissenys d'interfície d'usuari per a aplicacions GTK+
+Comment[en shaw]=𐑒𐑮𐑦𐑱𐑑 𐑹 𐑴𐑐𐑩𐑯 𐑿𐑟𐑼 𐑦𐑯𐑑𐑼𐑓𐑱𐑕 𐑛𐑩𐑟𐑲𐑯𐑟 𐑓𐑹 GTK+ 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟
+Comment[en_CA]=Create or open user interface designs for GTK+ applications
+Comment[en_GB]=Create or open user interface designs for GTK+ applications
+Comment[eo]=Krei aŭ malfermi uzantointerfacan dizajnon por aplikaĵoj de GTK+
+Comment[pt]=Criar ou abrir um desenho de interface de utilizador para aplicações GTK+
+Comment[pt_BR]=Crie ou abra projetos de interface com o usuário para aplicativos GTK+
+Keywords=GUI designer;user interface;ui builder;
+Keywords[ca]=dissenyador d'interfícies d'usuari gràfiques;interfície d'usuari;constructor d'interfícies 
d'usuari;
+Keywords[ca valencia]=dissenyador d'interfícies d'usuari gràfiques;interfície d'usuari;constructor 
d'interfícies d'usuari;
+Keywords[en_GB]=GUI designer;user interface;ui builder;
+Keywords[pt]=criador IU;interface utilizador;interface gráfico;
+Keywords[pt_BR]=Construtor de interface gráfica;Construtor de GUI;interface de usuário;construtor de 
interface;construtor de ui;
+Exec=true
+Terminal=false
+StartupNotify=true
+Type=Application
+Icon=glade
+Categories=GNOME;GTK;Development;GUIDesigner;
+MimeType=application/x-glade;
+X-GNOME-DocPath=glade/glade.xml
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=glade
+X-GNOME-Bugzilla-Version=3.16.0
+X-GNOME-Bugzilla-Component=general
diff --git a/gio/tests/desktop-files/usr/applications/gnome-clocks.desktop 
b/gio/tests/desktop-files/usr/applications/gnome-clocks.desktop
new file mode 100644
index 0000000..3f533e9
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gnome-clocks.desktop
@@ -0,0 +1,41 @@
+[Desktop Entry]
+Name=Clocks
+Name[ca]=Rellotges
+Name[ca valencia]=Rellotges
+Name[en_GB]=Clocks
+Name[eo]=Horloĝoj
+Name[pt]=Relógios
+Name[pt_BR]=Relógios
+GenericName=Clocks
+GenericName[ca]=Rellotges
+GenericName[ca valencia]=Rellotges
+GenericName[en_GB]=Clocks
+GenericName[eo]=Horloĝoj
+GenericName[pt]=Relógios
+GenericName[pt_BR]=Relógios
+X-GNOME-FullName=GNOME Clocks
+X-GNOME-FullName[ca]=Rellotges del GNOME
+X-GNOME-FullName[ca valencia]=Rellotges del GNOME
+X-GNOME-FullName[en_GB]=GNOME Clocks
+X-GNOME-FullName[eo]=GNOME-horloĝoj
+X-GNOME-FullName[pt]=Relógios GNOME
+X-GNOME-FullName[pt_BR]=Relógios do GNOME
+Comment=Clocks for world times, plus alarms, stopwatch and a timer
+Comment[ca]=Rellotges de tot el món, a més d'alarmes, de cronòmetres i de temporitzadors
+Comment[ca valencia]=Rellotges de tot el món, a més d'alarmes, de cronòmetres i de temporitzadors
+Comment[en_GB]=Clocks for world times, plus alarms, stopwatch and a timer
+Comment[pt]=Relógios com as horas do mundo, alarmes, cronómetros e um temporizador
+Comment[pt_BR]=Relógios para horários mundiais além de alarmes, cronômetro e um temporizador
+Keywords=time;timer;alarm;world clock;stopwatch;time zone;
+Keywords[ca]=temps;temporitzador;alarma;rellotge global;cronòmetre;zona horària;
+Keywords[ca valencia]=temps;temporitzador;alarma;rellotge global;cronòmetre;zona horària;
+Keywords[en_GB]=time;timer;alarm;world clock;stopwatch;time zone;
+Keywords[pt]=horas;temporizador;alarme;relógio mundial;cronómetro;fuso horário;
+Keywords[pt_BR]=hora;temporizador;alarme;relógio mundial;cronômetro;fuso horário;
+Exec=true
+Icon=gnome-clocks
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Utility;Clock;
+StartupNotify=true
+X-GNOME-UsesNotifications=true
diff --git a/gio/tests/desktop-files/usr/applications/gnome-contacts.desktop 
b/gio/tests/desktop-files/usr/applications/gnome-contacts.desktop
new file mode 100644
index 0000000..13ccb35
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gnome-contacts.desktop
@@ -0,0 +1,25 @@
+[Desktop Entry]
+Name=Contacts
+Name[bn_IN]=পরিচিতি-সমূহ
+Name[ca]=Contactes
+Name[ca valencia]=Contactes
+Name[en_CA]=Contacts
+Name[en_GB]=Contacts
+Name[eo]=Kontaktaro
+Name[pt]=Contactos
+Name[pt_BR]=Contatos
+Comment=A contacts manager for GNOME
+Keywords=friends;address book;
+Keywords[bn_IN]=বন্ধু; ঠিকানা বই;
+Keywords[ca]=amics;llibreta d'adreces;
+Keywords[ca valencia]=amics;llibreta d'adreces;
+Keywords[eo]=amikoj;adreslibro;
+Keywords[pt]=amigos;livro de endereços;
+Keywords[pt_BR]=amigos;catálogo de endereços;
+Icon=x-office-address-book
+Exec=true
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=GNOME;GTK;Utility;
+OnlyShowIn=GNOME;Unity;
diff --git a/gio/tests/desktop-files/usr/applications/gnome-font-viewer.desktop 
b/gio/tests/desktop-files/usr/applications/gnome-font-viewer.desktop
new file mode 100644
index 0000000..a3f7e45
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gnome-font-viewer.desktop
@@ -0,0 +1,33 @@
+[Desktop Entry]
+Name=Font Viewer
+Name[bn_IN]=ফন্ট প্রদর্শন ব্যবস্থা
+Name[ca]=Visualitzador de tipus de lletra
+Name[ca valencia]=Visualitzador de tipus de lletra
+Name[en_GB]=Font Viewer
+Name[eo]=Tipar-rigardilo
+Name[pt]=Visualizador de Fontes
+Name[pt_BR]=Visualizador de fontes
+Comment=View fonts on your system
+Comment[bn_IN]=সিস্টেমের মধ্যে উপস্থিত ফন্ট দেখুন
+Comment[ca]=Visualitza tots els tipus de lletra del sistema
+Comment[ca valencia]=Visualitza tots els tipus de lletra del sistema
+Comment[en_GB]=View fonts on your system
+Comment[pt]=Visualize as fontes no seu sistema
+Comment[pt_BR]=Ver fontes no seu sistema
+Keywords=fonts;fontface;
+Keywords[ca]=tipus de lletra;tipografia;
+Keywords[ca valencia]=tipus de lletra;tipografia;
+Keywords[pt]=fontes;tipos de fonte;
+Keywords[pt_BR]=fontes;tipo de fonte;tipo da fonte;
+Icon=preferences-desktop-font
+Exec=true %u
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=GTK;GNOME;Utility;
+MimeType=application/x-font-ttf;application/x-font-pcf;application/x-font-type1;application/x-font-otf;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-font-viewer
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-OtherBinaries=gnome-thumbnail-font
+X-GNOME-Bugzilla-Version=3.10.0
diff --git a/gio/tests/desktop-files/usr/applications/gnome-music.desktop 
b/gio/tests/desktop-files/usr/applications/gnome-music.desktop
new file mode 100644
index 0000000..8928b21
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gnome-music.desktop
@@ -0,0 +1,22 @@
+[Desktop Entry]
+Name=Music
+Name[ca]=Música
+Name[en_GB]=Music
+Name[pt]=Música
+Name[pt_BR]=Músicas
+GenericName=Music Player
+GenericName[ca]=Reproductor de música
+GenericName[en_GB]=Music Player
+GenericName[pt]=Reprodutor de Música
+GenericName[pt_BR]=Reprodutor de músicas
+Comment=Play and organize your music collection
+Comment[ca]=Reproduïu i organitzeu la col·lecció de música
+Comment[en_GB]=Play and organise your music collection
+Comment[pt]=Reproduz e organiza a sua coleção de media
+Comment[pt_BR]=Reproduza e organize sua coleção de músicas
+Icon=gnome-music
+Exec=true
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;AudioVideo;Player;Audio;
+StartupNotify=true
diff --git a/gio/tests/desktop-files/usr/applications/gnome-terminal.desktop 
b/gio/tests/desktop-files/usr/applications/gnome-terminal.desktop
new file mode 100644
index 0000000..5f0ad8b
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gnome-terminal.desktop
@@ -0,0 +1,39 @@
+[Desktop Entry]
+Name=Terminal
+Name[bn]=টার্মিনাল
+Name[bn_IN]=টার্মিন্যাল
+Name[ca]=Terminal
+Name[ca valencia]=Terminal
+Name[en shaw]=𐑑𐑻𐑥𐑦𐑯𐑩𐑤
+Name[en_CA]=Terminal
+Name[en_GB]=Terminal
+Name[eo]=Terminalo
+Name[pt]=Consola
+Name[pt_BR]=Terminal
+Comment=Use the command line
+Comment[bn]=কমান্ড লাইন ব্যবহার করুন
+Comment[bn_IN]=কমান্ড লাইন ব্যবহার করুন
+Comment[ca]=Obriu la línia d'ordres
+Comment[ca valencia]=Obriu la línia d'ordes
+Comment[en shaw]=𐑿𐑕 𐑞 𐑒𐑩𐑥𐑭𐑯𐑛 𐑤𐑲𐑯
+Comment[en_CA]=Use the command line
+Comment[en_GB]=Use the command line
+Comment[eo]=Uzi la komandolinion
+Comment[pt]=Utilizar a linha de comando
+Comment[pt_BR]=Use a linha de comando
+Keywords=shell;prompt;command;commandline;
+Keywords[ca]=intèrpret d'ordres;indicador;ordre;línia d'ordres;
+Keywords[ca valencia]=intèrpret d'ordes;indicador;orde;línia d'ordes;
+Keywords[en_GB]=shell;prompt;command;commandline;
+Keywords[pt]=consola;linha;comando;terminal;
+Keywords[pt_BR]=shell;prompt;comando;comandos;linha de comando;
+Exec=true
+Icon=utilities-terminal
+Type=Application
+X-GNOME-DocPath=gnome-terminal/index.html
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-terminal
+X-GNOME-Bugzilla-Component=BugBuddyBugs
+X-GNOME-Bugzilla-Version=3.10.1
+Categories=GNOME;GTK;System;TerminalEmulator;
+StartupNotify=true
diff --git a/gio/tests/desktop-files/usr/applications/gucharmap.desktop 
b/gio/tests/desktop-files/usr/applications/gucharmap.desktop
new file mode 100644
index 0000000..912e9b3
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/gucharmap.desktop
@@ -0,0 +1,38 @@
+[Desktop Entry]
+Name=Character Map
+Name[bn]=অক্ষরের ম্যাপ
+Name[bn_IN]=অক্ষরের ম্যাপ
+Name[ca]=Mapa de caràcters
+Name[ca valencia]=Mapa de caràcters
+Name[en shaw]=𐑒𐑸𐑩𐑒𐑑𐑼 𐑥𐑨𐑐
+Name[en_CA]=Character Map
+Name[en_GB]=Character Map
+Name[eo]=Signotabelo
+Name[pt]=Mapa de Carateres
+Name[pt_BR]=Mapa de caracteres
+Comment=Insert special characters into documents
+Comment[bn]=ডকুমেন্টে বিশেষ অক্ষর ব্যবহার করুন
+Comment[bn_IN]=নথিপত্রের মধ্যে বিশেষ অক্ষর সন্নিবেশ করুন
+Comment[ca]=Inseriu caràcters especials en els documents
+Comment[ca valencia]=Inseriu caràcters especials en els documents
+Comment[en shaw]=𐑦𐑯𐑕𐑻𐑑 𐑕𐑐𐑧𐑖𐑩𐑤 𐑒𐑸𐑩𐑒𐑑𐑼𐑟 𐑦𐑯𐑑𐑫 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑𐑕
+Comment[en_CA]=Insert special characters into documents
+Comment[en_GB]=Insert special characters into documents
+Comment[eo]=Enmeti specialajn signojn en dokumentojn
+Comment[pt]=Inserir carateres especiais em documentos
+Comment[pt_BR]=Insira caracteres especiais nos documentos
+Keywords=font;unicode;
+Keywords[ca]=tipus de lletra;unicode;
+Keywords[ca valencia]=tipus de lletra;unicode;
+Keywords[pt]=fonte;unicode;
+Keywords[pt_BR]=fonte;unicode;
+Exec=true
+Icon=accessories-character-map
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Utility;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gucharmap
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
+StartupNotify=true
diff --git a/gio/tests/desktop-files/usr/applications/kde4/dolphin.desktop 
b/gio/tests/desktop-files/usr/applications/kde4/dolphin.desktop
new file mode 100644
index 0000000..3e2aa0d
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/kde4/dolphin.desktop
@@ -0,0 +1,27 @@
+[Desktop Entry]
+Name=Dolphin
+Name[bn]=ডলফিন
+Name[bn_IN]=Dolphin
+Name[ca]=Dolphin
+Name[ca valencia]=Dolphin
+Name[en_GB]=Dolphin
+Name[eo]=Dolphin
+Name[pt]=Dolphin
+Name[pt_BR]=Dolphin
+Exec=true %i -caption %c %u
+Icon=system-file-manager
+Type=Application
+X-DocPath=dolphin/index.html
+Categories=Qt;KDE;System;FileTools;FileManager;
+GenericName=File Manager
+GenericName[bn]=ফাইল ম্যানেজার
+GenericName[bn_IN]=ফাইল পরিচালন ব্যবস্থা
+GenericName[ca]=Gestor de fitxers
+GenericName[ca valencia]=Gestor de fitxers
+GenericName[en_GB]=File Manager
+GenericName[eo]=Dosieradministrilo
+GenericName[pt]=Gestor de Ficheiros
+GenericName[pt_BR]=Gerenciador de arquivos
+Terminal=false
+MimeType=inode/directory;
+InitialPreference=10
diff --git a/gio/tests/desktop-files/usr/applications/kde4/kate.desktop 
b/gio/tests/desktop-files/usr/applications/kde4/kate.desktop
new file mode 100644
index 0000000..147e6a9
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/kde4/kate.desktop
@@ -0,0 +1,26 @@
+[Desktop Entry]
+GenericName=Advanced Text Editor
+GenericName[ca]=Editor de text avançat
+GenericName[ca valencia]=Editor de text avançat
+GenericName[en_GB]=Advanced Text Editor
+GenericName[pt]=Editor de Texto Avançado
+GenericName[pt_BR]=Editor de textos avançado
+Name=Kate
+Name[ca]=Kate
+Name[ca valencia]=Kate
+Name[en_GB]=Kate
+Name[eo]=Kate
+Name[pt]=Kate
+Name[pt_BR]=Kate
+MimeType=text/plain;
+Exec=true -b %U
+X-KDE-StartupNotify=true
+X-KDE-HasTempFileOption=true
+Icon=kate
+X-DocPath=kate/index.html
+Type=Application
+Terminal=false
+InitialPreference=9
+X-DBUS-StartupType=Multi
+X-DBUS-ServiceName=org.kde.kate
+Categories=Qt;KDE;Utility;TextEditor;
diff --git a/gio/tests/desktop-files/usr/applications/kde4/konqbrowser.desktop 
b/gio/tests/desktop-files/usr/applications/kde4/konqbrowser.desktop
new file mode 100644
index 0000000..2760fc0
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/kde4/konqbrowser.desktop
@@ -0,0 +1,26 @@
+[Desktop Entry]
+Type=Application
+Exec=true openProfile webbrowsing
+Icon=konqueror
+X-DocPath=konqueror/index.html
+MimeType=x-scheme-handler/http;
+
+Name=Konqueror
+Name[bn]=কনকরার
+Name[bn_IN]=Konqueror
+Name[ca]=Konqueror
+Name[ca valencia]=Konqueror
+Name[en_GB]=Konqueror
+Name[eo]=Konkeranto
+Name[pt]=Konqueror
+Name[pt_BR]=Konqueror
+GenericName=Web Browser
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[bn_IN]=ওয়েব ব্রাউজার
+GenericName[ca]=Navegador web
+GenericName[ca valencia]=Navegador web
+GenericName[en_GB]=Web Browser
+GenericName[eo]=TTT-foliumilo
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+Categories=Qt;KDE;Network;WebBrowser;
diff --git a/gio/tests/desktop-files/usr/applications/kde4/okular.desktop 
b/gio/tests/desktop-files/usr/applications/kde4/okular.desktop
new file mode 100644
index 0000000..1af4c34
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/kde4/okular.desktop
@@ -0,0 +1,23 @@
+[Desktop Entry]
+Terminal=false
+Name=Okular
+Name[ca]=Okular
+Name[ca valencia]=Okular
+Name[en_GB]=Okular
+Name[eo]=Okular
+Name[pt]=Okular
+Name[pt_BR]=Okular
+GenericName=Document Viewer
+GenericName[ca]=Visualitzador de documents
+GenericName[ca valencia]=Visualitzador de documents
+GenericName[en_GB]=Document Viewer
+GenericName[eo]=Dokumenta rigardilo
+GenericName[pt]=Visualizador de Documentos
+GenericName[pt_BR]=Visualizador de documentos
+Exec=true %U %i -caption %c
+Icon=okular
+Type=Application
+X-DocPath=okular/index.html
+InitialPreference=7
+Categories=Qt;KDE;Graphics;VectorGraphics;Viewer;
+MimeType=application/vnd.kde.okular-archive;
diff --git a/gio/tests/desktop-files/usr/applications/mimeinfo.cache 
b/gio/tests/desktop-files/usr/applications/mimeinfo.cache
new file mode 100644
index 0000000..e0a943d
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/mimeinfo.cache
@@ -0,0 +1,246 @@
+[MIME Cache]
+application/mxf=totem.desktop;
+application/ogg=totem.desktop;
+application/oxps=evince.desktop;evince-previewer.desktop;
+application/pdf=evince.desktop;evince-previewer.desktop;
+application/pkcs10=gcr-viewer.desktop;
+application/pkcs10+pem=gcr-viewer.desktop;
+application/pkcs12=gcr-viewer.desktop;
+application/pkcs12+pem=gcr-viewer.desktop;
+application/pkcs7-mime=gcr-viewer.desktop;
+application/pkcs7-mime+pem=gcr-viewer.desktop;
+application/pkcs8=gcr-viewer.desktop;
+application/pkcs8+pem=gcr-viewer.desktop;
+application/pkix-cert=gcr-viewer.desktop;
+application/pkix-cert+pem=gcr-viewer.desktop;
+application/pkix-crl=gcr-viewer.desktop;
+application/pkix-crl+pem=gcr-viewer.desktop;
+application/ram=totem.desktop;
+application/sdp=totem.desktop;
+application/smil=totem.desktop;
+application/smil+xml=totem.desktop;
+application/vnd.apple.mpegurl=totem.desktop;
+application/vnd.kde.okular-archive=kde4-okular.desktop;
+application/vnd.ms-cab-compressed=file-roller.desktop;
+application/vnd.ms-wpl=totem.desktop;
+application/vnd.ms-xpsdocument=evince.desktop;evince-previewer.desktop;
+application/vnd.rn-realmedia=totem.desktop;
+application/x-7z-compressed=file-roller.desktop;
+application/x-7z-compressed-tar=file-roller.desktop;
+application/x-ace=file-roller.desktop;
+application/x-alz=file-roller.desktop;
+application/x-ar=file-roller.desktop;
+application/x-archive=file-roller.desktop;
+application/x-arj=file-roller.desktop;
+application/x-bzip=file-roller.desktop;
+application/x-bzip-compressed-tar=file-roller.desktop;
+application/x-bzip1=file-roller.desktop;
+application/x-bzip1-compressed-tar=file-roller.desktop;
+application/x-bzpdf=evince.desktop;evince-previewer.desktop;
+application/x-cabinet=file-roller.desktop;
+application/x-cb7=evince.desktop;evince-previewer.desktop;
+application/x-cbr=evince.desktop;evince-previewer.desktop;file-roller.desktop;
+application/x-cbt=evince.desktop;evince-previewer.desktop;
+application/x-cbz=evince.desktop;evince-previewer.desktop;file-roller.desktop;
+application/x-cd-image=file-roller.desktop;
+application/x-compress=file-roller.desktop;
+application/x-compressed-tar=file-roller.desktop;
+application/x-cpio=file-roller.desktop;
+application/x-deb=file-roller.desktop;
+application/x-ear=file-roller.desktop;
+application/x-extension-m4a=totem.desktop;
+application/x-extension-mp4=totem.desktop;
+application/x-flac=totem.desktop;
+application/x-flash-video=totem.desktop;
+application/x-font-otf=gnome-font-viewer.desktop;
+application/x-font-pcf=gnome-font-viewer.desktop;
+application/x-font-ttf=gnome-font-viewer.desktop;
+application/x-font-type1=gnome-font-viewer.desktop;
+application/x-glade=glade.desktop;
+application/x-gnome-saved-search=nautilus.desktop;
+application/x-gtar=file-roller.desktop;
+application/x-gzip=file-roller.desktop;
+application/x-gzpdf=evince.desktop;evince-previewer.desktop;
+application/x-gzpostscript=file-roller.desktop;
+application/x-java-archive=file-roller.desktop;
+application/x-lha=file-roller.desktop;
+application/x-lhz=file-roller.desktop;
+application/x-lrzip=file-roller.desktop;
+application/x-lrzip-compressed-tar=file-roller.desktop;
+application/x-lzip=file-roller.desktop;
+application/x-lzip-compressed-tar=file-roller.desktop;
+application/x-lzma=file-roller.desktop;
+application/x-lzma-compressed-tar=file-roller.desktop;
+application/x-lzop=file-roller.desktop;
+application/x-lzop-compressed-tar=file-roller.desktop;
+application/x-matroska=totem.desktop;
+application/x-ms-dos-executable=file-roller.desktop;
+application/x-ms-wim=file-roller.desktop;
+application/x-netshow-channel=totem.desktop;
+application/x-ogg=totem.desktop;
+application/x-pem-file=gcr-viewer.desktop;
+application/x-pem-key=gcr-viewer.desktop;
+application/x-pkcs12=gcr-viewer.desktop;
+application/x-pkcs7-certificates=gcr-viewer.desktop;
+application/x-quicktime-media-link=totem.desktop;
+application/x-quicktimeplayer=totem.desktop;
+application/x-rar=file-roller.desktop;
+application/x-rar-compressed=file-roller.desktop;
+application/x-rpm=file-roller.desktop;
+application/x-rzip=file-roller.desktop;
+application/x-rzip-compressed-tar=file-roller.desktop;
+application/x-shorten=totem.desktop;
+application/x-smil=totem.desktop;
+application/x-spkac=gcr-viewer.desktop;
+application/x-spkac+base64=gcr-viewer.desktop;
+application/x-stuffit=file-roller.desktop;
+application/x-tar=file-roller.desktop;
+application/x-tarz=file-roller.desktop;
+application/x-war=file-roller.desktop;
+application/x-x509-ca-cert=gcr-viewer.desktop;
+application/x-x509-user-cert=gcr-viewer.desktop;
+application/x-xz=file-roller.desktop;
+application/x-xz-compressed-tar=file-roller.desktop;
+application/x-xzpdf=evince.desktop;evince-previewer.desktop;
+application/x-zip=file-roller.desktop;
+application/x-zip-compressed=file-roller.desktop;
+application/x-zoo=file-roller.desktop;
+application/xspf+xml=totem.desktop;
+application/zip=file-roller.desktop;
+audio/3gpp=totem.desktop;
+audio/AMR=totem.desktop;
+audio/AMR-WB=totem.desktop;
+audio/ac3=totem.desktop;
+audio/basic=totem.desktop;
+audio/flac=totem.desktop;
+audio/midi=totem.desktop;
+audio/mp2=totem.desktop;
+audio/mp4=totem.desktop;
+audio/mpeg=totem.desktop;
+audio/mpegurl=totem.desktop;
+audio/ogg=totem.desktop;
+audio/prs.sid=totem.desktop;
+audio/vnd.rn-realaudio=totem.desktop;
+audio/x-aiff=totem.desktop;
+audio/x-ape=totem.desktop;
+audio/x-flac=totem.desktop;
+audio/x-gsm=totem.desktop;
+audio/x-it=totem.desktop;
+audio/x-m4a=totem.desktop;
+audio/x-matroska=totem.desktop;
+audio/x-mod=totem.desktop;
+audio/x-mp3=totem.desktop;
+audio/x-mpeg=totem.desktop;
+audio/x-mpegurl=totem.desktop;
+audio/x-ms-asf=totem.desktop;
+audio/x-ms-asx=totem.desktop;
+audio/x-ms-wax=totem.desktop;
+audio/x-ms-wma=totem.desktop;
+audio/x-musepack=totem.desktop;
+audio/x-pn-aiff=totem.desktop;
+audio/x-pn-au=totem.desktop;
+audio/x-pn-realaudio=totem.desktop;
+audio/x-pn-realaudio-plugin=totem.desktop;
+audio/x-pn-wav=totem.desktop;
+audio/x-pn-windows-acm=totem.desktop;
+audio/x-real-audio=totem.desktop;
+audio/x-realaudio=totem.desktop;
+audio/x-s3m=totem.desktop;
+audio/x-sbc=totem.desktop;
+audio/x-scpls=totem.desktop;
+audio/x-speex=totem.desktop;
+audio/x-stm=totem.desktop;
+audio/x-tta=totem.desktop;
+audio/x-vorbis=totem.desktop;
+audio/x-vorbis+ogg=totem.desktop;
+audio/x-wav=totem.desktop;
+audio/x-wavpack=totem.desktop;
+audio/x-xm=totem.desktop;
+image/bmp=eog.desktop;
+image/gif=eog.desktop;
+image/jpeg=eog.desktop;
+image/jpg=eog.desktop;
+image/pjpeg=eog.desktop;
+image/png=eog.desktop;
+image/svg+xml=eog.desktop;
+image/svg+xml-compressed=eog.desktop;
+image/tiff=eog.desktop;evince.desktop;evince-previewer.desktop;
+image/vnd.rn-realpix=totem.desktop;
+image/vnd.wap.wbmp=eog.desktop;
+image/x-bmp=eog.desktop;
+image/x-gray=eog.desktop;
+image/x-icb=eog.desktop;
+image/x-ico=eog.desktop;
+image/x-pcx=eog.desktop;
+image/x-pict=totem.desktop;
+image/x-png=eog.desktop;
+image/x-portable-anymap=eog.desktop;
+image/x-portable-bitmap=eog.desktop;
+image/x-portable-graymap=eog.desktop;
+image/x-portable-pixmap=eog.desktop;
+image/x-xbitmap=eog.desktop;
+image/x-xpixmap=eog.desktop;
+inode/directory=kde4-dolphin.desktop;baobab.desktop;nautilus.desktop;
+misc/ultravox=totem.desktop;
+text/google-video-pointer=totem.desktop;
+text/plain=kde4-kate.desktop;gedit.desktop;
+text/x-google-video-pointer=totem.desktop;
+video/3gp=totem.desktop;
+video/3gpp=totem.desktop;
+video/divx=totem.desktop;
+video/dv=totem.desktop;
+video/fli=totem.desktop;
+video/flv=totem.desktop;
+video/mp2t=totem.desktop;
+video/mp4=totem.desktop;
+video/mp4v-es=totem.desktop;
+video/mpeg=totem.desktop;
+video/msvideo=totem.desktop;
+video/ogg=totem.desktop;
+video/quicktime=totem.desktop;
+video/vivo=totem.desktop;
+video/vnd.divx=totem.desktop;
+video/vnd.mpegurl=totem.desktop;
+video/vnd.rn-realvideo=totem.desktop;
+video/vnd.vivo=totem.desktop;
+video/webm=totem.desktop;
+video/x-anim=totem.desktop;
+video/x-avi=totem.desktop;
+video/x-flc=totem.desktop;
+video/x-fli=totem.desktop;
+video/x-flic=totem.desktop;
+video/x-flv=totem.desktop;
+video/x-m4v=totem.desktop;
+video/x-matroska=totem.desktop;
+video/x-mpeg=totem.desktop;
+video/x-mpeg2=totem.desktop;
+video/x-ms-asf=totem.desktop;
+video/x-ms-asx=totem.desktop;
+video/x-ms-wm=totem.desktop;
+video/x-ms-wmv=totem.desktop;
+video/x-ms-wmx=totem.desktop;
+video/x-ms-wvx=totem.desktop;
+video/x-msvideo=totem.desktop;
+video/x-nsv=totem.desktop;
+video/x-ogm+ogg=totem.desktop;
+video/x-theora+ogg=totem.desktop;
+video/x-totem-stream=totem.desktop;
+x-content/unix-software=nautilus-autorun-software.desktop;
+x-content/video-dvd=totem.desktop;
+x-content/video-svcd=totem.desktop;
+x-content/video-vcd=totem.desktop;
+x-scheme-handler/ghelp=yelp.desktop;
+x-scheme-handler/help=yelp.desktop;
+x-scheme-handler/http=kde4-konqbrowser.desktop;
+x-scheme-handler/icy=totem.desktop;
+x-scheme-handler/icyx=totem.desktop;
+x-scheme-handler/info=yelp.desktop;
+x-scheme-handler/man=yelp.desktop;
+x-scheme-handler/mms=totem.desktop;
+x-scheme-handler/mmsh=totem.desktop;
+x-scheme-handler/net=totem.desktop;
+x-scheme-handler/pnm=totem.desktop;
+x-scheme-handler/rtmp=totem.desktop;
+x-scheme-handler/rtp=totem.desktop;
+x-scheme-handler/rtsp=totem.desktop;
+x-scheme-handler/uvox=totem.desktop;
diff --git a/gio/tests/desktop-files/usr/applications/nautilus-autorun-software.desktop 
b/gio/tests/desktop-files/usr/applications/nautilus-autorun-software.desktop
new file mode 100644
index 0000000..3fc154e
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/nautilus-autorun-software.desktop
@@ -0,0 +1,19 @@
+[Desktop Entry]
+Name=Run Software
+Name[ca]=Executa programari
+Name[ca valencia]=Executa programari
+Name[en_GB]=Run Software
+Name[eo]=Lanĉi programaron
+Name[pt]=Executar Aplicação
+Name[pt_BR]=Executar software
+Exec=true %u
+Icon=application-x-executable
+NoDisplay=true
+Terminal=false
+StartupNotify=true
+Type=Application
+MimeType=x-content/unix-software;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=nautilus
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
diff --git a/gio/tests/desktop-files/usr/applications/nautilus-classic.desktop 
b/gio/tests/desktop-files/usr/applications/nautilus-classic.desktop
new file mode 100644
index 0000000..98612d5
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/nautilus-classic.desktop
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Type=Application
+Name=Desktop Icons
+Comment=Classic session desktop file for desktop icons
+Exec=true --no-default-window --force-desktop
+OnlyShowIn=GNOME;
+NoDisplay=true
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=nautilus
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
+X-GNOME-Autostart-Phase=Desktop
+X-GNOME-Autostart-Notify=true
+X-GNOME-AutoRestart=true
+X-GNOME-Provides=filemanager
diff --git a/gio/tests/desktop-files/usr/applications/nautilus-connect-server.desktop 
b/gio/tests/desktop-files/usr/applications/nautilus-connect-server.desktop
new file mode 100644
index 0000000..6258fcf
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/nautilus-connect-server.desktop
@@ -0,0 +1,22 @@
+[Desktop Entry]
+Name=Connect to Server
+Name[bn]=সার্ভারের সাথে সংযোগ স্থাপন করা হবে
+Name[bn_IN]=সার্ভারের সাথে সংযোগ স্থাপন করা হবে
+Name[ca]=Connecta't al servidor
+Name[ca valencia]=Connecta't al servidor
+Name[en shaw]=𐑒𐑩𐑯𐑧𐑒𐑑 𐑑 𐑕𐑻𐑝𐑼
+Name[en_CA]=Connect to Server
+Name[en_GB]=Connect to Server
+Name[eo]=Konekti al servilo
+Name[pt]=Ligar-se a Servidores
+Name[pt_BR]=Conectar ao servidor
+Exec=true
+Icon=applications-internet
+NoDisplay=true
+Terminal=false
+StartupNotify=true
+Type=Application
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=nautilus
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
diff --git a/gio/tests/desktop-files/usr/applications/nautilus.desktop 
b/gio/tests/desktop-files/usr/applications/nautilus.desktop
new file mode 100644
index 0000000..de65da0
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/nautilus.desktop
@@ -0,0 +1,39 @@
+[Desktop Entry]
+Name=Files
+Name[bn]=ফাইল
+Name[ca]=Fitxers
+Name[ca valencia]=Fitxers
+Name[en_CA]=Files
+Name[en_GB]=Files
+Name[eo]=Dosieroj
+Name[pt]=Ficheiros
+Name[pt_BR]=Arquivos
+Comment=Access and organize files
+Comment[bn]=ফাইলে ব্যবাহর এবং সাজানো
+Comment[ca]=Organitzeu i accediu a fitxers
+Comment[ca valencia]=Organitzeu i accediu a fitxers
+Comment[en_CA]=Access and organize files
+Comment[en_GB]=Access and organise files
+Comment[eo]=Atingi kaj organizi dosierojn
+Comment[pt]=Aceder e organizar ficheiros
+Comment[pt_BR]=Acesse e organize arquivos
+Keywords=folder;manager;explore;disk;filesystem;
+Keywords[ca]=carpeta;gestor;explora;disc;sistema de fitxers;
+Keywords[ca valencia]=carpeta;gestor;explora;disc;sistema de fitxers;
+Keywords[en_GB]=folder;manager;explore;disk;filesystem;
+Keywords[eo]=dosierujo;administrilo;foliumi;esplori;disko;dosiersistemo;
+Keywords[pt]=pasta;gestor;explorar;disco;sistema;ficheiros;
+Keywords[pt_BR]=pasta;gerenciador;explorar;disco;sistema de arquivos;
+Exec=true --new-window %U
+Icon=system-file-manager
+Terminal=false
+Type=Application
+StartupNotify=true
+OnlyShowIn=GNOME;Unity;
+Categories=GNOME;GTK;Utility;Core;FileManager;
+MimeType=inode/directory;application/x-gnome-saved-search;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=nautilus
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
+X-GNOME-UsesNotifications=true
diff --git a/gio/tests/desktop-files/usr/applications/totem.desktop 
b/gio/tests/desktop-files/usr/applications/totem.desktop
new file mode 100644
index 0000000..44f6170
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/totem.desktop
@@ -0,0 +1,36 @@
+[Desktop Entry]
+Name=Videos
+Name[bn]=ভিডিও
+Name[bn_IN]=ভিডিও
+Name[ca]=Vídeos
+Name[ca valencia]=Vídeos
+Name[en shaw]=𐑝𐑦𐑛𐑰𐑴𐑟
+Name[en_GB]=Videos
+Name[pt]=Vídeos
+Name[pt_BR]=Vídeos
+Comment=Play movies
+Comment[ca]=Reprodueix pel·lícules
+Comment[ca valencia]=Reprodueix pel·lícules
+Comment[en_GB]=Play movies
+Comment[pt]=Reproduzir filmes
+Comment[pt_BR]=Reproduzir filmes
+Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc;
+Keywords[ca]=Vídeo;Pel·lícula;Film;Clip;Sèries;Reproductor;DVD;TV;Disc;
+Keywords[ca valencia]=Vídeo;Pel·lícula;Film;Clip;Sèries;Reproductor;DVD;TV;Disc;
+Keywords[en_GB]=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc;
+Keywords[pt]=Vídeo;Filme;Clip;Séries;Reprodutor;DVD;TV;Disc;
+Keywords[pt_BR]=Vídeo;Filme;Clipe;Série;Reprodutor;DVD;TV;Disco;
+Exec=true %U
+Icon=totem
+Terminal=false
+Type=Application
+Categories=GTK;GNOME;AudioVideo;Player;Video;
+X-GNOME-DocPath=totem/totem.xml
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=totem
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.1
+X-GNOME-Bugzilla-OtherBinaries=totem-video-thumbnailer;totem-audio-preview;
+X-GNOME-Bugzilla-ExtraInfoScript=true
+StartupNotify=true
+MimeType=application/mxf;application/ogg;application/ram;application/sdp;application/smil;application/smil+xml;application/vnd.apple.mpegurl;application/vnd.ms-wpl;application/vnd.rn-realmedia;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-netshow-channel;application/x-ogg;application/x-quicktime-media-link;application/x-quicktimeplayer;application/x-shorten;application/x-smil;application/xspf+xml;audio/3gpp;audio/ac3;audio/AMR;audio/AMR-WB;audio/basic;audio/flac;audio/midi;audio/mp2;audio/mp4;audio/mpeg;audio/mpegurl;audio/ogg;audio/prs.sid;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-pn-wav;audio/x-pn-wi
 
ndows-acm;audio/x-realaudio;audio/x-real-audio;audio/x-s3m;audio/x-sbc;audio/x-scpls;audio/x-speex;audio/x-stm;audio/x-tta;audio/x-wav;audio/x-wavpack;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-xm;image/vnd.rn-realpix;image/x-pict;misc/ultravox;text/google-video-pointer;text/x-google-video-pointer;video/3gp;video/3gpp;video/dv;video/divx;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/ogg;video/quicktime;video/vivo;video/vnd.divx;video/vnd.mpegurl;video/vnd.rn-realvideo;video/vnd.vivo;video/webm;video/x-anim;video/x-avi;video/x-flc;video/x-fli;video/x-flic;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg2;video/x-ms-asf;video/x-ms-asx;video/x-msvideo;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-nsv;video/x-ogm+ogg;video/x-theora+ogg;video/x-totem-stream;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;x-scheme-handler/pnm;x-scheme-handler/mms;x-scheme-handler/net;x-scheme-handler/rtp;x-s
 
cheme-handler/rtmp;x-scheme-handler/rtsp;x-scheme-handler/mmsh;x-scheme-handler/uvox;x-scheme-handler/icy;x-scheme-handler/icyx;
diff --git a/gio/tests/desktop-files/usr/applications/yelp.desktop 
b/gio/tests/desktop-files/usr/applications/yelp.desktop
new file mode 100644
index 0000000..3c58575
--- /dev/null
+++ b/gio/tests/desktop-files/usr/applications/yelp.desktop
@@ -0,0 +1,39 @@
+[Desktop Entry]
+Name=Help
+Name[bn]=সহায়তা
+Name[bn_IN]=সাহায্য
+Name[ca]=Ajuda
+Name[ca valencia]=Ajuda
+Name[en_CA]=Help
+Name[en_GB]=Help
+Name[eo]=Helpo
+Name[pt]=Ajuda
+Name[pt_BR]=Ajuda
+Comment=Get help with GNOME
+Comment[bn]=GNOME থেকে সহায়তা নিন
+Comment[bn_IN]=GNOME থেকে সহায়তা প্রাপ্ত করুন
+Comment[ca]=Obtingueu ajuda per al GNOME
+Comment[ca valencia]=Obtingueu ajuda per al GNOME
+Comment[en_CA]=Get help with GNOME
+Comment[en_GB]=Get help with GNOME
+Comment[eo]=Ricevi helpon pri GNOME
+Comment[pt]=Obtenha ajuda com o GNOME
+Comment[pt_BR]=Obtenha ajuda sobre o GNOME
+Keywords=documentation;information;manual;
+Keywords[ca]=documentació;informació;manual;
+Keywords[ca valencia]=documentació;informació;manual;
+Keywords[eo]=dokumentado;informo;manlibro;gvidilo;
+Keywords[pt]=documentação;informação;manual;
+Keywords[pt_BR]=documentação;informação;informações;manual;
+OnlyShowIn=GNOME;Unity;
+Exec=true %u
+Icon=help-browser
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Core;Documentation;Utility;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=Yelp
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=3.10.0
+MimeType=x-scheme-handler/ghelp;x-scheme-handler/help;x-scheme-handler/info;x-scheme-handler/man;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]