summaryrefslogtreecommitdiff
path: root/t/smoke.t
diff options
context:
space:
mode:
Diffstat (limited to 't/smoke.t')
-rw-r--r--t/smoke.t44
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