Commit | Line | Data |
8a1964e9 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
5 | |
6 | use Moose (); |
7 | |
8 | plan skip_all => 'This test requires Moose 1.9900+' |
9 | unless $Moose::VERSION ge '1.9900'; |
10 | |
11 | { |
12 | package Role::SAA; |
13 | |
14 | use Moose::Role; |
15 | use MooseX::SemiAffordanceAccessor; |
16 | |
17 | has 'foo' => ( is => 'rw' ); |
18 | has '_bar' => ( is => 'rw' ); |
19 | } |
20 | |
21 | { |
22 | package Class; |
23 | |
24 | use Moose; |
25 | |
26 | with 'Role::SAA'; |
27 | |
28 | has 'thing' => ( is => 'rw' ); |
29 | has '_private' => ( is => 'rw' ); |
30 | } |
31 | |
32 | can_ok( 'Class', 'thing' ); |
33 | ok( ! Class->can('set_thing') ); |
34 | can_ok( 'Class', '_private' ); |
35 | ok( ! Class->can('_set_private') ); |
36 | |
37 | can_ok( 'Class', qw( foo set_foo _bar _set_bar ) ); |
38 | |
39 | done_testing(); |