1 ## Test case inspired by Stevan Little
4 package MooseX::Types::Test::Recursion;
8 use Moose::Util::TypeConstraints;
9 use MooseX::Types::Moose qw(Str HashRef);
10 use MooseX::Types -declare => [qw(
14 ## Define a recursive subtype and Cthulhu save us.
15 subtype RecursiveHashRef()
16 => as HashRef[Str() | RecursiveHashRef()];
20 package MooseX::Types::Test::Recursion::TestRunner;
23 use Test::More 'no_plan';
24 use Data::Dump qw/dump/;
26 MooseX::Types::Test::Recursion->import(':all');
30 ok RecursiveHashRef->check({key=>"value"})
31 => 'properly validated {key=>"value"}';
33 ok RecursiveHashRef->check({key=>{subkey=>"value"}})
34 => 'properly validated {key=>{subkey=>"value"}}';
37 warn dump RecursiveHashRef();