#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
BEGIN {
plan skip_all => "Sub::Name required"
unless eval { require Sub::Name; 1 };
plan tests => 3;
}
use Try::Tiny;
my $name;
try {
$name = (caller(0))[3];
};
is $name, "main::try {...} ", "try name"; # note extra space
try {
die "Boom";
} catch {
$name = (caller(0))[3];
};
is $name, "main::catch {...} ", "catch name"; # note extra space
try {
die "Boom";
} catch {
# noop
} finally {
$name = (caller(0))[3];
};
is $name, "main::finally {...} ", "finally name"; # note extra space