Release 0.09008
[p5sagit/Class-Accessor-Grouped.git] / t / lib / AccessorGroups.pm
index 97bf7f1..240b76d 100644 (file)
@@ -3,22 +3,31 @@ use strict;
 use warnings;
 use base 'Class::Accessor::Grouped';
 
-__PACKAGE__->mk_group_accessors('single', 'singlefield');
+__PACKAGE__->mk_group_accessors('simple', 'singlefield');
 __PACKAGE__->mk_group_accessors('multiple', qw/multiple1 multiple2/);
-__PACKAGE__->mk_group_accessors('listref', [qw/lr1name lr1field/], [qw/lr2name lr2field/]);
+__PACKAGE__->mk_group_accessors('listref', [qw/lr1name lr1;field/], [qw/lr2name lr2'field/]);
+
+sub get_simple {
+  my $v = shift->SUPER::get_simple (@_);
+  $v =~ s/ Extra tackled on$// if $v;
+  $v;
+}
+
+sub set_simple {
+  my ($self, $f, $v) = @_;
+  $v .= ' Extra tackled on' if $f eq 'singlefield';
+  $self->SUPER::set_simple ($f, $v);
+  $_[2];
+}
 
 sub new {
     return bless {}, shift;
 };
 
-foreach (qw/single multiple listref/) {
+foreach (qw/multiple listref/) {
     no strict 'refs';
-
-    *{"get_$_"} = \&Class::Accessor::Grouped::get_simple;
-    *{"set_$_"} = \&Class::Accessor::Grouped::set_simple;
+    *{"get_$_"} = __PACKAGE__->can('get_simple');
+    *{"set_$_"} = __PACKAGE__->can('set_simple');
 };
 
-# make cleanup DESTROY happy
-sub get_warnings {};
-
 1;