Use applied_attribute metarole with Moose 1.9900+
[gitmo/MooseX-SemiAffordanceAccessor.git] / t / role.t
CommitLineData
8a1964e9 1use strict;
2use warnings;
3
4use Test::More;
5
6use Moose ();
7
8plan 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
32can_ok( 'Class', 'thing' );
33ok( ! Class->can('set_thing') );
34can_ok( 'Class', '_private' );
35ok( ! Class->can('_set_private') );
36
37can_ok( 'Class', qw( foo set_foo _bar _set_bar ) );
38
39done_testing();