[seed] libseed: Fix struct-union-enumerate test



commit 609b2428af638a89636b60eb640ddfd498556659
Author: Robert Carr <racarr svn gnome org>
Date:   Fri May 29 05:57:34 2009 -0400

    libseed: Fix struct-union-enumerate test
---
 libseed/seed-importer.c                            |   19 +++++++++++++++++--
 tests/javascript/structs/struct-union-enumerate.js |    2 +-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/libseed/seed-importer.c b/libseed/seed-importer.c
index 077d9db..e866006 100644
--- a/libseed/seed-importer.c
+++ b/libseed/seed-importer.c
@@ -56,14 +56,29 @@ GHashTable *file_imports;
 * Handle definition of toplevel functions in a namespace.
 * i.e. Gtk.main
 */
+
+static gboolean
+seed_gi_importer_is_init (GIFunctionInfo *info)
+{
+  if (strcmp (g_base_info_get_name ((GIBaseInfo *) info), "init"))
+    {
+      return FALSE;
+    }
+  if (g_callable_info_get_n_args ((GICallableInfo *)info) != 2)
+    return FALSE;
+  
+  return TRUE;
+}
+
 static void
 seed_gi_importer_handle_function (JSContextRef ctx,
 				  JSObjectRef namespace_ref,
 				  GIFunctionInfo *info,
 				  JSValueRef *exception)
 {
-  if (strcmp(g_base_info_get_name ((GIBaseInfo *)info), "init"))
-    seed_gobject_define_property_from_function_info (ctx, (GIFunctionInfo *) info,
+  if (!seed_gi_importer_is_init (info))
+    seed_gobject_define_property_from_function_info (ctx, 
+						     (GIFunctionInfo *) info,
 						     namespace_ref, FALSE);
   else
     {
diff --git a/tests/javascript/structs/struct-union-enumerate.js b/tests/javascript/structs/struct-union-enumerate.js
index ba43eea..ee604fc 100755
--- a/tests/javascript/structs/struct-union-enumerate.js
+++ b/tests/javascript/structs/struct-union-enumerate.js
@@ -1,7 +1,7 @@
 #!/usr/bin/env seed
 // Returns: 0
 // STDIN:
-// STDOUT:\* type\n\* any\n   \* type\n   \* window\n   \* send_event\n\* expose\n   \* type\n   \* window\n   \* send_event\n   \* area\n      \* x\n      \* y\n      \* width\n      \* height\n      \* intersect\n      \* union\n   \* region\n      \* copy\n      \* destroy\n      \* get_clipbox\n      \* get_rectangles\n      \* empty\n      \* equal\n      \* point_in\n      \* rect_in\n      \* offset\n      \* shrink\n      \* union_with_rect\n      \* intersect\n      \* union\n      \* subtract\n      \* xor\n      \* spans_intersect_foreach\n   \* count\n\* no_expose\n   \* type\n   \* window\n   \* send_event\n\* visibility\n   \* type\n   \* window\n   \* send_event\n   \* state\n\* motion\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* x\n   \* y\n   \* state\n   \* is_hint\n   \* device\n   \* x_root\n   \* y_root\n\* button\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* x\n   \* y\n   \* state\n   \* button\n   \* device\n   \* x_
 root\n   \* y_root\n\* scroll\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* x\n   \* y\n   \* state\n   \* direction\n   \* device\n   \* x_root\n   \* y_root\n\* key\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* state\n   \* keyval\n   \* length\n   \* string\n   \* hardware_keycode\n   \* group\n   \* is_modifier\n\* crossing\n   \* type\n   \* window\n   \* send_event\n   \* subwindow\n   \* time\n   \* x\n   \* y\n   \* x_root\n   \* y_root\n   \* mode\n   \* detail\n   \* focus\n   \* state\n\* focus_change\n   \* type\n   \* window\n   \* send_event\n   \* in\n\* configure\n   \* type\n   \* window\n   \* send_event\n   \* x\n   \* y\n   \* width\n   \* height\n\* property\n   \* type\n   \* window\n   \* send_event\n   \* atom\n      \* name\n   \* time\n   \* state\n\* selection\n   \* type\n   \* window\n   \* send_event\n   \* selection\n      \* name\n   \* target\n      \* name\n   \* property\n      \* name\n   \* time\n   \* re
 questor\n\* owner_change\n   \* type\n   \* window\n   \* send_event\n   \* owner\n   \* reason\n   \* selection\n      \* name\n   \* time\n   \* selection_time\n\* proximity\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* device\n\* client\n   \* type\n   \* window\n   \* send_event\n   \* message_type\n      \* name\n   \* data_format\n\* dnd\n   \* type\n   \* window\n   \* send_event\n   \* context\n   \* time\n   \* x_root\n   \* y_root\n\* window_state\n   \* type\n   \* window\n   \* send_event\n   \* changed_mask\n   \* new_window_state\n\* setting\n   \* type\n   \* window\n   \* send_event\n   \* action\n   \* name\n\* grab_broken\n   \* type\n   \* window\n   \* send_event\n   \* keyboard\n   \* implicit\n   \* grab_window\n\* put\n\* copy\n\* free\n\* get_time\n\* get_state\n\* get_coords\n\* get_root_coords\n\* get_axis\n\* set_screen\n\* get_screen\n\* send_client_message\n\* send_clientmessage_toall\n\* get_symbol
+// STDOUT:\* type\n\* any\n   \* type\n   \* window\n   \* send_event\n\* expose\n   \* type\n   \* window\n   \* send_event\n   \* area\n      \* x\n      \* y\n      \* width\n      \* height\n      \* intersect\n      \* union\n   \* region\n      \* copy\n      \* destroy\n      \* get_clipbox\n      \* get_rectangles\n      \* empty\n      \* equal\n      \* point_in\n      \* rect_in\n      \* offset\n      \* shrink\n      \* union_with_rect\n      \* intersect\n      \* union\n      \* subtract\n      \* xor\n      \* spans_intersect_foreach\n   \* count\n\* no_expose\n   \* type\n   \* window\n   \* send_event\n\* visibility\n   \* type\n   \* window\n   \* send_event\n   \* state\n\* motion\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* x\n   \* y\n   \* axes\n   \* state\n   \* is_hint\n   \* device\n   \* x_root\n   \* y_root\n\* button\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* x\n   \* y\n   \* axes\n   \* state\n   \* button
 \n   \* device\n   \* x_root\n   \* y_root\n\* scroll\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* x\n   \* y\n   \* state\n   \* direction\n   \* device\n   \* x_root\n   \* y_root\n\* key\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* state\n   \* keyval\n   \* length\n   \* string\n   \* hardware_keycode\n   \* group\n   \* is_modifier\n\* crossing\n   \* type\n   \* window\n   \* send_event\n   \* subwindow\n   \* time\n   \* x\n   \* y\n   \* x_root\n   \* y_root\n   \* mode\n   \* detail\n   \* focus\n   \* state\n\* focus_change\n   \* type\n   \* window\n   \* send_event\n   \* in\n\* configure\n   \* type\n   \* window\n   \* send_event\n   \* x\n   \* y\n   \* width\n   \* height\n\* property\n   \* type\n   \* window\n   \* send_event\n   \* atom\n      \* name\n   \* time\n   \* state\n\* selection\n   \* type\n   \* window\n   \* send_event\n   \* selection\n      \* name\n   \* target\n      \* name\n   \* property\n      \* na
 me\n   \* time\n   \* requestor\n\* owner_change\n   \* type\n   \* window\n   \* send_event\n   \* owner\n   \* reason\n   \* selection\n      \* name\n   \* time\n   \* selection_time\n\* proximity\n   \* type\n   \* window\n   \* send_event\n   \* time\n   \* device\n\* client\n   \* type\n   \* window\n   \* send_event\n   \* message_type\n      \* name\n   \* data_format\n\* dnd\n   \* type\n   \* window\n   \* send_event\n   \* context\n   \* time\n   \* x_root\n   \* y_root\n\* window_state\n   \* type\n   \* window\n   \* send_event\n   \* changed_mask\n   \* new_window_state\n\* setting\n   \* type\n   \* window\n   \* send_event\n   \* action\n   \* name\n\* grab_broken\n   \* type\n   \* window\n   \* send_event\n   \* keyboard\n   \* implicit\n   \* grab_window\n\* put\n\* copy\n\* free\n\* get_time\n\* get_state\n\* get_coords\n\* get_root_coords\n\* get_axis\n\* set_screen\n\* get_screen\n\* send_client_message\n\* send_clientmessage_toall\n\* get_symbol
 // STDERR:
 
 Gdk = imports.gi.Gdk;



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