-#!/usr/bin/perl
-
-BEGIN { print "1..5\n"; }
+use strict;
+use warnings;
+BEGIN { $^P |= 0x210 }
+use Test::More tests => 10;
use Sub::Name;
my $x = subname foo => sub { (caller 0)[3] };
-print $x->() eq "main::foo" ? "ok 1\n" : "not ok 1\n";
+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;
-print $x->() eq "Blork:: Bar!" ? "ok 2\n" : "not ok 2\n";
+::is($x->(), "Blork:: Bar!");
subname "Foo::Bar::Baz", $x;
-print $x->() eq "Foo::Bar::Baz" ? "ok 3\n" : "not ok 3\n";
+::is($x->(), "Foo::Bar::Baz");
subname "subname (dynamic $_)", \&subname for 1 .. 3;
for (4 .. 5) {
- subname "Dynamic $_", $x;
- print $x->() eq "Blork::Dynamic $_" ? "ok $_\n" : "not ok $_\n";
+ 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);
}
-# $Id: smoke.t,v 1.4 2004/08/18 12:03:42 xmath Exp $
# vim: ft=perl