]> Pileus Git - ~andy/gtk/commitdiff
tests: (Try to) print the actual enum value in the errors file
authorBenjamin Otte <otte@redhat.com>
Fri, 8 Apr 2011 14:59:17 +0000 (16:59 +0200)
committerBenjamin Otte <otte@redhat.com>
Wed, 18 May 2011 19:58:44 +0000 (21:58 +0200)
Instead of gtk-some-error-quark 5, print
GTK_SOME_ERROR_SOMETHING_FAILED.

tests/css/parser/close-at-end-of-file.errors
tests/css/parser/does-not-exist.errors
tests/css/parser/test-css-parser.c

index 341b007cf1aca6b41c7e6111d08814688d0bb993..69b3390b550c52e722a49294531793f8de096eb8 100644 (file)
@@ -1 +1 @@
-close-at-end-of-file.css:3: error: gtk-css-provider-error-quark 1
+close-at-end-of-file.css:3: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
index eb57998273f45ea8d75ca15e1062fbc77acc54fb..22d7743b7dc48e65e63eb38387da647b7e810bc2 100644 (file)
@@ -1 +1 @@
-does-not-exist.css:2: error: gtk-css-provider-error-quark 2
+does-not-exist.css:2: error: GTK_CSS_PROVIDER_ERROR_PROPERTY_NAME
index f0ba8ce186f91fb0a6aef878c722e33ab4beedb0..e1054368bb5ffd13f3ea786a563f81c94bd0b108 100644 (file)
@@ -116,6 +116,22 @@ done:
   return diff;
 }
 
+static void
+append_error_value (GString *string,
+                    GType    enum_type,
+                    guint    value)
+{
+  GEnumClass *enum_class;
+  GEnumValue *enum_value;
+
+  enum_class = g_type_class_ref (enum_type);
+  enum_value = g_enum_get_value (enum_class, value);
+
+  g_string_append (string, enum_value->value_name);
+
+  g_type_class_unref (enum_class);
+}
+
 static void
 parsing_error_cb (GtkCssProvider *provider,
                   const gchar     *path,
@@ -130,14 +146,20 @@ parsing_error_cb (GtkCssProvider *provider,
   g_assert (line > 0);
 
   basename = g_path_get_basename (path);
-
   g_string_append_printf (errors,
-                          "%s:%u: error: %s %u\n",
-                          basename, line,
-                          g_quark_to_string (error->domain),
-                          error->code);
-
+                          "%s:%u: error: ",
+                          basename, line);
   g_free (basename);
+                          
+  if (error->domain == GTK_CSS_PROVIDER_ERROR)
+      append_error_value (errors, GTK_TYPE_CSS_PROVIDER_ERROR, error->code);
+  else
+    g_string_append_printf (errors, 
+                            "%s %u\n",
+                            g_quark_to_string (error->domain),
+                            error->code);
+
+  g_string_append_c (errors, '\n');
 }
 
 static void