use strict;
use warnings;
-use Test::More tests => 38 + 30 + 4 * 7;
+use Test::More tests => 41 + 30 + 4 * 7;
-use Scope::Upper qw/reap UP HERE/;
+use Scope::Upper qw<reap UP HERE>;
our ($x, $y);
is $y, 1, 'die - reap inside eval [ok - y]';
}
+{
+ my $z = 0;
+ my $reaped = 0;
+ eval {
+ reap { $reaped = 1 };
+ is $reaped, 0, 'died of natural death - not reaped yet';
+ my $res = 1 / $z;
+ };
+ my $err = $@;
+ is $reaped, 1, 'died of natural death - reaped';
+ like $err, qr/division by zero/, 'died of natural death - divided by zero';
+}
+
SKIP:
{
- skip 'Perl 5.10 required to test given/when' => 30 if $] < 5.010;
+ skip 'Perl 5.10 required to test given/when' => 30 if "$]" < 5.010;
eval <<' GIVEN_TEST_1';
+ BEGIN {
+ if ("$]" >= 5.017_011) {
+ require warnings;
+ warnings->unimport('experimental::smartmatch');
+ }
+ }
use feature 'switch';
local $y;
{
fail $@ if $@;
eval <<' GIVEN_TEST_2';
+ BEGIN {
+ if ("$]" >= 5.017_011) {
+ require warnings;
+ warnings->unimport('experimental::smartmatch');
+ }
+ }
use feature 'switch';
local $y;
{
fail $@ if $@;
eval <<' GIVEN_TEST_3';
+ BEGIN {
+ if ("$]" >= 5.017_011) {
+ require warnings;
+ warnings->unimport('experimental::smartmatch');
+ }
+ }
use feature 'switch';
local $y;
{
fail $@ if $@;
eval <<' GIVEN_TEST_4';
+ BEGIN {
+ if ("$]" >= 5.017_011) {
+ require warnings;
+ warnings->unimport('experimental::smartmatch');
+ }
+ }
use feature 'switch';
local $y;
{
fail $@ if $@;
eval <<' GIVEN_TEST_5';
+ BEGIN {
+ if ("$]" >= 5.017_011) {
+ require warnings;
+ warnings->unimport('experimental::smartmatch');
+ }
+ }
use feature 'switch';
local $y;
{