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