Subject: | [PATCH] Fix tests for 5.17.1 |
In Perl 5.17.1, &{""} no longer causes an error if no sub by that name exists. I used to happen
only because Perl was not tracking things properly, resulting in internal inconsistencies.
t/01_code.t was expecting an error.
This patch changes it to expect no error in newer Perls.
Subject: | open_xoxIwbry.txt |
diff -rup PerlIO-code-0.03/t/01_code.t PerlIO-code-0.03-yiNJ1G/t/01_code.t
--- PerlIO-code-0.03/t/01_code.t 2008-07-23 19:02:51.000000000 -0700
+++ PerlIO-code-0.03-yiNJ1G/t/01_code.t 2012-10-08 22:52:52.000000000 -0700
@@ -91,4 +91,11 @@ ok !binmode(*STDIN, ':Code'), 'no args';
eval{
binmode *STDIN, ':Code()';
};
-ok $@, 'unable to create empty named subroutine';
+if ($] >= 5.017001) {
+ no strict 'refs';
+ *{""} = sub { "empty\n" };
+ is <STDIN>, "empty\n", ':Code()';
+}
+else {
+ ok $@, 'unable to create empty named subroutine';
+}