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