[seed] libseed: Add tests for getting invalid signals, and for disconnecting signals



commit f397068d94b69da227fad96530ffb8f98a1ce0f4
Author: Robert Carr <racarr svn gnome org>
Date:   Wed May 13 00:57:34 2009 -0400

    libseed: Add tests for getting invalid signals, and for disconnecting signals
---
 libseed/seed-signals.c                |    5 +----
 tests/javascript/Makefile.am          |    2 ++
 tests/javascript/signal-disconnect.js |   18 ++++++++++++++++++
 tests/javascript/signal-invalid.js    |   10 ++++++++++
 4 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/libseed/seed-signals.c b/libseed/seed-signals.c
index 0ca3740..c05a695 100644
--- a/libseed/seed-signals.c
+++ b/libseed/seed-signals.c
@@ -274,8 +274,6 @@ seed_gobject_signal_disconnect (JSContextRef ctx,
 				JSValueRef * exception)
 {
   gulong id;
-  signal_privates *privates;
-  
   if (argumentCount != 1)
     {
       seed_make_exception (ctx, exception, "ArgumentError",
@@ -283,9 +281,8 @@ seed_gobject_signal_disconnect (JSContextRef ctx,
 			   " got %zd", argumentCount);
       return JSValueMakeUndefined (ctx);
     }
-  privates = (signal_privates *) JSObjectGetPrivate (thisObject);
   id = seed_value_to_ulong (ctx, arguments[0], exception);
-  g_signal_handler_disconnect (privates->object, id);
+  g_signal_handler_disconnect (JSObjectGetPrivate (thisObject), id);
   
   return JSValueMakeUndefined(ctx);
 }
diff --git a/tests/javascript/Makefile.am b/tests/javascript/Makefile.am
index ee49175..5f95713 100644
--- a/tests/javascript/Makefile.am
+++ b/tests/javascript/Makefile.am
@@ -21,10 +21,12 @@ EXTRA_DIST = \
     gtype-class-init-exception.js \
     gtype.js \
     gtype-property.js \
+    signal-invalid.js \
     gtype-property-construct.js \
     gtype-signal-args.js \
     gtype-signal.js \
     gtype-typerror.js \
+    signal-disconnect.js \
     include.js \
     include-syntax.js \
     introspect.js \
diff --git a/tests/javascript/signal-disconnect.js b/tests/javascript/signal-disconnect.js
new file mode 100755
index 0000000..f9b0485
--- /dev/null
+++ b/tests/javascript/signal-disconnect.js
@@ -0,0 +1,18 @@
+#!/usr/bin/env seed
+// Returns: 0
+// STDIN:
+// STDOUT:Signal handler called
+// STDERR:
+Gtk = imports.gi.Gtk;
+Gtk.init(Seed.argv);
+
+function test(){
+    Seed.print("Signal handler called");
+}
+
+w = new Gtk.Window();
+id = w.signal.map.connect(test);
+w.show_all();
+w.hide();
+w.signal.disconnect(id);
+w.show_all();
diff --git a/tests/javascript/signal-invalid.js b/tests/javascript/signal-invalid.js
new file mode 100755
index 0000000..73591ed
--- /dev/null
+++ b/tests/javascript/signal-invalid.js
@@ -0,0 +1,10 @@
+#!/usr/local/bin/seed
+// Returns: 0
+// STDIN:
+// STDOUT:\[undefined\]
+// STDERR:
+Gtk = imports.gi.Gtk;
+Gtk.init(Seed.argv);
+
+w = new Gtk.Window();
+Seed.print(w.signal.notasignal);



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