[seed] libseed: Fix struct-union-enumerate test
- From: Robert Carr <racarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] libseed: Fix struct-union-enumerate test
- Date: Fri, 29 May 2009 06:01:01 -0400 (EDT)
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]