diff options
Diffstat (limited to 't/smoke.t')
-rw-r--r-- | t/smoke.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/t/smoke.t b/t/smoke.t new file mode 100644 index 0000000..763abcc --- /dev/null +++ b/t/smoke.t @@ -0,0 +1,44 @@ +use strict; +use warnings; + +BEGIN { $^P |= 0x210 } + +use Test::More 0.88; +use Sub::Name; + +my $x = subname foo => sub { (caller 0)[3] }; +my $line = __LINE__ - 1; +my $file = __FILE__; +my $anon = $DB::sub{"main::__ANON__[${file}:${line}]"}; + +is($x->(), "main::foo"); + +package Blork; + +use Sub::Name; + +subname " Bar!", $x; +::is($x->(), "Blork:: Bar!"); + +subname "Foo::Bar::Baz", $x; +::is($x->(), "Foo::Bar::Baz"); + +subname "subname (dynamic $_)", \&subname for 1 .. 3; + +for (4 .. 5) { + subname "Dynamic $_", $x; + ::is($x->(), "Blork::Dynamic $_"); +} + +::is($DB::sub{"main::foo"}, $anon); + +for (4 .. 5) { + ::is($DB::sub{"Blork::Dynamic $_"}, $anon); +} + +for ("Blork:: Bar!", "Foo::Bar::Baz") { + ::is($DB::sub{$_}, $anon); +} + +::done_testing; +# vim: ft=perl |