X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FDecoratorLibrary.pm;h=cac870af7f97c33ba7cd0bf18c10a9980e1a0b7a;hb=a706b0f2457b28ca59151f4e91aa18267d0948d9;hp=ad3c6d235b3829ce5fbbb7b2a6ca352c6228e66e;hpb=54f5d4e61a7bf2a78d94eabfec4ce858e00cbf39;p=gitmo%2FMooseX-Types.git diff --git a/t/lib/DecoratorLibrary.pm b/t/lib/DecoratorLibrary.pm index ad3c6d2..cac870a 100644 --- a/t/lib/DecoratorLibrary.pm +++ b/t/lib/DecoratorLibrary.pm @@ -9,6 +9,8 @@ use MooseX::Types MyArrayRefBase MyArrayRefInt01 MyArrayRefInt02 + MyHashRefOfInts + MyHashRefOfStr )]; subtype MyArrayRefBase, @@ -29,12 +31,22 @@ coerce MyArrayRefInt01, subtype MyArrayRefInt02, as MyArrayRefBase[Int]; + +subtype MyHashRefOfInts, + as HashRef[Int]; + +subtype MyHashRefOfStr, + as HashRef[Str]; coerce MyArrayRefInt02, from Str, - via {[split(':',$_)]}; - from HashRef[Int], - via {[values(%$_)]}, - from HashRef[Str], - via {[ map { length $_ } values(%_) ]}; + via {[split(':',$_)]}, + from MyHashRefOfInts, + via {[sort values(%$_)]}, + from MyHashRefOfStr, + via {[ sort map { length $_ } values(%$_) ]}, + ### Can't do HashRef[ArrayRef] here, need to force precidence I guess??? + from HashRef([ArrayRef]), + via {[ sort map { @$_ } values(%$_)] }; + 1;