Change 31732 by [EMAIL PROTECTED] on 2007/08/18 08:03:28
Subject: [perl #44647] [PATCH] Add a test for overload::constant
'integer' across use's.
From: Shlomi Fish <[EMAIL PROTECTED]>
Date: Wed, 15 Aug 2007 04:19:53 -0700
Message-Id: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/MANIFEST#1614 edit
... //depot/perl/t/op/overload_integer.t#1 add
Differences ...
==== //depot/perl/MANIFEST#1614 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#1613~31722~ 2007-08-15 07:58:57.000000000 -0700
+++ perl/MANIFEST 2007-08-18 01:03:28.000000000 -0700
@@ -3740,6 +3740,7 @@
t/op/ord.t See if ord works
t/op/or.t See if || works in weird situations
t/op/override.t See if operator overriding works
+t/op/overload_integer.t See if overload::constant for
integer works after "use".
t/op/pack.t See if pack and unpack work
t/op/pat.t See if esoteric patterns work
t/op/pos.t See if pos works
==== //depot/perl/t/op/overload_integer.t#1 (text) ====
Index: perl/t/op/overload_integer.t
--- /dev/null 2007-03-19 09:41:43.516454971 -0700
+++ perl/t/op/overload_integer.t 2007-08-18 01:03:28.000000000 -0700
@@ -0,0 +1,55 @@
+#!./perl
+
+use strict;
+use warnings;
+
+print "1..2\n";
+
+package Foo;
+
+use overload;
+
+sub import
+{
+ overload::constant 'integer' => sub { return shift; };
+}
+
+package main;
+
+BEGIN { $INC{'Foo.pm'} = "/lib/Foo.pm" }
+
+use Foo;
+
+my $result = eval "5+6";
+
+my $error = $@;
+
+my $label = "No exception was thrown with an overload::constant 'integer'
inside an eval.";
+# TEST
+if ($error eq "")
+{
+ print "ok 1 - $label\n"
+}
+else
+{
+ print "not ok 1 - $label\n";
+ print "# Error is $error\n";
+}
+
+$label = "Correct solution";
+
+if (!defined($result))
+{
+ $result = "";
+}
+# TEST
+if ($result eq 11)
+{
+ print "ok 2 - $label\n";
+}
+else
+{
+ print "not ok 2 - $label\n";
+ print "# Result is $result\n";
+}
+
End of Patch.