Commit | Line | Data |
d4e8b9b2 |
1 | use strict; |
2 | use warnings; |
3 | use Test::More tests => 1; |
4 | use MooseX::Adopt::Class::Accessor::Fast; |
5 | |
6 | { |
7 | package MyClass::Accessor::Chained::Fast; |
8 | use strict; |
9 | use base 'Class::Accessor::Fast'; |
10 | |
11 | sub make_accessor { |
12 | my($class, $field) = @_; |
13 | |
14 | return sub { |
15 | my $self = shift; |
16 | if(@_) { |
17 | $self->{$field} = (@_ == 1 ? $_[0] : [@_]); |
18 | return $self; |
19 | } |
20 | return $self->{$field}; |
21 | }; |
22 | } |
23 | } |
24 | |
25 | { |
26 | package TestPackage; |
27 | use base qw/MyClass::Accessor::Chained::Fast/; |
28 | __PACKAGE__->mk_accessors('foo'); |
29 | } |
30 | |
31 | my $i = bless {}, 'TestPackage'; |
32 | my $other_i = $i->foo('bar'); |
33 | TODO: { |
34 | local $TODO = 'ENOWORKEY'; |
35 | is($other_i, $i, 'Accessor returns instance as opposed to value.'); |
36 | } |