Add failing test for Class::Accessor::Chained::Fast compatibility.
[gitmo/MooseX-Emulate-Class-Accessor-Fast.git] / t / class_accessor_chained_fast.t
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 }