Use CSIDL_LOCAL_APPDATA on Windows
[platform/upstream/glib.git] / gio / tests / testapp.c
index 34e88d6..413c1c6 100644 (file)
@@ -1,4 +1,4 @@
-#include <gio.h>
+#include <gio/gio.h>
 #include <gstdio.h>
 #include <string.h>
 
@@ -31,6 +31,26 @@ on_app_activated (GApplication  *application,
                  GVariant      *args,
                  GVariant      *platform_data)
 {
+  GVariantIter iter;
+  const char *key;
+  GVariant *value;
+  char *cwd;
+
+  cwd = g_get_current_dir ();
+  g_variant_iter_init (&iter, platform_data);
+  while (g_variant_iter_next (&iter, "{&sv}", &key, &value))
+    {
+      const char *activate_cwd;
+
+      if (strcmp (key, "cwd") != 0)
+       continue;
+
+      activate_cwd = g_variant_get_bytestring (value);
+      g_assert_cmpstr (cwd, ==, activate_cwd);
+      g_variant_unref (value);
+    }
+
+  g_free (cwd);
 }
 
 static gboolean
@@ -60,9 +80,13 @@ main (int argc, char *argv[])
   }
 #endif
 
-  app = g_application_new ("org.gtk.test.app");
+  app = g_application_unregistered_try_new ("org.gtk.test.app", 
+                                           argc, argv, NULL);
   if (!(argc > 1 && strcmp (argv[1], "--non-unique") == 0))
-    g_application_register_with_data (app, argc, argv, NULL);
+    {
+      if (!g_application_register (app))
+       exit (0);
+    }
 
   if (g_application_is_remote (app))
     {