I got tricked by another overloaded == which didn't have a matching !=,
this time GdkAtom.  I wonder if the != could be added for symmetry.

(The "$h1 != $h2" case in the .t below fails currently.  Separately
interned/created of the same atom are different.)

Index: Gtk2.pm
===================================================================
RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/Gtk2.pm,v
retrieving revision 1.120
diff -u -u -r1.120 Gtk2.pm
--- Gtk2.pm	30 Mar 2008 19:49:43 -0000	1.120
+++ Gtk2.pm	18 May 2008 01:26:05 -0000
@@ -95,6 +95,7 @@
 
 use overload
 	'==' => \&Gtk2::Gdk::Atom::eq,
+	'!=' => \&Gtk2::Gdk::Atom::ne,
 	fallback => 1;
 
 package Gtk2::CellLayout::DataFunc;
--- GdkProperty.xs	14 May 2006 02:13:00 +1000	1.23
+++ GdkProperty.xs	18 May 2008 11:22:25 +1000	
@@ -66,8 +66,13 @@
 eq (left, right, swap=FALSE)
 	GdkAtom left
 	GdkAtom right
+    ALIAS:
+        ne = 1
     CODE:
-	RETVAL = left == right;
+        switch (ix) {
+        case 0: RETVAL = left == right; break;
+        case 1: RETVAL = left != right; break;
+        }
     OUTPUT:
 	RETVAL
 
--- GdkProperty.t	27 Apr 2008 09:53:13 +1000	1.8
+++ GdkProperty.t	18 May 2008 11:19:23 +1000	
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 use strict;
-use Gtk2::TestHelper tests => 46;
+use Gtk2::TestHelper tests => 49;
 
 # $Header: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/t/GdkProperty.t,v 1.8 2008/03/30 19:31:10 kaffeetisch Exp $
 
@@ -19,6 +19,15 @@
   isa_ok($_, "Gtk2::Gdk::Atom");
 }
 
+{
+  my $h1 = Gtk2::Gdk::Atom->intern("hello");
+  my $h2 = Gtk2::Gdk::Atom->intern("hello");
+  my $w = Gtk2::Gdk::Atom->intern("world");
+  ok ($h1 == $h2);
+  ok ($h1 != $w);
+  ok (! ($h1 != $h2));
+}
+
 is($name -> name(), "WM_NAME");
 is($icon_name -> name(), "WM_ICON_NAME");
 is($strut -> name(), "_NET_WM_STRUT");
_______________________________________________
gtk-perl-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to