Change 27508 by [EMAIL PROTECTED] on 2006/03/15 17:57:14
Test for reblessing objects with weak references.
Affected files ...
... //depot/perl/lib/overload.t#23 edit
Differences ...
==== //depot/perl/lib/overload.t#23 (text) ====
Index: perl/lib/overload.t
--- perl/lib/overload.t#22~27506~ 2006-03-15 07:08:49.000000000 -0800
+++ perl/lib/overload.t 2006-03-15 09:57:14.000000000 -0800
@@ -47,7 +47,7 @@
package main;
$| = 1;
-use Test::More tests=>503;
+use Test::More tests => 509;
$a = new Oscalar "087";
@@ -1225,3 +1225,32 @@
ok(!$b, "Expect overloaded boolean");
ok(!$a, "Expect overloaded boolean");
}
+{
+ use Scalar::Util 'weaken';
+
+ package Shklitza;
+ use overload '""' => sub {"CLiK KLAK"};
+
+ package Ksshfwoom;
+ use overload '""' => sub {"OOOKK AWK"};
+
+ package main;
+
+ my ($obj, $ref);
+ $obj = bless do {my $a; \$a}, 'Shklitza';
+ $ref = $obj;
+
+ is ($obj, "CLiK KLAK");
+ is ($ref, "CLiK KLAK");
+
+ weaken $ref;
+ is ($ref, "CLiK KLAK");
+
+ bless $obj, 'Ksshfwoom';
+
+ is ($obj, "OOOKK AWK");
+ is ($ref, "OOOKK AWK");
+
+ undef $obj;
+ is ($ref, undef);
+}
End of Patch.