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.

Reply via email to