Commit | Line | Data |
---|---|---|
d5cd0736 | 1 | use strict; |
2 | use warnings; | |
3 | ||
4 | use Test::More; | |
5 | ||
6 | BEGIN { | |
2f7f4153 | 7 | plan skip_all => "Sub::Util or Sub::Name required" |
8 | unless eval { require Sub::Util; defined &Sub::Util::set_subname; } | |
9 | || eval { require Sub::Name; Sub::Name->VERSION(0.08) }; | |
d1dd3c37 | 10 | plan tests => 3; |
d5cd0736 | 11 | } |
12 | ||
027bdf22 | 13 | use Try::Tiny; |
d5cd0736 | 14 | |
15 | my $name; | |
16 | try { | |
d1dd3c37 | 17 | $name = (caller(0))[3]; |
d5cd0736 | 18 | }; |
faa955ce | 19 | is $name, "main::try {...} ", "try name"; # note extra space |
d5cd0736 | 20 | |
21 | try { | |
d1dd3c37 | 22 | die "Boom"; |
d5cd0736 | 23 | } catch { |
d1dd3c37 | 24 | $name = (caller(0))[3]; |
d5cd0736 | 25 | }; |
26 | is $name, "main::catch {...} ", "catch name"; # note extra space | |
27 | ||
ada8284b | 28 | try { |
d1dd3c37 | 29 | die "Boom"; |
ada8284b | 30 | } catch { |
d1dd3c37 | 31 | # noop |
ada8284b | 32 | } finally { |
d1dd3c37 | 33 | $name = (caller(0))[3]; |
ada8284b | 34 | }; |
35 | is $name, "main::finally {...} ", "finally name"; # note extra space |