Depend on a recent Moose to be compatible with the new meta method api.
[gitmo/MooseX-Emulate-Class-Accessor-Fast.git] / t / no_replace_existing_symbols.t
1 #!/usr/binperl -w
2
3 use strict;
4 use warnings;
5 use Test::More tests => 6;
6
7 {
8   package SomeClass;
9   use Moose;
10   with 'MooseX::Emulate::Class::Accessor::Fast';
11
12   sub anaccessor { 'wibble' }
13
14 }
15 {
16   package SubClass;
17   use base qw/SomeClass/;
18
19   sub anotherone { 'flibble' }
20   __PACKAGE__->mk_accessors(qw/ anaccessor anotherone /);
21 }
22
23 # 1, 2
24 my $someclass = SomeClass->new;
25 is($someclass->anaccessor, 'wibble');
26 $someclass->anaccessor('fnord');
27 is($someclass->anaccessor, 'wibble');
28
29 # 3-6
30 my $subclass = SubClass->new;
31 ok( not defined $subclass->anaccessor );
32 $subclass->anaccessor('fnord');
33 is($subclass->anaccessor, 'fnord');
34 is($subclass->anotherone, 'flibble');
35 $subclass->anotherone('fnord');
36 is($subclass->anotherone, 'flibble');