diff options
Diffstat (limited to 't/native_traits/array_from_role.t')
-rw-r--r-- | t/native_traits/array_from_role.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/t/native_traits/array_from_role.t b/t/native_traits/array_from_role.t new file mode 100644 index 0000000..21d0a06 --- /dev/null +++ b/t/native_traits/array_from_role.t @@ -0,0 +1,44 @@ +use strict; +use warnings; + +use Test::More; +use Test::Fatal; + +{ + package Foo; + use Moose; + + has 'bar' => ( is => 'rw' ); + + package Stuffed::Role; + use Moose::Role; + + has 'options' => ( + traits => ['Array'], + is => 'ro', + isa => 'ArrayRef[Foo]', + ); + + package Bulkie::Role; + use Moose::Role; + + has 'stuff' => ( + traits => ['Array'], + is => 'ro', + isa => 'ArrayRef', + handles => { + get_stuff => 'get', + } + ); + + package Stuff; + use Moose; + + ::is( ::exception { with 'Stuffed::Role'; + }, undef, '... this should work correctly' ); + + ::is( ::exception { with 'Bulkie::Role'; + }, undef, '... this should work correctly' ); +} + +done_testing; |