X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FAccessorGroups.pm;h=240b76dfca5774e923a3eaae2431b80f1671cbec;hb=8079caebba0d0a5bcf089c8e3f8d9c8e3564a27b;hp=eda9b809b888d80e80fec762c4519a62e9ba18e7;hpb=18026fd59c6721f71469134d1ef767755b265386;p=p5sagit%2FClass-Accessor-Grouped.git diff --git a/t/lib/AccessorGroups.pm b/t/lib/AccessorGroups.pm index eda9b80..240b76d 100644 --- a/t/lib/AccessorGroups.pm +++ b/t/lib/AccessorGroups.pm @@ -4,11 +4,30 @@ use warnings; use base 'Class::Accessor::Grouped'; __PACKAGE__->mk_group_accessors('simple', 'singlefield'); -__PACKAGE__->mk_group_accessors('simple', qw/multiple1 multiple2/); -__PACKAGE__->mk_group_accessors('simple', [qw/lr1name lr1;field/], [qw/lr2name lr2'field/]); +__PACKAGE__->mk_group_accessors('multiple', qw/multiple1 multiple2/); +__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/multiple listref/) { + no strict 'refs'; + *{"get_$_"} = __PACKAGE__->can('get_simple'); + *{"set_$_"} = __PACKAGE__->can('set_simple'); +}; + 1;