subname stuff + tests
[p5sagit/Class-Accessor-Grouped.git] / t / accessors.t
index 10256d6..1703e12 100644 (file)
@@ -1,8 +1,9 @@
-use Test::More tests => 58;
+use Test::More tests => 62;
 use strict;
 use warnings;
 use lib 't/lib';
 use AccessorGroups;
+use Sub::Identify qw/sub_name sub_fullname/;;
 
 my $class = AccessorGroups->new;
 
@@ -24,6 +25,18 @@ my $class = AccessorGroups->new;
     *AccessorGroups::DESTROY = sub {};
 };
 
+{
+  my $class_name = ref $class;
+  my $name = 'multiple1';
+  my $alias = "_${name}_accessor";
+  my $accessor = $class->can($name);
+  my $alias_accessor = $class->can($alias);
+  isnt(sub_name($accessor), '__ANON__', 'accessor is named');
+  isnt(sub_name($alias_accessor), '__ANON__', 'alias is named');
+  is(sub_fullname($accessor), join('::',$class_name,$name), 'accessor FQ name');
+  is(sub_fullname($alias_accessor), join('::',$class_name,$alias), 'alias FQ name');
+}
+
 foreach (qw/singlefield multiple1 multiple2/) {
     my $name = $_;
     my $alias = "_${name}_accessor";