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