Commit | Line | Data |
---|---|---|
5a6e3389 | 1 | #!/usr/binperl -w |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | use Test::More tests => 6; | |
6 | ||
3f137d21 | 7 | { |
8 | package SomeClass; | |
3f137d21 | 9 | use Moose; |
10 | with 'MooseX::Emulate::Class::Accessor::Fast'; | |
5a6e3389 | 11 | |
3f137d21 | 12 | sub anaccessor { 'wibble' } |
13 | ||
3f137d21 | 14 | } |
15 | { | |
16 | package SubClass; | |
17 | use base qw/SomeClass/; | |
18 | ||
19 | sub anotherone { 'flibble' } | |
20 | __PACKAGE__->mk_accessors(qw/ anaccessor anotherone /); | |
21 | } | |
22 | ||
3f137d21 | 23 | # 1, 2 |
24 | my $someclass = SomeClass->new; | |
5a6e3389 | 25 | is($someclass->anaccessor, 'wibble'); |
3f137d21 | 26 | $someclass->anaccessor('fnord'); |
5a6e3389 | 27 | is($someclass->anaccessor, 'wibble'); |
3f137d21 | 28 | |
29 | # 3-6 | |
30 | my $subclass = SubClass->new; | |
5a6e3389 | 31 | ok( not defined $subclass->anaccessor ); |
3f137d21 | 32 | $subclass->anaccessor('fnord'); |
5a6e3389 | 33 | is($subclass->anaccessor, 'fnord'); |
34 | is($subclass->anotherone, 'flibble'); | |
3f137d21 | 35 | $subclass->anotherone('fnord'); |
5a6e3389 | 36 | is($subclass->anotherone, 'flibble'); |